ZIZOU docs
Everything you need to run, extend, and understand Zizou — the AI coding agent that lives in your terminal.
File Structure & Layering
The codebase strictly adheres to a layered architecture. Higher layers may import from lower layers — but never vice-versa.
- ui/ (
App.tsx,Chat.tsx,ApiKeySetup.tsx) — The React/Ink terminal interface. Responsible only for rendering state and handling user input. - agent/ (
run-turn.ts) — The core AI loop. UsesstreamTextto communicate with the model, execute tools, and yield events back to the UI. - provider/ (
resolve-model.ts) — Instantiates the correctLanguageModelvia@ai-sdk/anthropicor@ai-sdk/openai, dynamically injecting API keys. - tools/ (
read-file.ts,edit-file.ts,run-bash.ts) — Pure functions that define the agent's capabilities. Return deterministic JSON payloads and never throw.runBashrelies on an injectedConfirmFnto ask the user for permission. - config/ (
api-keys.ts) — The base layer handling persistent local storage usingconf.