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
CLI

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
All reasons and checks

pacifio/cersei

Install

Manual install

git clone https://github.com/pacifio/cersei.git && cd cersei && cargo install --path crates/abstract-cli

Requires Rust. The binary is called abstract.

Access and checks

How we review

Broad 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 opus

Limitations

  • 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.

CLI tools

A Python terminal coding agent in the manner of Claude Code: reads the repository, edits files, runs commands, with memory, sub-agents and MCP

CLIBroad access1KRepository stars

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

MCP serverExtended access905Repository stars
Official

agnix lints CLAUDE.md, AGENTS.md, SKILL.md, hooks and MCP configs with 702 rules, autofix and editor extensions for VS Code and JetBrains

CLIMinimal access457Repository stars

The author's personal set: shared agent rules and dozens of skills for GitHub, the browser, macOS, messaging and releases, plus a sync script

SkillBroad access7.4KRepository stars

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

CLIBroad access1.1KRepository stars

A vetted skill registry with a CLI that installs into twenty-plus agents and an MCP server for on-demand skill lookup

SkillExtended access7.1KRepository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialRepository starsMain difference
Cersei (this entry)no461
OpenCodeno220,388a ready TypeScript application instead of a Rust library set for building your own agent
Crushno28,756Charm's terminal agent with LSP and mid-session model switching
gooseno55,558Block'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.

README badge

Report a problem

Foxx AICersei
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.