A coding agent for coding agents. Designed to let background agents delegate straightforward work to local models (or other providers).
- ARCHITECTURE.md — system architecture and entity management
- AGENTS.md — instructions for agents building Nanna
- TESTING.md — testing strategy and guidelines
- CONTRIBUTING.md — contributor workflow
- CACHIX_SETUP.md — binary-cache setup (maintainers)
Bootstraps Podman, pulls the prebuilt harness + ollama containers, brings up the
Nanna pod, and pulls the Gemma 4 model. The script prints a clear notification
before each step that requires sudo.
curl -fsSL https://raw.githubusercontent.com/DominicBurkart/nanna-coder/main/scripts/install.sh | bashUseful flags (pass after bash -s -- for the curl form):
| Flag | Purpose |
|---|---|
--skip-model-pull |
Bring up the pod without pulling the multi-GB Gemma 4 model. |
--no-start |
Install + pull images, but don't create the pod. |
--model NAME |
Pull a different Ollama model (default gemma4:e4b). |
--registry URL |
Use a different container registry. |
--yes |
Skip the sudo confirmation prompts (for unattended installs). |
After install:
podman pod ps # see the running pod
podman logs -f harness-service # tail harness logs
curl http://localhost:11434/api/tags # ollama APIPrerequisites: Nix with flakes enabled, optionally Cachix for faster builds.
git clone https://github.com/DominicBurkart/nanna-coder.git
cd nanna-coder
# Enter development environment
nix develop
# Build the project
nix buildThe agent requires a running Ollama instance with a model installed:
# Install Ollama (see https://ollama.ai/download)
curl -fsSL https://ollama.ai/install.sh | sh
# Pull the default model
ollama pull qwen3:0.6b
# Start the Ollama server (must be running for agent commands and evals)
ollama serve# Enter development environment
nix develop
# Run the agent with tools enabled (recommended)
cargo run --bin harness -- agent --prompt "Your task description" --tools
# Run with a specific model and verbose output
cargo run --bin harness -- agent --prompt "Your task" --model qwen3:0.6b --tools --verbosenix develop --command cargo build --release --bin harness && claude mcp add nanna -- "$(pwd)/target/release/harness" mcp-serve --model gemma4:e4bSee TESTING.md for the full test topology and commands. Evals require Ollama and a pulled model (default gemma4:e4b, override via NANNA_EVAL_MODEL):
nix develop --command cargo nextest run \
--workspace --features eval-runner \
--run-ignored ignored-only \
-E 'test(eval_runner)' \
--test-threads=1Run nix run .#setup-cache for read-only access to pre-built artifacts. See CACHIX_SETUP.md for details and maintainer push setup.