agent-pmo — project management for AI coding agents
agent-pmo is a small command-line tool that lets coding agents (Claude Code, Codex, Gemini CLI, Copilot, Cursor, …) build a project the way a careful team would:
- Plan first, never guess. Every open question is asked, and every answer is kept word for word as a decision.
- Work from specs. Each component has a spec with requirements and a plan of small, testable increments.
- Prove each step. Code is tested against its requirements, scanned for security issues, and reviewed by a different model.
- Keep you in charge. Agents work in parallel and never wait. You review every unit in its own pull request, and
stableonly ever holds code that passed everything. - Trace everything. Every commit, report, issue and decision links back to the change and the requirement it belongs to.
It works with any language, on Linux, macOS and Windows, with GitHub, GitLab, Bitbucket or no hosting at all. It needs Python 3.11+ and git, and has no dependencies of its own.
Set up
pipx install agent-pmo # or: uv tool install agent-pmo
agent-pmo install --agents claude,agents # in your repository: the agents' instructions and entry files
install writes the agents' instructions into .pm/ and an entry file for each coding agent (CLAUDE.md, AGENTS.md; also gemini, copilot, cursor). Commit them with your project.
Then open your coding agent in the repository and say one of:
| Say | |
|---|---|
| New project | "set up the project" |
| Existing code | "analyse old code" |
| Idea in an issue | "plan the project from issue #12" |
| Quick experiment | "build <idea> quickly" |
The agent asks you everything it needs (what you're building, how you work, the coding style, your git provider) and sets up the rest. If you work with a git provider, give the agents their own token: AGENT_TOKEN=<token> in .env.
Day to day
Talk to your agent: "status", "continue", "test the next spec", "review the next spec", "fix <bug>", "fetch repo issues", "plan the deployment", "revert <change>". You review and merge the review pull requests; CI does the rest.
Learn more
| Getting started | setup paths and the daily loop, in more detail |
| Commands | every agent-pmo command with examples |
| Configuration | pm.toml, table by table |
| Concepts | units, statuses, the branch model, reviews, decisions, traceability |
| Automation | hooks, CI, scheduled checks, providers and tokens |
| Development | the code map, tests, adding a language |
| WORKFLOW.md | the process the agents follow (with one file per workflow in workflows/) |
Updating
Each project pins its version ([kit] version in pm.toml), so hooks, CI and the whole team run the same one. After pipx upgrade agent-pmo, run agent-pmo upgrade in the project: it migrates it, refreshes .pm/, the entry files, hooks and CI, and pins the new version. agent-pmo version --check shows what's installed, pinned and latest; CHANGELOG.md lists every release.
Metadata
Release files for agent-pmo 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agent_pmo-0.1.0.tar.gz | 293.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_pmo-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 607.1 kB
Release files / agent_pmo-0.1.0.tar.gz
| Download URL | agent_pmo-0.1.0.tar.gz |
|---|---|
| Size | 293.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f6e621f668a9b16d0bbd3e5f880b0d3eed81342480af417c13bc57e65905b392
|
|
BLAKE2b-256 checksum How to use checksums |
7cb2091ae17678a4d06d7b7417b33e1301a713abd6210b500e45f43b6afd8569
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logRelease files / agent_pmo-0.1.0-py3-none-any.whl
| Download URL | agent_pmo-0.1.0-py3-none-any.whl |
|---|---|
| Size | 313.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
796d1bc0dbb37ebc557bcdf2abddb573f5031a920801331ed7a538ae0c44e0ea
|
|
BLAKE2b-256 checksum How to use checksums |
0209f47902db82c95625feedf671c034d822d3a085e09acc4df2c1aeb86f57cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logSecurity for agent-pmo 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for agent_pmo-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.