Skip to main content

CLI Commands Reference

Complete reference for the Conductor CLI.

Getting Started

No installation needed - use npx to run the CLI:

Usage

All Conductor commands are accessed through the unified Ensemble CLI:
For CI/automated environments, use the -y flag to skip all interactive prompts:

Global Commands

init

Initialize a new Conductor project.
Options: Setup Types: Examples:
What init does:
  1. Creates project directory structure
  2. Installs dependencies (@ensemble-edge/conductor, etc.)
  3. Copies project templates (for full and starter modes)
  4. Configures dev scripts for your environment
  5. Provides next steps
Need to configure AI later? If you skipped AI setup during init, you can run:
See Configure Command for details.

configure

Configure AI providers, authentication, and other settings after project creation.
Subcommands: Options: Examples:
What configure ai does:
  1. Prompts for AI provider selection
  2. Prompts for API key (except Cloudflare AI)
  3. Stores secret via wrangler secret put
  4. Enables [ai] binding in wrangler.toml
What configure auth does:
  1. Checks if already logged in to Cloudflare
  2. Opens browser for OAuth login if needed
Supported Providers:
The configure command requires a wrangler.toml file. Run it from your project directory after init. The same wizards are used during ensemble conductor init to ensure consistency.

info

Show comprehensive project info including configuration, components, triggers, Cloudflare services, and deployment health.
Options:
Command Naming: info is the official command. status is an alias that works identically.
Example Output (Full):
Example Output (Compact):
Example Output (JSON):

dev

Start local development server.
Options:
  • --port, -p <port> - Port number (default: 8787, auto-finds if busy)
  • --background, -b - Run in background (detached)
  • --no-auto-host - Disable auto --ip 0.0.0.0 in containers
  • --persist-to <dir> - Persist D1/KV data to directory
Example:
This wraps npx wrangler dev. For dev containers, add --ip 0.0.0.0:

deploy

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

test

Run tests.
Options:
  • --watch - Watch mode
  • --coverage - Generate coverage report
  • --verbose - Verbose output
Example:

build

Execute all build triggers in the project. Build triggers run at build time to generate static assets like documentation, OpenAPI specs, or pre-rendered pages.
Options:
  • --env <environment> - Target environment (default: production)
  • --output <path> - Override output directory
  • --verbose - Verbose output
Example:
What it does:
  • Finds all ensembles with type: build triggers
  • Executes them sequentially
  • Outputs generated files to configured directories
  • Reports build status and timing
Common Use Cases:
  • pnpm run build before deployment (CI/CD)
  • Generate OpenAPI documentation
  • Pre-render static pages
  • Build search indexes

run

Execute a CLI trigger by command name. CLI triggers are custom commands defined in ensemble YAML files.
Arguments: Options: Options are defined in the ensemble’s CLI trigger configuration. They can be:
  • --<option-name> <value> - For string/number options
  • --<flag-name> - For boolean flags
  • Multiple values supported for array options
Example:
Defining CLI Commands:
Listing Available Commands:

Validate Command

validate

Validate ensemble and agent configuration files (YAML or TypeScript).
Arguments: Options: Supported File Types:
  • .yaml, .yml - YAML ensemble and agent definitions
  • .ts - TypeScript agents and ensembles
TypeScript Agent Validation: The validate command checks TypeScript agent files for:
  • Default export - Must export a default handler function
  • Function signature - Should accept AgentExecutionContext
  • Return type - Should return a value or Promise
Example output for common issues:
Examples:

Bundle & Import Commands

bundle

Export an ensemble or agent with all its dependencies into a portable archive.
Arguments: Options: Examples:

import

Import a bundled ensemble or agent into the current project.
Arguments: Options: Examples:

Ensemble Commands

ensemble:list

List all ensembles.

ensemble:run

Execute an ensemble locally.
Example:

Agent Commands

agent:list

List all agents.

agent:run

Execute an agent locally.
Example:

agent:validate

Validate agent YAML.

Component Commands

component:list

List all components.

component:create

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

Edgit Commands

edgit:init

Initialize Edgit in project.

edgit:info

Show Edgit project info.
edgit status passes through to git status since Edgit is git-native. Use info for Edgit project information.

edgit:commit

Commit changes.

edgit:tag

Create version tag.
Example:

edgit:log

Show commit history.

edgit:diff

Show changes.

Config Commands

config:get

Get configuration value.
Example:

config:set

Set configuration value.
Example:

config:list

List all configuration.

API Key Commands

Manage API keys for authentication. Keys are stored in Cloudflare KV.

keys generate

Generate a new API key with optional scoped permissions.
Options: Examples:

keys list

List all API keys.
Options:

keys revoke

Revoke an API key.
Options:

keys info

Show information about an API key.
Options:

keys rotate

Rotate an API key (generates new key, keeps metadata).
Options:

Secrets Commands

secret:set

Set a secret.
If value is omitted, prompts securely. Example:

secret:list

List secret names (not values).

secret:delete

Delete a secret.

Database Commands

db:create

Create D1 database.

db:migrate

Run database migrations.

db:query

Execute SQL query.
Example:

Storage Commands

storage:create

Create KV namespace or R2 bucket.
Types: kv, r2, vectorize Example:

storage:list

List storage resources.

Logs Commands

logs

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

Info Commands

info

Show project information.

version

Show CLI version and scan for all Ensemble projects.
The version command now scans your workspace and displays:
  • Tree view of all discovered Ensemble projects (Conductor, Edgit)
  • Installed packages and their versions per project
  • Latest available versions from npm
  • Update status indicators (✓ up-to-date, ⬆ update available)
See Checking for Updates for the full output format.

upgrade

Interactively upgrade Ensemble packages across all discovered projects.
Options: See Upgrade Command for detailed examples.

help

Show help.

Environment Management

env:list

List environments.

env:create

Create environment.

env:switch

Switch active environment.

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:

Next Steps

Unified CLI

Full Ensemble CLI documentation

YAML Schema

YAML configuration reference

TypeScript API

TypeScript API reference

Your First Project

Get started