Skip to content

[Resource]: Bernstein — deterministic orchestrator for 18 CLI coding agents #1653

Description

@chernistry

Display Name

Bernstein

Category

Tooling

Sub-Category

Tooling: Orchestrators

Primary Link

https://github.com/chernistry/bernstein

Author Name

chernistry

Author Link

https://alexchernysh.com

License

Apache-2.0

Other License

No response

Description

Deterministic multi-agent orchestrator: routes tasks to Claude Code and 17+ CLI agents (Codex, Cursor, Aider, Gemini CLI, OpenAI Agents SDK, etc) for parallel subtasks. Python scheduler, LLM-free coordination. Each agent uses a git worktree; janitor checks (tests/lints/files) pre-merge. Runs are HMAC-chained, replayable from the audit log. MCP server mode (stdio/HTTP/SSE) links Bernstein to Claude Code. Apache 2.0, ~11K PyPI downloads/mo, 147+ stars. Install: pipx install bernstein.

Validate Claims

Clean-venv reproducibility:

python3.12 -m venv bs && source bs/bin/activate
pip install bernstein
bernstein --version                          # 1.8.11+
bernstein mcp --transport http --port 8053   # starts SSE MCP server, use from Claude Code

Claude Code adapter docs: https://bernstein.readthedocs.io/en/latest/ADAPTER_GUIDE/
Full release notes: https://github.com/chernistry/bernstein/releases

Network behavior: calls only to providers whose CLI agents you install (Anthropic, OpenAI, Google) via those agents' own HTTP clients. Bernstein itself makes no external requests, no telemetry. Cloudflare cloud runtime is opt-in (bernstein cloud login). Does NOT require --dangerously-skip-permissions. Auth off by default; v1 threat model is single-developer-on-laptop.

Specific Task(s)

Ship three related code changes in parallel across one repo, using Bernstein to route work between Claude Code (primary) and other agents (e.g., Codex for tests, Aider for docs). Each agent runs in an isolated git worktree; quality gates verify outputs before merge; every agent action is logged to an HMAC-chained audit trail.

Specific Prompt(s)

After pipx install bernstein && cd your-flask-project && bernstein init:

bernstein -g "Add a /health endpoint to this FastAPI app, write pytest integration tests covering it, and document it in docs/API.md. Use Claude Code for the endpoint, Codex for the tests, and Aider for the docs. Verify each agent's output passes ruff + pytest before merging to main."

What you should see: three parallel worktrees spawn (one per agent), each handling one subtask; the janitor runs lints and tests on each worktree before merge; a final audit log lands in .sdd/audit/ showing every action with HMAC signatures.

Additional Comments

Bernstein is a true orchestrator for Claude Code, not a wrapper — it spawns Claude Code as a subprocess in its own git worktree, captures its outputs, runs a verification janitor against quality gates, and merges only what passes concrete signals (tests, lints, file existence). The HMAC-chained audit trail means a Claude Code session run through Bernstein is bit-identically replayable days later, which matters for anyone using Claude Code in a compliance-sensitive or production-critical path. Claude Code is the first-class adapter — the other 17 exist so Bernstein can route subtasks where Claude Code isn't the right tool (e.g., local Ollama for offline passes).

Recommendation Checklist

  • I have checked that this resource hasn't already been submitted
  • It has been over one week since the first public commit to the repo I am recommending
  • All provided links are working and publicly accessible
  • I do NOT have any other open issues in this repository
  • I am primarily composed of human-y stuff and not electrical circuits

Metadata

Metadata

Assignees

No one assigned

    Labels

    resource-submissionThis Issue submits a new resource to the listvalidation-passedResource has passed initial validation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions