Skip to main content

Compare

Bernstein vs every CLI coding agent

Bernstein ships 42 CLI-coding-agent adapters. Pick the agent you already know to see the per-pair feature matrix, install commands, and verifiable facts.

Built on 2026-05-18 from data/adapters-meta.json. 33 of 42 adapters carry an install command in the bernstein adapter source; 5 have an operator-curated narrative on top of the data.

Directory

AdapterCategoryInstall commandPage
AIChatCLI adapterscargo install aichatBernstein vs AIChat
AiderCLI adapterspip install aider-chatBernstein vs Aider
AmpCLI adaptersbrew install ampBernstein vs Amp
Auggie (Augment Code)CLI adaptersnpm install -g @augmentcode/auggieBernstein vs Auggie (Augment Code)
Autohand CodeCLI adaptersnpm install -g autohand-cliBernstein vs Autohand Code
Charm CrushCLI adaptersnpm install -g @charmland/crushBernstein vs Charm Crush
Claude CodeClaude family (Anthropic)curl -fsSL https://claude.ai/install.sh | sh (or brew install --cask claude-code)Bernstein vs Claude Code
ClineCLI adaptersNot recordedBernstein vs Cline
CLM (sovereign LLM)OpenAI familyNot recordedBernstein vs CLM (sovereign LLM)
Cloudflare Agents SDKCloud SDK adaptersNot recordedBernstein vs Cloudflare Agents SDK
CodebuffCLI adaptersnpm install -g codebuffBernstein vs Codebuff
OpenAI CodexOpenAI familynpm i -g @openai/codex (or brew install --cask codex)Bernstein vs OpenAI Codex
Sourcegraph CodyCLI adaptersnpm install -g @sourcegraph/codyBernstein vs Sourcegraph Cody
Composio Agent OrchestratorCLI adaptersnpm install -g @aoagents/aoBernstein vs Composio Agent Orchestrator
Continue.devOpen-source agentsnpm install -g @continuedev/cli (binary is cn)Bernstein vs Continue.dev
GitHub Copilot CLICLI adaptersnpm install -g @github/copilotBernstein vs GitHub Copilot CLI
Cursor AgentClaude family (Anthropic)curl https://cursor.com/install -fsS | bash (macOS/Linux/WSL)Bernstein vs Cursor Agent
Devin for TerminalOpenAI familycurl -fsSL https://cli.devin.ai/install.sh | bashBernstein vs Devin for Terminal
Droid (Factory AI)CLI adapterscurl -fsSL https://app.factory.ai/cli | shBernstein vs Droid (Factory AI)
ForgeCLI adapterscurl -fsSL https://forgecode.dev/cli | shBernstein vs Forge
Google Gemini CLIGoogle familynpm install -g @google/gemini-cliBernstein vs Google Gemini CLI
GooseOpen-source agentsbrew install --cask block-goose (macOS), orBernstein vs Goose
gptmeCLI adapterspipx install gptmeBernstein vs gptme
Hermes Agent (Nous Research)CLI adapterscurl -fsSLBernstein vs Hermes Agent (Nous Research)
Terraform / Pulumi (IaC)CLI adaptersNot recordedBernstein vs Terraform / Pulumi (IaC)
JetBrains JunieClaude family (Anthropic)curl -fsSL https://junie.jetbrains.com/install.sh | bashBernstein vs JetBrains Junie
Kilo (Stackblitz)CLI adaptersNot recordedBernstein vs Kilo (Stackblitz)
KimiCLI adaptersuv tool install kimi-cliBernstein vs Kimi
KiroCLI adaptersNot recordedBernstein vs Kiro
Letta CodeCLI adaptersnpm install -g @letta-ai/letta-codeBernstein vs Letta Code
Mistral VibeCLI adapterscurl -LsSf https://mistral.ai/vibe/install.sh | bashBernstein vs Mistral Vibe
Ollama (local LLM)OpenAI familycurl -fsSL https://ollama.com/install.sh | sh)Bernstein vs Ollama (local LLM)
Open InterpreterCLI adapterspip install open-interpreterBernstein vs Open Interpreter
OpenAI Agents SDKOpenAI familypip install bernstein[openai]Bernstein vs OpenAI Agents SDK
OpenCodeCLI adapterscurl -fsSL https://opencode.ai/install | bash (fastest),Bernstein vs OpenCode
OpenHandsCLI adaptersuv tool install openhands --python 3.12Bernstein vs OpenHands
Pi (pi-coding-agent)CLI adaptersnpm install -g @mariozechner/pi-coding-agentBernstein vs Pi (pi-coding-agent)
PlandexCLI adapterscurl -sL https://plandex.ai/install.sh | bashBernstein vs Plandex
AWS Q DeveloperCLI adaptersNot recordedBernstein vs AWS Q Developer
Qwen CLIOpenAI familyNot recordedBernstein vs Qwen CLI
RalphexCLI adaptersgo install github.com/umputun/ralphex/cmd/ralphex@latestBernstein vs Ralphex
Atlassian Rovo DevCLI adaptersNot recordedBernstein vs Atlassian Rovo Dev

Hand-curated comparison pages

The longer-form, operator-written comparisons live at /vs. Those pages cover 5 adapters in more depth (multi-paragraph when-to-pick analysis, exact upstream version verified against a date). The /compare directory above is the full programmatic surface.

Orchestrator-vs-orchestrator benchmark

This directory compares Bernstein to single coding agents. For a multi-agent-orchestrator-vs-multi-agent-orchestrator eval (Bernstein against Claude Squad, Conductor, Composio agent-orchestrator, OpenCode), see the 10-task reproducible suite at /benchmarks/cli-agent-orchestrators. The honesty gate there forces Bernstein to lose at least two tasks; current run shows Bernstein winning 6 of 10.

FAQ

Five operator-written Q&A blocks for the comparison directory. Mirrored in FAQPage structured data.

How many comparison pages does the directory carry in 2026?

42 pages. One per adapter that Bernstein ships in production, excluding the generic and mock testing adapters. Every page is built from the bernstein adapter source under src/bernstein/adapters/<slug>.py; 5 pages carry operator-written when-to-choose paragraphs on top of the data; the rest render the feature matrix from the adapter docstring and the overlay file.

What does "Install command" in the table show?

The install command listed in the adapter source under src/bernstein/adapters/<slug>.py. 33 of 42 adapters carry one; the rest point at a vendor homepage where install is documented but does not fit a single one-liner. If a row is out-of-date with the upstream install path, the adapter source is the place to fix it.

Why is there a /vs directory and a /compare directory?

/vs is the hand-curated surface; pages there are operator-written and verified against a date. /compare is the full programmatic surface; every adapter in the source registry appears. Two URL spaces, no canonical clash: each page sets its own canonical URL. If you are looking at a curated adapter, the /compare page links to the /vs page in its "hand-curated comparison" section.

Is the data refreshed automatically?

Partially. scripts/gen-compare-data.mjs rebuilds data/adapters-meta.json at prebuild time from the local bernstein checkout. Field values that come from the adapter docstring (install command, summary, category) refresh every deploy. Fields that come from the operator-curated overlay (when-to-choose paragraphs, verified-on date) refresh only when the operator edits the overlay file.

Can I cite a row from one of these pages?

Yes. Each page links the bernstein adapter source file and the upstream repo at the top so a citation can point at a verifiable primary source. The page itself is Apache-2.0 (same as the bernstein project) and the build date is exposed in the page header.