npm package: @frontic/cli
Description: Frontic CLI for managing your storefront projects
Author: frontstack GmbH
Latest version: 0.0.0-canary-20260408124730

# Frontic CLI

Frontic CLI is a command line interface for using Frontic in local development.

It allows you to login to you Frontic account, push local changes to a project or generate the API client for a project and environment.

## Usage

```
$ npx @frontic/cli

  Frontic CLI

  Options:
      -V, --version       output the version number
      -h, --help          display help for command

  Commands:
      login               Connect the CLI with you Frontic account
      logout              Disconnect the CLI from your Frontic account
      info                Show information about current project and user
      project [options]   Set current project
      generate [options]  Generate a JavaScript client for your project
      skills [options]    Download skills for your project into a location of your choice

      help [command]      display help for command
```

## Commands

### `frontic login`

Login to your Frontic account. You will be redirected to the Frontic website to authenticate and authorize the CLI. After authorizing, you can select a project to work with using `frontic project`.

### `frontic info`

Provides information about the currently logged in user, their organization and currently selected project.

### `frontic project`

Select current working project or display all projects

```bash
# List and select a project
frontic project

# Select a project by ID
frontic project -p a2dc8820-2e52-427a-8d58-0256f28d3db9
```

### `frontic generate`

Generate a JavaScript client for your specific project and environment.

Before running this command, make sure a current working project is selected, using `frontic project`

### `frontic skills`

Download skills for your project into a location of your choice.

Before running this command, make sure a current working project is selected, using `frontic project`

```bash
# Download skills to the .claude/skills directory
frontic skills

# Download skills to a custom directory
frontic skills -o .custom/skills
```

The skills will be downloaded to the specified directory.

## Development

Configs are set in the `config.ts` file. You can also control the configs using environment variables.

### Configure

By default, the CLI uses the public Frontic API instance. You can either override the URL directly

```bash
FRONTIC_CLI_API_ROOT=[your-url] pnpm frontic login
```

or enable dev mode (which uses the local Frontic API instance)

```bash
FRONTIC_CLI_DEV_MODE=1 pnpm frontic login
```

### Run

There are two options to run the CLI in development mode:

1. Building the app and running the built file (recommended)

   ```bash
   $ pnpm frontic [command] // e.g. pnpm frontic info
   ```

1. Run using [tsx](https://tsx.is/) (this will compile the typescript files on the fly)

   ```bash
   $ pnpm start [command] // e.g. pnpm start info
   ```

### Build

The application is built using [pkgroll](https://github.com/privatenumber/pkgroll). The CLI is exported as an ES module and compiled to a single file in the `dist` folder.

Build the file using `pnpm build` and run it using `node dist/frontic.mjs`.