Zag banner
vtemian vtemian

Zag

Development community

Description

The composable agent development environment. Built in Zig. Modal. Extensible. Everything above the primitives is a plugin.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

zag

A composable agent development environment. Built in Zig.

Zag is an AI coding agent where the **window system is the platform**. Splits, focus, and buffers are primitives. Everything above that — from the session tree to how agent responses render to which system prompt a model gets — is a plugin.

Think **Neovim's architecture, applied to AI agents**.


Quickstart

# Build (Zig 0.16.0)
zig build

# Run — first boot launches an onboarding wizard
zig build run

# Run tests
zig build test

That's it. No Docker, no Python venvs, no npm install.


What makes it different

Neovim-style modal TUI Binary-tree pane splits, vim h/j/k/l focus, per-pane scrolling, dirty-rectangle ANSI diff renderer. Floating popups too.
Per-pane streaming agents Every pane runs its own agent thread. Different panes, different models, same session. Cancel a turn with Ctrl+C without freezing the UI.
8 providers, 3 wire formats Anthropic Messages, OpenAI Chat Completions, OpenAI Responses API (ChatGPT/Codex). Anthropic, OpenAI, OpenRouter, Groq, Moonshot, Ollama — plus OAuth sign-in for Claude Max/Pro and ChatGPT.
Live /model switching Swap provider or model mid-session without losing context. Persists the pick to config.lua.
Lua plugins + async runtime Custom tools, hooks, keymaps, slash commands, providers, and prompt packs. Blocking I/O (HTTP, subprocess, filesystem, LLM) runs on a worker pool and resumes your coroutine on the main thread.
Mid-turn steering Type while the agent is running — your message is queued as a system-reminder interrupt instead of dangling at the tail.
Automatic context compaction Predictive cascade (Lua structure