{"slug": "show-hn-zerostack-an-open-coding-agent-optimized-for-memory-footprint", "title": "Show HN: Zerostack, an open coding agent optimized for memory footprint", "summary": "A new open-source coding agent called Zerostack, written in Rust, has been released with a memory footprint of approximately 16 MB average and 24 MB peak, compared to roughly 700 MB for JavaScript-based agents. The tool supports multiple AI providers, includes a terminal UI, permission system, and session management, and is available for installation via Cargo or pre-built binaries on GitHub.", "body_md": "## Overview\n\nMinimal coding agent written in Rust — ~16k LoC, 26MB binary, ~16 MB RAM (avg), ~24 MB (peak). Peak RAM ~24 MB vs ~700 MB for JS-based agents. CPU: 0.0% idle, ~1.5% under load.\n\n**Multi-provider**— OpenRouter, OpenAI, Anthropic, Gemini, Ollama, plus custom providers** Standard tools**— all tools exposed to coding agents (as described by opencode)** Permission system**— 5 modes, per-tool patterns, session allowlists** Terminal UI**— crossterm, markdown rendering, mouse support, scrollback** Prompts system**— 10 built-in prompts, switchable at runtime** Session management**— save/load/resume, auto-compaction** MCP support**— connect external tool servers** Ralph Wiggum loops**— iterative coding for long-horizon tasks** Git Worktrees**— branch-per-task workflow** ACP support**(gated) — editor integration (Zed, etc.)** Persistent memory**(gated) — plain-Markdown memory across sessions** Subagents**— parallel, fast codebase exploration** ARCHITECTURE.md**— shared core knowledge for all agents on the same codebase** Sandbox mode**— bubblewrap / zerobox isolation** Exa search**— WebFetch & WebSearch tools\n\n[zerostack-general room](https://app.element.io/#/room/#zerostack-general:matrix.org)on Matrix.\n\n## Prompts\n\nBuilt-in system prompts that change the agent's behavior and tone — switch at runtime with `/prompt`\n\n:\n\n| Prompt | Description |\n|---|---|\n`code` | Coding mode with full file & bash access, TDD workflow |\n`plan` | Planning-only — explores and produces a plan without code |\n`review` | Code review for correctness, design, testing, and impact |\n`debug` | Finds root cause before proposing fixes |\n`ask` | Read-only mode — no writes or bash |\n`brainstorm` | Design-only — explores ideas without code |\n`frontend-design` | Distinctive, production-grade UI |\n`review-security` | Finds exploitable vulnerabilities |\n`simplify` | Refines for clarity without behavior change |\n`write-prompt` | Creates and optimizes agent prompts |\n\nCustom prompts can be created by placing markdown files in `$XDG_CONFIG_HOME/zerostack/prompts/`\n\n.\n\n## Permissions\n\n| Mode | CLI | Behavior |\n|---|---|---|\nrestrictive | `-R` | Ask for every operation |\nreadonly | `--read-only` | Read/grep/list only. Deny writes, edits, bash |\nguarded | `--guarded` | Allow reads. Ask for writes, edits, bash |\nstandard | (default) | Allow path tools within CWD. Safe bash auto-allowed |\nyolo | `--yolo` | Allow everything, prompt for destructive commands |\n\nPer-tool granular glob patterns, session allowlists, and doom-loop detection prevent runaway agents. The `--dangerously-skip-permissions`\n\nflag bypasses all checks.\n\n## Commands\n\n**/model**— Switch model\n\n**/thinking**— Set thinking level\n\n**/clear**— Clear conversation\n\n**/session**— List/save/load sessions\n\n**/loop**— Schedule recurring prompts\n\n**/prompt**— List or change system prompt\n\n**/mode**— Set permission mode\n\n**/worktree**— Create git worktree and move into it\n\n**/wt-merge**— Merge worktree branch, push, clean up, return\n\n**/wt-exit**— Return to main repo without merging\n\n**/help**— Show all commands\n\n## Quick Start\n\n```\n# Set your API key (OpenRouter is default)\nexport OPENROUTER_API_KEY=\"[api_key]\"\n\n# Interactive session (default prompt: code)\nzerostack\n\n# Monochrome TUI\nzerostack --no-color\n\n# One-shot mode\nzerostack -p \"Explain this project\"\n\n# Continue last session\nzerostack -c\n\n# Explicit provider/model\nzerostack --provider openrouter --model deepseek/deepseek-v4-flash\n```\n\n## Installation\n\nRequires [Cargo](https://rustup.rs/) and git:\n\n```\n# Default — MCP, loop, git-worktree, and subagents\ncargo install zerostack\n\n# With ACP (Agent Communication Protocol) support for editor integration\ncargo install zerostack --features acp\n\n# With Memory support\ncargo install zerostack --features memory\n\n# With experimental multi-threaded subagents\ncargo install zerostack --features multithread\n```\n\nPre-built binaries are also available on [GitHub Releases](https://github.com/gi-dellav/zerostack/releases).\n\nOnce installed, run `/prompt autoconfig`\n\ninside zerostack to configure the tool interactively.\n\n### Optional: Sandbox\n\n```\n# Debian/Ubuntu\napt install bubblewrap\n\n# Fedora\ndnf install bubblewrap\n\n# Arch\npacman -S bubblewrap\n```\n\n## Parallel Agent\n\nRun multiple zerostack agents on the same repository simultaneously without manual git worktree management.\n\n```\nzerostack --parallel\n```\n\nEach parallel agent operates in a temporary git worktree. Changes are merged and the worktree is removed when the agent exits.\n\n## ACP (Agent Communication Protocol)\n\nWith the `acp`\n\nfeature, zerostack acts as an ACP Agent server, allowing editors like **Zed** to connect to it as a coding agent backend:\n\n```\n# Stdio mode (editor spawns as subprocess)\nzerostack --acp\n\n# TCP mode\nzerostack --acp --acp-host 0.0.0.0 --acp-port 7243\n```\n\n## Providers\n\n**OpenRouter**(default)** OpenAI-compatible**(vLLM, LiteLLM, etc.)** Anthropic****Gemini****Ollama**\n\nCustom providers can be configured with any base URL and API key environment variable.\n\n## Sessions\n\nSessions are saved to `$XDG_DATA_HOME/zerostack/sessions/`\n\n. Use `-c`\n\nto resume the most recent session, `-r`\n\nto browse and select one, or `--session <id>`\n\nto load a specific session.", "url": "https://wpnews.pro/news/show-hn-zerostack-an-open-coding-agent-optimized-for-memory-footprint", "canonical_source": "https://gi-dellav.github.io/zerostack/", "published_at": "2026-06-04 16:33:07+00:00", "updated_at": "2026-06-04 16:51:32.824046+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-infrastructure", "large-language-models"], "entities": ["Zerostack", "Rust", "OpenRouter", "OpenAI", "Anthropic", "Gemini", "Ollama", "Matrix"], "alternates": {"html": "https://wpnews.pro/news/show-hn-zerostack-an-open-coding-agent-optimized-for-memory-footprint", "markdown": "https://wpnews.pro/news/show-hn-zerostack-an-open-coding-agent-optimized-for-memory-footprint.md", "text": "https://wpnews.pro/news/show-hn-zerostack-an-open-coding-agent-optimized-for-memory-footprint.txt", "jsonld": "https://wpnews.pro/news/show-hn-zerostack-an-open-coding-agent-optimized-for-memory-footprint.jsonld"}}