Quickstart
There are two distinct steps that are easy to confuse:
- No key needed. Build, run the doctor diagnostic, and inspect the harness. This works without any provider credentials.
- Key needed. Start a real model-backed conversation. This requires a provider credential and — before any mutating work — an execution-isolation decision.
This page keeps them separate on purpose.
Step 1 — no-key checkpoint
Section titled “Step 1 — no-key checkpoint”From the repository root after a source build:
node .\babel-cli\dist\index.js doctornode .\babel-cli\dist\index.js setup --jsondoctor prints environment findings (runtime, providers, Docker). It may
legitimately report missing prerequisites — that is diagnostic information,
not an install failure. You can also preview the instruction stack the router
would select for a task class, with no model call:
pwsh -File .\tools\resolve-local-stack.ps1 ` -TaskCategory backend ` -Project example_saas_backend ` -Model codex ` -PipelineMode deep ` -Format jsonThis “inspect the harness” path is useful, but it is not the product — the product is talking to it in step 2.
Step 2 — provider-backed conversation
Section titled “Step 2 — provider-backed conversation”Configure a provider key in the private CLI profile or your shell environment, which takes precedence. Desktop users can use Providers and models instead; see Desktop setup. Never commit a populated credential file.
New-Item -ItemType Directory -Force "$env:USERPROFILE\.babel\config"if (-not (Test-Path "$env:USERPROFILE\.babel\config\.env")) { Copy-Item .\babel-cli\.env.example "$env:USERPROFILE\.babel\config\.env"}# edit the private profile .env to set only the providers you useCopy the blank example only when creating a new profile; keep an existing
credential file. On macOS/Linux, use ~/.babel/config/.env with permissions
600. The old checkout-local path requires explicit
BABEL_LEGACY_CLI_ENV=1 compatibility opt-in.
Then start the interactive TUI:
node .\babel-cli\dist\index.js interactiveand talk to it:
> Explain this repository> Review the changes you just madeBefore asking Babel to change files, read
Execution profiles: the default
safe_repo profile fails closed without Docker isolation. There is no
host-fallback shortcut that removes that boundary.
