A minimal, composable building block for LLM interactions. Chibi provides persistent context, a plugin/hook system, and communication primitives — everything else lives in plugins.
Think of it as a Lego brick: tiny, light, but infinitely combinable. Multiple chibis with different models, temperatures, and plugins can work together. The plugin system is deliberately permissive, exposing the full lifecycle via hooks to enable experimentation with coordination patterns, workflows, and agentic behaviors.
Early development — not yet stable.
git clone --recurse-submodules https://github.com/emesal/chibi.git
cd chibi && cargo install --path .Create ~/.chibi/config.toml:
api_key = "your-openrouter-api-key"
model = "anthropic/claude-sonnet-4"
context_window_limit = 200000
warn_threshold_percent = 80.0(This step will be automated in a future release.)
Copy the example prompts:
mkdir -p ~/.chibi/prompts && cp examples/prompts/*.md ~/.chibi/prompts/chibi What is Rust? # Simple prompt
cat error.log | chibi "explain this" # Pipe content
chibi -c project "Review this function" # Named context
chibi -v "Read my Cargo.toml" # Verbose (show tool use)Contexts persist across invocations. Switch with -c <name>, list with -L.
- Getting Started — Installation and first steps
- Configuration — Full config reference
- Contexts — Managing conversations
- Plugins — Creating tools for the LLM
- Hooks — Lifecycle event system
- Agentic Workflows — Autonomous processing
- CLI Reference — All flags and commands
- Images — Terminal image rendering
- Transcript Format — JSONL format spec
Example plugins: chibi-plugins
ISC
Make meow, not rawr

