zero-employee
A command-line toolkit for keeping AI-agent software work organized, reviewable, and recoverable.
zero-employee installs the zeo command. It helps a team of humans and AI
agents turn raw ideas into tracked work, keep decisions in durable files, lint
those files, and see what needs attention next.
Who this is for
Use zero-employee if you are experimenting with AI agents that create code,
docs, designs, or reviews, and you need a better answer to:
- What work exists?
- Who or what is blocked?
- Which decisions were made?
- Which files prove the work is done?
- Can a new person or agent resume without reading a giant chat transcript?
You only need basic command-line and Python familiarity to start. The first
workflow is local: install the package, scaffold a tiny example corpus, capture
one idea, and ask zeo what to do next.
What zeo gives you
- A corpus: a normal git repository that stores your work records.
- Intake files: quick notes for raw ideas before you know the exact work.
- SOWs: “Statements of Work” with machine-checked status, scope, and done criteria.
- Rulings: durable decisions that answer design or governance questions.
- Boards and triage: generated views that show what needs attention.
- Hooks and scaffolding: optional guardrails for teams using agents, Codex, Claude Code, Cursor, Gemini, or plain git.
- Session tooling: branch/worktree/session cleanup for multi-agent work.
The important idea: chat is temporary; the corpus is the durable record.
Install
Recommended:
uv tool install zero-employee
zeo --version
If you do not have uv yet:
python -m pip install uv
uv tool install zero-employee
Standard pip also works:
python -m pip install zero-employee
zeo --version
Requirements: Python 3.11 or newer.
The old sow-lint executable name still works as a compatibility alias for
older corpora and historical checks. New docs, scripts, and CI should use
zeo. In GitHub Actions, prefer the check/workflow name
zeo-sow-ruling-gate for SOW/ruling validation.
Upgrade an existing install:
uv tool upgrade zero-employee
If zeo --version still shows an old version, your shell is finding a different
zeo executable first. Run which zeo to see which one.
10-minute first run
This creates a disposable practice corpus in /tmp, captures one idea, and
shows the basic dashboard.
mkdir -p /tmp/zeo-demo
cd /tmp/zeo-demo
git init
git branch -m main
zeo init
git add .gitignore CLAUDE.md claude-md governance intake
git commit -m "initialize zeo corpus"
zeo intake "add a health-check endpoint to the demo service"
zeo
zeo triage
What just happened:
zeo initcreated the minimum files that make this directory a ZEO corpus.zeo intake ...saved your idea as a small Markdown file underintake/.zeoprinted the orientation dashboard.zeo triageshowed whether anything needs a decision, a successor, or cleanup.
Next: follow the full Getting started guide.
The beginner path
Read these in order:
- Getting started — copy/paste setup and first useful commands.
- Mental model and glossary — corpus, SOW, ruling, stream, seat, session.
- Tutorial — convert one raw idea into a grounded SOW.
- Codex swap guide — if you want Codex Master/Sparring/Stream seats.
- Contributing — if you want to change
zero-employeeitself.
Common commands
| Command | Use it when you want to... |
|---|---|
zeo |
See where you are and what the tool thinks you should do next. |
zeo init |
Turn the current git repo into a ZEO corpus. |
zeo intake "..." |
Capture a raw idea without writing YAML. |
zeo new |
Start an intake, SOW, or project from a guided menu. |
zeo work |
List governed work that can be continued. |
zeo next |
Ask for the highest-priority next action. |
zeo triage |
Show the operator worklist: blocked items, open questions, handoffs. |
zeo board |
Regenerate local STATE.md from corpus files. |
zeo sow new ... |
Create a schema-valid Statement of Work. |
zeo doctor PATH |
Explain what is wrong with one SOW or changed files. |
zeo hooks install |
Install local git hooks for linting ZEO files. |
zeo help --all |
Show the full command reference for the installed version. |
Minimal workflow
For a solo developer:
zeo intake "describe the problem in plain English"
zeo intake mission intake/<created-file>.md
# investigate the real repo, then follow docs/tutorial.md to propose and promote
zeo triage
For an agent-assisted team:
zeo orient --json
zeo relay register --seat master --instance master-demo-1 --runtime codex
git checkout -b master/demo-20260824
zeo session start --id master-demo-20260824 --master master-demo-1 --branch master/demo-20260824
zeo workspace create --seat master --instance master-demo-1
zeo session status --id master-demo-20260824
The first workflow is the one to learn first. The second is for teams already running multiple agent seats and branches.
Repository layout after zeo init
my-org/
├── claude-md/CLAUDE.md # corpus marker and imported doctrine entrypoint
├── governance/GOVERNANCE.md # tool-neutral governance starter
├── intake/ # raw ideas live here first
├── projects/ # SOWs grouped by project and stream
├── ruling/ # durable decisions
└── .zeo/ # local runtime state, ignored by git
Generated board files such as STATE.md and stream-index.md are local views.
They are intentionally ignored by git.
Developing this package
git clone https://github.com/zeroemployeeorg/zero-employee.git
cd zero-employee
make setup
make verify
make verify runs formatting checks, linting, and the full test suite. See
CONTRIBUTING.md for the contributor workflow.
Documentation
- Getting started
- Mental model and glossary
- Tutorial
- Seat identities
- Codex swap guide
- Release process
- Non-goals
- Changelog
License
MIT. See LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zero_employee-0.9.1.tar.gz.
File metadata
- Download URL: zero_employee-0.9.1.tar.gz
- Upload date:
- Size: 436.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a3f3c3b610ce9224113aefd5cab214574692113cc554386816c1474ecb850ec
|
|
| MD5 |
54c17177f7a613d79fb07dda7f59dcc1
|
|
| BLAKE2b-256 |
34e36dc8816b8b4916e0b843cb6644c4e0efa30cf4db9fd37025e81c2f7b0b12
|
Provenance
The following attestation bundles were made for zero_employee-0.9.1.tar.gz:
Publisher:
publish.yml on zeroemployeeorg/zero-employee
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zero_employee-0.9.1.tar.gz -
Subject digest:
8a3f3c3b610ce9224113aefd5cab214574692113cc554386816c1474ecb850ec - Sigstore transparency entry: 2581394020
- Sigstore integration time:
-
Permalink:
zeroemployeeorg/zero-employee@ec9b820767df5ff75eb0ce6a0c3af3a21b821049 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/zeroemployeeorg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ec9b820767df5ff75eb0ce6a0c3af3a21b821049 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zero_employee-0.9.1-py3-none-any.whl.
File metadata
- Download URL: zero_employee-0.9.1-py3-none-any.whl
- Upload date:
- Size: 301.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a01ac19ed5cdced500e82d0b875f45a139aecb12d0a4f15c97430b70e7938f3
|
|
| MD5 |
71f2413eca3b215414c3e996a8d7d075
|
|
| BLAKE2b-256 |
d5646eec2dae8f78c162b0ef88a9e46d01838b5085e44af01a39ce226a0b67c4
|
Provenance
The following attestation bundles were made for zero_employee-0.9.1-py3-none-any.whl:
Publisher:
publish.yml on zeroemployeeorg/zero-employee
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zero_employee-0.9.1-py3-none-any.whl -
Subject digest:
7a01ac19ed5cdced500e82d0b875f45a139aecb12d0a4f15c97430b70e7938f3 - Sigstore transparency entry: 2581394046
- Sigstore integration time:
-
Permalink:
zeroemployeeorg/zero-employee@ec9b820767df5ff75eb0ce6a0c3af3a21b821049 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/zeroemployeeorg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ec9b820767df5ff75eb0ce6a0c3af3a21b821049 -
Trigger Event:
workflow_dispatch
-
Statement type: