Cersei CLI
A Rust SDK for coding agents and the ready-made abstract CLI: REPL, 34 tools, MCP, graph memory, Anthropic and OpenAI, JSON output for CI
- 461 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent runs shell commands, reads and writes project files and goes to the web on your behalf
- The --no-permissions flag removes confirmation prompts for dangerous actions
- Anthropic or OpenAI keys pay for model calls, and project context goes to the chosen provider
Install
Manual install
git clone https://github.com/pacifio/cersei.git && cd cersei && cargo install --path crates/abstract-cliRequires Rust. The binary is called abstract.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent runs shell commands, reads and writes project files and goes to the web on your behalf
- The --no-permissions flag removes confirmation prompts for dangerous actions
- Anthropic or OpenAI keys pay for model calls, and project context goes to the chosen provider
This is third-party code. Review the repository files before installing.
What it does
Cersei is a set of Rust crates for building coding agents, and the ready agent built from them is called abstract. It starts with the abstract command as an interactive REPL, takes a one-off task in quotes, resumes the last session with --resume, and --model and --max pick the model and reasoning depth. The --no-permissions --json mode is for CI: it turns off confirmations and prints events as NDJSON. The agent has 34 built-in tools for files, shell, web, planning, orchestration and schedules. It works with Anthropic and OpenAI and, through an OpenAI-compatible address, with Ollama, Azure and vLLM. It supports MCP servers, 12 slash commands (including /help, /commit, /review, /memory, /model and /diff), Claude Code-compatible JSONL sessions and skills in both formats: from .claude/commands/ and from .claude/skills/. Memory defaults to a Grafeo graph. Settings live in TOML: global in ~/.abstract/config.toml, per project in .abstract/config.toml. For people building their own agents, Cersei hands over the same blocks as a library: providers, tools with a permission policy, subagent orchestration, hooks, memory and an MCP client. You assemble an agent through Agent::builder() and describe custom tools with #[derive(Tool)].
Who it is for. For Rust developers and anyone who wants a small terminal coding agent with a choice of provider, and for those embedding an agent into their own product.
Good fit when
- You want a terminal coding agent that runs as a single binary with no separate runtime
- You need a one-off CI run: abstract --no-permissions --json prints NDJSON events
- You want to switch between Anthropic, OpenAI and a local Ollama model without changing the agent
- You have Claude Code sessions and skills and want to open them in another agent
- You are writing your own agent in Rust and want ready providers, tools and subagent orchestration
Not a fit when
- The machine has no Rust toolchain: the README shows installation only through cargo install from source
- You want a ready IDE extension: abstract works in the terminal
- Confirmations must stay on: the --no-permissions flag removes the guard against dangerous commands
- You need providers beyond Anthropic, OpenAI and OpenAI-compatible addresses: only those are built in
Example request
abstract "fix the failing tests in src/" --model opusLimitations
- Installation is from source: you need Rust and cargo install --path crates/abstract-cli in a cloned repository. The README does not promise ready binaries.
- An Anthropic or OpenAI key is required, or a local OpenAI-compatible server such as Ollama.
- The --no-permissions mode turns off confirmation prompts for dangerous actions, so use it only in an isolated environment.
- Most of the README covers the library and benchmarks, and the CLI's own documentation is shorter.
- MIT license.
How to disable. Remove the binary with cargo uninstall abstract-cli and delete the ~/.abstract settings folder and .abstract folders in projects. Session files are JSONL and can be deleted by hand.
FAQ
How do I install the Cersei Abstract CLI?
Clone the repository and run cargo install --path crates/abstract-cli. The binary is called abstract: run it with no arguments for a REPL or with a quoted task for a one-off run.
How do I run abstract in CI?
Use abstract --no-permissions --json. The mode turns off confirmations and prints events as NDJSON, which a pipeline reads easily. Run it only in an isolated environment.
Which models and providers does it support?
Anthropic with an API key or OAuth, and OpenAI. Through an OpenAI-compatible address Ollama, Azure and vLLM work. --model selects the model and --max the reasoning depth.
How does Cersei differ from OpenCode?
Cersei is written in Rust and ships as a set of libraries plus the ready abstract CLI, while OpenCode is written in TypeScript and installs as a ready application. With Cersei you can assemble your own agent through Agent::builder().
Does abstract read Claude Code skills and sessions?
Skills load in both formats: from .claude/commands/ and from .claude/skills/. Sessions are saved as JSONL compatible with Claude Code.
Discussion
No questions or reviews yet.
Related
CLI toolsA Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP
CodeGraph (Rust)
codegraph-rust
A Rust code graph for agents: four MCP tools show what an edit will touch, how the architecture fits together and where the fragile spots are
agnix lints CLAUDE.md, AGENTS.md, SKILL.md, hooks and MCP configs with 702 rules, autofix and editor extensions for VS Code and JetBrains
The author's personal set: shared agent rules and dozens of skills for GitHub, the browser, macOS, messaging and releases, plus a sync script
A coding agent for the terminal and desktop: it does not count "done" without tests or a diff and works with DeepSeek, GLM, Kimi, Claude, Codex and Gemini
Tech Leads Club Agent Skills
Agent Skills
A vetted skill registry with a CLI that installs into twenty-plus agents and an MCP server for on-demand skill lookup
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Repository stars | Main difference |
|---|---|---|---|
| Cersei (this entry) | no | 461 | |
| OpenCode | no | 220,388 | a ready TypeScript application instead of a Rust library set for building your own agent |
| Crush | no | 28,756 | Charm's terminal agent with LSP and mid-session model switching |
| goose | no | 55,558 | Block's Rust agent with a desktop app, CLI and API and over 70 MCP extensions |
README in short
The README opens with a five-line agent and explains that Cersei offers every building block of a coding agent as composable functions. It then gives a comparison table with Claude Code and OpenCode, the abstract CLI with launch examples and a feature list, the Cargo.toml dependency, the crate architecture and sections on providers, tools, subagents, three-tier memory, skills, events, MCP and OAuth. The page closes with benchmarks, examples, tests and extension points.