Skip to main content

ZettCode pixel robot with a warm heart

ZettCode

Your terminal. Your coding partner.

A focused coding agent that reads your project, shows its work, and keeps you in control.

English · 简体中文
Get started · Documentation · Commands

ZettCode showing a task, thinking, file reads, a code edit, passing tests, and a Markdown answer

Illustrative conversation, rendered with ZettCode’s actual terminal widgets.

Get running

You need Python 3.10+, a UTF-8 terminal, and an OpenAI-compatible API (or Anthropic's Messages API). Works on macOS, Linux, and Windows (use Windows Terminal).

1. Install

uv tool install zettcode
# or: pip install zettcode

2. Connect a model

Create ~/.zettcode/config.toml (and its parent directory) with one model:

[[models]]
model = "deepseek-v4-pro"             # the model id sent to DeepSeek
display_model = "DeepSeek Pro"        # the name shown in ZettCode
token = "sk-..."                      # replace with your DeepSeek API key
base_url = "https://api.deepseek.com"  # DeepSeek's OpenAI-compatible API root
context_window = 1000000               # verify against the endpoint's current limits
multimodal = false                    # this model accepts text, not images

Get a key from the DeepSeek platform, not from the chat website. Alternatively, omit token and set OPENAI_API_KEY to that key. Add more [[models]] entries to switch with /model; the first is selected at startup. See the configuration reference for complete examples, defaults, and troubleshooting.

3. Start a task

cd /path/to/project
zettcode
# or: zettcode --workspace /path/to/project

Describe a change and press Enter. Type / for commands, @ to reference a skill, and Ctrl-C to stop a request. Ctrl-D with an empty composer exits and prints the command to resume your session.

Built for the way you work

See every step Reasoning, answers, and tool calls stream as readable rows — not raw JSON.
Keep the decision Review shell commands before they run. When the agent needs your input, choose an option or type an answer.
Keep moving Send a steering message during a reply. Use /btw for a side question that stays out of later context.
Come back later /resume restores a conversation; /export saves a readable HTML record.
Understand the context Monitor token usage and caching, inspect /context, and compact when needed.
Bring your tools Use project AGENTS.md instructions, skills, MCP servers, and Python plugins.

The palette follows your terminal’s background, or your own theme.toml. Select and copy text, scroll through answers, and paste images when your model supports them.

Find your next step

The user guide is available in English and 简体中文.

First time Everyday use Configuration & extensions
Getting started Keys & mouse Configuration
The interface Commands Models & context
Problems & questions Sessions Project instructions
Skills & MCP · Plugins

Development

uv sync                         # install dependencies
make check                      # Ruff, mypy, and tests
make hooks                      # enforce mypy before commits
make demo                       # browse terminal widgets
make docs                       # preview the user guide locally
uv run zettcode --workspace .    # run from the checkout

ZettCode provides the terminal application; the agent runtime is zett-agent. Contributor notes and invariants live in AGENTS.md and docs/internal/, separately from the user guide. See docs/internal/site-design.md for preview and asset-generation instructions.

License

MIT. See LICENSE.

Metadata

Release files for zettcode 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zettcode 0.1.4
File Size Uploaded
zettcode-0.1.4.tar.gz 313.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zettcode 0.1.4
File Interpreter ABI Platform
zettcode-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 705.2 kB

Release files / zettcode-0.1.4.tar.gz

Download URL zettcode-0.1.4.tar.gz
Size 313.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2fe9b6015af82268ea7dd63c10e972a32f95ebff3b028b24048746fc00c71a85
BLAKE2b-256 checksum
How to use checksums
46ed2ce13bef1228afbc8606a8dc876cbe08f7da7332be53f382525a856774ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / zettcode-0.1.4-py3-none-any.whl

Download URL zettcode-0.1.4-py3-none-any.whl
Size 391.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d3fa44840cd41d3798d45fb17d77b288096d1c3e64713f2d6badca31317d589
BLAKE2b-256 checksum
How to use checksums
27e2c7fc51bbe9b5f49ff9dcd1d56744d4a883859a1b39dce2528c9cfec17772
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page