Overview
The Ensemble CLI is the unified command-line interface for the entire Ensemble ecosystem. Instead of installing and managing separate CLIs for each tool, you get a single entry point that orchestrates everything.Why a Unified CLI?
The Ensemble CLI provides a single interface for all tools in the ecosystem:- Single installation - One package to install and update
- Consistent interface - Same patterns across all tools
- Automatic discovery - CLI suggests related tools as you work
- Simplified CI/CD - One binary in your pipelines
Quick Start
Getting Started
Verify It Works
Checking for Updates (Landscape View)
The--version flag scans your directory tree and shows all discovered Ensemble projects in a tree view:
- Scans your workspace - Recursively finds all Ensemble projects (up to 3 levels deep)
- Tree view display - Shows each project with its packages and update status
- Checks npm registry - Fetches latest versions for all packages in parallel
- Detects package manager - Shows npm, pnpm, yarn, or bun per project
Upgrade Command
Manage updates across all your Ensemble projects with the interactiveupgrade command:
- Multi-project scanning - Finds all Conductor and Edgit projects in your workspace
- Interactive selection - Choose which projects to upgrade
- Batch operations - Update multiple projects at once
- Package manager aware - Uses the correct package manager per project
Upgrade Options
| Option | Description |
|---|---|
--all | Upgrade all projects without prompting |
--yes, -y | Auto-confirm upgrade prompts |
--dry-run | Show what would be upgraded without making changes |
--global | Upgrade the globally installed ensemble CLI |
Usage Examples
Command Structure
The CLI follows a simple pattern:Available Tools
| Tool | Description | Example |
|---|---|---|
conductor | Edge orchestration framework | ensemble conductor init my-app |
edgit | Component versioning | ensemble edgit tag create v1.0.0 |
cloud | Ensemble Cloud management | ensemble cloud deploy |
chamber | Secrets management | ensemble chamber set API_KEY |
wrangler | Cloudflare Workers CLI (explicit passthrough) | ensemble wrangler deploy |
tail | Stream live logs (shortcut for wrangler tail) | ensemble tail |
Conductor Commands
| Command | Description | Example |
|---|---|---|
conductor start | Start dev server with smart defaults | ensemble conductor start |
conductor stop | Stop development server | ensemble conductor stop |
conductor restart | Restart development server | ensemble conductor restart |
conductor info | Show project info | ensemble conductor info |
conductor init | Create a new project | ensemble conductor init my-app |
Global Commands
| Command | Description | Example |
|---|---|---|
info | Show project info (interactive) | ensemble info |
status | Alias for info | ensemble status |
upgrade | Update Ensemble packages across projects | ensemble upgrade |
configure | Configure AI providers | ensemble configure ai |
Info Command
View project information across all Ensemble products:ensemble info:
The interactive menu lets you choose which product to view:
Command Naming:
info is the official command. status is an alias that works identically. For Edgit specifically, ensemble edgit status passes through to git status since Edgit is git-native.Conductor Commands
Create and manage Conductor projects:Init Options
| Option | Description |
|---|---|
--skip-auth | Skip Wrangler authentication check |
--skip-secrets | Skip AI provider setup |
--provider <name> | Pre-select AI provider (anthropic, openai, cloudflare) |
--template <name> | Use a starter template |
Start/Stop Options
Thestart command runs in foreground by default (you see logs in real-time):
| Option | Description |
|---|---|
--port, -p <n> | Server port (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 |
stop command (for background servers):
| Option | Description |
|---|---|
--force, -f | Force stop with SIGKILL |
Edgit Commands
Version and deploy components:Since Edgit is git-native,
ensemble edgit status passes through to git status. Use ensemble edgit info for Edgit project information.Cloud Commands
Manage Ensemble Cloud resources:Configure Command
Configure AI providers, authentication, and other settings after project creation:AI Provider Setup
Theconfigure ai command helps you set up AI providers:
| Provider | Description | API Key Required |
|---|---|---|
cloudflare | Cloudflare Workers AI | No |
anthropic | Claude models (recommended) | Yes |
openai | GPT-4 and GPT-3.5 models | Yes |
groq | Fast inference with Llama and Mixtral | Yes |
Cloudflare Authentication
Theconfigure auth command helps you log in to Cloudflare:
How It Works
The configure command:- Stores secrets securely - Uses
wrangler secret putto store API keys - Updates wrangler.toml - Enables the
[ai]binding automatically - Works anytime - Run after initial project creation to add AI support
- Shared with init - Same wizards used during
ensemble conductor init
Wrangler Commands
Useensemble wrangler to run any Wrangler command:
Why explicit wrangler? Previously, unknown commands were automatically passed to Wrangler. This caused confusing errors when you mistyped a command (e.g.,
ensemble start instead of ensemble conductor start). Now, Wrangler commands require the explicit ensemble wrangler prefix, and typos show helpful suggestions.Cross-Tool Discovery
The CLI intelligently suggests related tools as you work:Environment Variables
| Variable | Description |
|---|---|
ENSEMBLE_LOG_LEVEL | Logging verbosity (debug, info, warn, error) |
CLOUDFLARE_API_TOKEN | Cloudflare authentication |
ANTHROPIC_API_KEY | Anthropic API key |
OPENAI_API_KEY | OpenAI API key |
CI/CD Integration
For CI/CD pipelines, usenpx to run commands without global installation:
GitHub Actions
GitLab CI
Direct Product Init for CI/CD
For automated pipelines, you can also use the product-specific init commands with the-y flag to skip interactive prompts:
Troubleshooting
Command not found after installation
Command not found after installation
Ensure your global npm/pnpm bin directory is in your PATH:
Permission errors or installation issues
Permission errors or installation issues
Use Or use a Node version manager like nvm or fnm for global installs:
npx to avoid global installation entirely:Wrangler commands not working
Wrangler commands not working
The Ensemble CLI passes through to Wrangler. Ensure you’re authenticated:

