zarlcode + zkit
A terminal coding agent built on a Go-native agent toolkit: streaming runner, tools, guardrails, compaction, providers, MCP, and sandboxing.
Install zarlcode
go install github.com/zarldev/zarlmono/zarlcode/cmd@v0.1.4Or import the toolkit: go get github.com/zarldev/zarlmono/zkit@v0.1.3

zarlcode is the product surface: a terminal-native coding agent that reads, edits, runs commands, searches the web, connects MCP servers, and spawns focused sub-agents while keeping sessions local and resumable.
zkit is the Go toolkit underneath. It gives you the pieces to build your own agents without adopting a framework runtime: a streaming loop, tool dispatch, provider adapters, guardrails, compaction, verified completion, and small foundation packages.
The same packages power the TUI, the local assistant, and the SWE-bench eval harness. That is the design constraint: interfaces stay small because more than one real consumer has to use them.
Start here
zarlcode
Install the terminal coding agent, configure a provider, and run your first workspace task.
TUI tourInterface guide
Timeline, cockpit, working set, file viewer, plan mode, model picker, and keybindings.
Build with GoUse zkit
Wire a provider, a tool registry, and the runner in about thirty lines of Go.
Core zkit packages
Runner
Streaming loop with tool calls, steering, compaction hooks, and per-call timeouts.
zkit/aiTools
Registry, two-method Tool interface, reflection schemas, JSON repair, MCP.
zkit/agentGuardrails
Middleware around tool dispatch: schema repair, shell policy, repetition detection, verifier feedback.
zkit/agentCompaction
History-shrinking strategies behind one interface, with budget-driven triggers.
zkit/aiProviders
OpenAI, Anthropic, Gemini, DeepSeek, llama.cpp, Ollama, and OAuth backends behind one contract.
zkit/agentVerified completion
Re-drive attempts against real-world state — tests passing, files present — not the transcript.
Built with zkit
- Try zarlcode — install and configure the coding agent.
- Use zkit — build a minimal agent loop in Go.
- Architecture — see how the packages layer.