gi-dellav/zerostack
Lightweight coding agent written in Rust, optimized for memory footprint and performance
What it solves
Coding agents help developers automate tasks like editing files, running commands, and exploring code. Many are heavy on resources and hard to control. zerostack aims to be minimal and fast, while giving users fine-grained control over what the agent can do.
How it works
It is a terminal-based agent written in Rust that connects to multiple LLM providers (OpenRouter, OpenAI, Anthropic, Gemini, Ollama, and custom). It exposes standard coding tools, a permission system with five modes, session saving/loading, and a terminal UI. It supports subagents for parallel exploration, optional persistent Markdown memory, hooks, an advisor model, MCP servers, sandboxing, and prompt chaining across brainstorm → plan → code → review.
Who it's for
Developers who want a fast, resource-light coding agent with strong permission controls and the ability to customize prompts and workflows. It is also useful for those who want to orchestrate multiple agents (via the companion multistack tool) or integrate with editors through ACP.
Highlights
- Written in Rust: ~30k lines of core code, 26MB binary, low RAM/CPU footprint.
- Multi-provider support including local models via Ollama.
- Five permission modes with per-tool patterns, session allowlists, and doom-loop detection.
- Subagents for parallel codebase exploration.
- Persistent Markdown memory across sessions (gated feature).
- Hooks compatible with Claude Code's settings.json.
- Optional sandboxing with bubblewrap or zerobox, including network isolation.
- Prompt chaining across phases and status signals over Unix sockets.
Related
- Dispatch
- Project
- Project
- Project
- Project