ZOT
AUTOMATED SOFTWARE FACTORY

Stop prompting.
Start shipping._

zot is a software factory, not a coding agent you steer. Feed it work orders, each an objective and the criteria that define done, and it runs them to completion, unattended, order after order.

zot running a work order: the plan, the edits and the verification streaming by in the terminal

QUICKSTART

install
$ curl -fsSL https://zot.im/install.sh | bash

Linux and macOS. Installs to ~/.local/bin; on Windows, download a release.

your shell
$ zot new --draft "move toward production readiness"
$ zot# review it, then let it run

A work order is a small YAML file holding the objective and the acceptance criteria the run is held to. Orders are files, so they queue, batch and re-run.

read the docs

ANY PROVIDER

openaianthropicgroqmistraldeepseekopenroutertogethercerebrasxaimoonshotzaiqwenvercelollama

Fourteen built in, each reading its conventional key, plus anything that speaks the OpenAI API, including a local Ollama. Your key, your provider, nothing in between.

EVERY RUN IS ON THE RECORD

Nobody watches an autonomous run, so every run is written to disk as it happens, every message, every tool call, how it ended, and can be picked up again.

sessions
$ zot sessions# what has run, newest first
$ zot --resume last# pick up where it stopped

REAL ACCESS, BOUNDED

zot has real file-write and shell access, and --dir is not a sandbox. Point it at a disposable checkout, or run the container image, where the agent can only touch the volume you mounted.

docker · macos / linux
$ docker run --rm -it \ --user "$(id -u):$(id -g)" \ --env HOME=/tmp \ --env ZAI_API_KEY \ --volume "$PWD":/workspace \ ghcr.io/openzot/openzot:latest

GITHUB ACTIONS

Run the factory on GitHub.

The official actions turn a repository into a software factory. Orders run on a push, a schedule, or a labelled issue, reviewed as pull requests or fully automated.

openzot/actions

LIVE FACTORIES

Left running in public.

Two zot factories, each handed the same standing order every half hour by CI. No review, no human in the loop; the live site is the working tree, and every session ships to a public dataset.

The arcade

A new browser game every 30 minutes.

Each run invents a game unlike any before it, builds it, plays it to check it works, and ships it to the shelf.

The machinery

A new machine every shift.

Each run builds the control panel of an invented machine - live dials, alarms, faults to fix, and the manual that teaches you to run it.