zarlmono

2 min read Original article ↗

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

Or import the toolkit: go get github.com/zarldev/zarlmono/zkit@v0.1.3

zarlcode in action

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

Use the agent

zarlcode

Install the terminal coding agent, configure a provider, and run your first workspace task.

TUI tour

Interface guide

Timeline, cockpit, working set, file viewer, plan mode, model picker, and keybindings.

Build with Go

Use zkit

Wire a provider, a tool registry, and the runner in about thirty lines of Go.

Core zkit packages

zkit/agent

Runner

Streaming loop with tool calls, steering, compaction hooks, and per-call timeouts.

zkit/ai

Tools

Registry, two-method Tool interface, reflection schemas, JSON repair, MCP.

zkit/agent

Guardrails

Middleware around tool dispatch: schema repair, shell policy, repetition detection, verifier feedback.

zkit/agent

Compaction

History-shrinking strategies behind one interface, with budget-driven triggers.

zkit/ai

Providers

OpenAI, Anthropic, Gemini, DeepSeek, llama.cpp, Ollama, and OAuth backends behind one contract.

zkit/agent

Verified completion

Re-drive attempts against real-world state — tests passing, files present — not the transcript.

Built with zkit