Open-source coding agent for real repositories — with inspectable prompts, permissions, and verification.
Babel runs locally in your terminal. Chat is the default. Plan and Deep are additional modes when you want more ceremony. The harness underneath keeps instructions, tools, and evidence visible instead of burying them in an opaque prompt.
Pre-1.0. The public checkout builds and typechecks. Model choice, provider setup, sandboxing, and repo-specific execution policy still matter. Ordinary coding-loop reliability is still under active qualification — see project status.
Illustrative transcript (not a live capture) of a chat turn in the Babel TUI:
BABEL · READY · CHAT · MyProject · deepseek
──────────────────────────────────────────────────
You
Fix the failing webhook retry test and make sure
duplicate deliveries can't double-process payments.
Babel
I'll inspect the webhook handler and its tests first.
▸ Read src/webhooks/stripe.ts
▸ Read tests/webhooks/stripe.test.ts
▸ Search idempotency handling
Found it: retries re-run the handler without a delivery key...
▸ Edited src/webhooks/stripe.ts
▸ Edited tests/webhooks/stripe.test.ts
▸ npm test -- stripe
✓ 18 passed
Completed · 2 files changed · verified
There is no published npm package for this CLI today. Run from a clone.
Requirements: Node.js 22.5+, a clone of this repo, and (for model sessions) a provider key.
git clone https://github.com/gthgomez/Babel.git
cd Babel
npm --prefix .\babel-cli ci
npm --prefix .\babel-cli run build
node .\babel-cli\dist\index.js doctor# macOS / Linux
git clone https://github.com/gthgomez/Babel.git
cd Babel
npm --prefix ./babel-cli ci && npm --prefix ./babel-cli run build
node ./babel-cli/dist/index.js doctor- Copy
babel-cli/.env.example→babel-cli/.envand set only the providers you use. - For ordinary host coding on repos you own, set
$env:BABEL_EXECUTION_PROFILE = 'dev_local'(PowerShell) orexport BABEL_EXECUTION_PROFILE=dev_local. The defaultsafe_repoprofile expects Docker and fail-closes without it. - Start the TUI:
node .\babel-cli\dist\index.js interactivenode ./babel-cli/dist/index.js interactiveThen talk to it:
> Explain this repository
> Fix the failing auth test
> Review the changes you just made
Full first-success path (profiles, one-shots, recovery): START_HERE.md.
Operational command reference: docs/CLI_QUICKSTART.md.
| Mode | Use it when |
|---|---|
| Chat | Daily work — ask, inspect, edit with permission, verify |
| Plan | You want a reviewable proposal before anything changes |
| Deep | Higher-ceremony path for riskier work (maturing; not a reliability upgrade by itself) |
Also available as CLI entrypoints: headless chat for scripts/CI, checkpoints / undo, cost and diagnostics, and a read-only MCP control-plane surface. Entrypoint availability is not a reliability claim.
node .\babel-cli\dist\index.js "Fix the failing webhook retry test"
node .\babel-cli\dist\index.js plan "Split the auth module safely"
node .\babel-cli\dist\index.js deep "Harden the migration path and verify it"
node .\babel-cli\dist\index.js chat --headless "Summarize the failing test"Most coding agents expose a model and a tool loop. Babel also exposes the harness:
- Permissions and execution profiles — host vs isolated defaults you can reason about
- Inspectable Prompt OS — modular instructions you can preview and validate before a model runs
- Policy integrity — verify drift across the registered policy and gate text
- Evidence — checkpoints, artifacts, diagnostics, recovery tools such as
undo
You should be able to use Babel before you understand Babel's architecture. Deeper design lives under docs/architecture.
Optional: validate the public tree and preview an instruction stack without a model key:
pwsh -File .\tools\validate-public-release.ps1
pwsh -File .\tools\resolve-local-stack.ps1 -TaskCategory backend -Project example_saas_backend -Model codex -PipelineMode deep -Format json| Maturity | Pre-1.0 public source |
| Install | Clone + build (npm package not published yet) |
| Present in the public tree | CLI entrypoints (chat / plan / deep), catalog/stack validation tooling, typed contracts, read-only MCP inspection, release/scrub/secret-scan gates |
| Still under active qualification | Ordinary coding-loop reliability |
| Depends on your environment | Provider credentials, Docker vs dev_local, repo policy |
Honest detail: docs/STATUS.md. Product direction: docs/VISION.md.
We do not claim: universal verifiers, unrestricted autonomous workers, mutating subagent teams, sandbox parity across every host, market parity with other agents, or that everyday coding-loop reliability is already settled.
| Doc | Purpose |
|---|---|
| START_HERE.md | First success, then optional inspect path |
| docs/STATUS.md | Availability, narrow verification, limits |
| docs/CLI_QUICKSTART.md | Commands: chat, plan, deep, doctor, MCP |
| docs/CHAT_MODE.md | Default daily runtime in depth |
| docs/VISION.md | Principles and public scope |
| docs/architecture/ARCHITECTURE.md | System shape (when you want depth) |
| CONTRIBUTING.md | How to contribute |
| SECURITY.md | Vulnerability reporting |
- Bugs / features: GitHub Issues
- Changes: see CONTRIBUTING.md — highest-value work improves the daily chat loop, plan/deep UX, examples, and public gates
- Keep credentials, private paths, and operator-only notes out of public docs and fixtures
Apache License 2.0. Use it, fork it, and build on it.
Historical tagged releases that shipped under MIT remain MIT for those snapshots. This tree is Apache-2.0 going forward.
Full text: LICENSE