Stop prompting. Start shipping.
zot is an automated software factory in a single ~11 MiB binary. It takes a work order - an objective, the acceptance criteria that define done, the constraints to hold - and plans, edits, builds, tests and fixes until the work is done. No chat loop, no approving each edit, no hosted engine, no telemetry. It talks straight to any OpenAI-compatible model provider with your own key.
curl -fsSL https://zot.im/install.sh | bashThat fetches the latest release for your platform (Linux or macOS, amd64 or
arm64), verifies its checksum, and puts zot in ~/.local/bin. Pin a version
with ZOT_VERSION=vX.Y.Z, or change the directory with ZOT_INSTALL_DIR.
Prefer to do it by hand? Grab a tarball from the
releases page, pull the
container image (ghcr.io/openzot/openzot), or
build from source.
zot defaults to the zai provider running glm-5.2. Export a key, write an
order, hand it over:
zot new "add input validation to the signup handler and a test"
zotzot new writes a small YAML order under .zot/orders/; edit its acceptance
criteria, then a bare zot runs everything outstanding. zot --watch turns
the folder into a drop box. Any OpenAI-compatible provider works -
--provider anthropic, a local --provider ollama, a gateway, a custom
endpoint - see providers.
- Orders, not prompts. Files that queue, batch and stream. → work orders
- Nothing in the way. Your key, your provider, your machine. → philosophy
- Built to run unattended. Compaction, loop detection, resumable logs. → how it works
- Orchestration is content. No sub-agent framework; skills decide. → sub-agents
Watch it work: the factories run in public, each shipping from one standing order with no human in the loop.
zot has real file-write and shell access from --dir, and --dir is not a
sandbox. Point it at a disposable checkout, or run the
container image. Read safety first.
- docs/orders.md - work orders,
zot new, the book, standing orders, watch mode - docs/providers.md - providers, credentials, gateways, custom endpoints
- docs/configuration.md - config file, flags, controls, sessions,
AGENTS.md& skills - docs/how-it-works.md - the harness, what sits under it, sub-agents
- docs/safety.md - what zot can touch and how to bound it
- docs/docker.md - running the container image
- docs/development.md - building from source, the codebase map
- docs/portable-config.md - baking the configuration into the binary
- docs/philosophy.md - why zot exists, the arcade, status
- CHANGELOG.md · RELEASES.md
Live zot factories: the same standing order every 30 minutes, the catalogue as the only memory, nobody in the loop. The site is the working tree, and every session ships to a public dataset.
| Factory | Makes | Repo | Sessions |
|---|---|---|---|
| Arcade | One brand-new browser game per shift, playtested and published | openzot/arcade | openzot/arcade |
| Machinery | One working control panel per shift - a live simulation, faults, and its operating manual | openzot/machinery | openzot/machinery |
| Whetstone | One game honed toward perfection - each shift improves one facet and ships the next playable version | openzot/whetstone | openzot/whetstone |
| Project | Role |
|---|---|
| Rook | A fully automated offensive security harness |
| Pion | A defensive AI security harness for automatic monitoring and incident prevention |
| Pantalk | Connect coding agents to the chat platforms people already use |
| MCPShim | Turn MCP servers and HTTP APIs into standard CLI commands |
| crmkit | Give agents a shared CRM and system of record over HTTP or MCP |
zot is 0.x and in active use. Flags, config and behavior may change before 1.0 - pin a version and skim the changelog before upgrading. Small, focused pull requests are welcome; anything large is worth an issue first.

