Overview
I built Zace to learn how coding agents work under the hood: planning, tool calling, context management and safety checks. It’s a proof of concept for learning, not a tool meant for everyday use.
It’s a command-line agent built with Bun and TypeScript. It works with any model, and splits each task into planning and execution so that runs are deterministic.
The runtime
- 01Developer intent
- 02Planner
- 03Executor
- 04Validated tools
A context and memory pipeline keeps multi-step execution state. It threads session history and tool outputs through agent loops, and caches structured summaries to improve code understanding.
Safety
- Zod-validated tool schemas, so malformed tool calls are rejected before they run.
- Permission-aware safeguards around actions that change the workspace.
- Controlled side-effect boundaries, keeping autonomous execution auditable.