Skip to main content

CLI Commands Reference

Complete reference for the Conductor CLI.

Installation

npm install -g @ensemble/conductor

Global Commands

init

Initialize a new Conductor project.
conductor init [project-name]
Options:
  • --template <template> - Use a template (basic, api, rag, chatbot)
  • --typescript - Use TypeScript
  • --no-git - Skip git initialization
Example:
conductor init my-project --template rag

dev

Start local development server.
conductor dev
Options:
  • --port <port> - Port number (default: 3000)
  • --host <host> - Host address (default: localhost)
Example:
conductor dev --port 8080

deploy

Deploy to Cloudflare Workers.
conductor deploy [environment]
Options:
  • --env <environment> - Environment name (default: production)
  • --dry-run - Show what would be deployed
Example:
conductor deploy --env staging

test

Run tests.
conductor test [pattern]
Options:
  • --watch - Watch mode
  • --coverage - Generate coverage report
  • --verbose - Verbose output
Example:
conductor test --coverage

Ensemble Commands

ensemble:list

List all ensembles.
conductor ensemble:list

ensemble:run

Execute an ensemble locally.
conductor ensemble:run <ensemble> [input]
Example:
conductor ensemble:run greet-user '{"name": "Alice"}'

ensemble:validate

Validate ensemble YAML.
conductor ensemble:validate <file>
Example:
conductor ensemble:validate ensembles/greet.yaml

Agent Commands

agent:list

List all agents.
conductor agent:list

agent:run

Execute an agent locally.
conductor agent:run <agent> [input]
Example:
conductor agent:run company-enricher '{"company_name": "Anthropic"}'

agent:validate

Validate agent YAML.
conductor agent:validate <file>

Component Commands

component:list

List all components.
conductor component:list

component:create

Create a new component.
conductor component:create <name> --type <type>
Options:
  • --type <type> - Component type (prompt, template, schema, config)
  • --version <version> - Initial version (default: v1.0.0)
Example:
conductor component:create user-prompt --type prompt

Edgit Commands

edgit:init

Initialize Edgit in project.
conductor edgit:init

edgit:status

Show Edgit status.
conductor edgit:status

edgit:commit

Commit changes.
conductor edgit:commit -m "message"

edgit:tag

Create version tag.
conductor edgit:tag <version>
Example:
conductor edgit:tag v1.2.0

edgit:log

Show commit history.
conductor edgit:log [--limit <n>]

edgit:diff

Show changes.
conductor edgit:diff [commit1] [commit2]

Config Commands

config:get

Get configuration value.
conductor config:get <key>
Example:
conductor config:get apiKey

config:set

Set configuration value.
conductor config:set <key> <value>
Example:
conductor config:set apiKey sk-...

config:list

List all configuration.
conductor config:list

Secrets Commands

secret:set

Set a secret.
conductor secret:set <name> [value]
If value is omitted, prompts securely. Example:
conductor secret:set OPENAI_API_KEY

secret:list

List secret names (not values).
conductor secret:list

secret:delete

Delete a secret.
conductor secret:delete <name>

Database Commands

db:create

Create D1 database.
conductor db:create <name>

db:migrate

Run database migrations.
conductor db:migrate [--env <environment>]

db:query

Execute SQL query.
conductor db:query <sql> [--env <environment>]
Example:
conductor db:query "SELECT * FROM users LIMIT 10"

Storage Commands

storage:create

Create KV namespace or R2 bucket.
conductor storage:create <type> <name>
Types: kv, r2, vectorize Example:
conductor storage:create kv CACHE

storage:list

List storage resources.
conductor storage:list <type>

Logs Commands

logs

Tail production logs.
conductor logs [--env <environment>] [--follow]
Options:
  • --env <environment> - Environment name
  • --follow - Follow logs in real-time
  • --filter <pattern> - Filter by pattern
Example:
conductor logs --follow --filter error

Info Commands

info

Show project information.
conductor info

version

Show CLI version.
conductor version

help

Show help.
conductor help [command]

Environment Management

env:list

List environments.
conductor env:list

env:create

Create environment.
conductor env:create <name>

env:switch

Switch active environment.
conductor env:switch <name>

Common Options

Most commands support these options:
  • --help - Show help
  • --verbose - Verbose output
  • --quiet - Quiet output
  • --env <environment> - Target environment
  • --config <path> - Config file path

Configuration File

Commands read from conductor.config.js:
export default {
  name: 'my-project',
  environments: {
    production: {
      accountId: 'abc123...',
      bindings: {
        KV: 'namespace-id',
        DB: 'database-id'
      }
    },
    staging: {
      accountId: 'abc123...',
      bindings: {
        KV: 'staging-namespace-id',
        DB: 'staging-database-id'
      }
    }
  }
};

Next Steps