Agent-native C-suite template: a coding agent orchestrates a turn-based debate between role subagents via a thin CLI.
Project description
█████╗ ██████╗ ███████╗███╗ ██╗███████╗██╗ ██╗██╗████████╗███████╗
██╔══██╗██╔════╝ ██╔════╝████╗ ██║██╔════╝██║ ██║██║╚══██╔══╝██╔════╝
███████║██║ ███╗█████╗ ██╔██╗ ██║███████╗██║ ██║██║ ██║ █████╗
██╔══██║██║ ██║██╔══╝ ██║╚██╗██║╚════██║██║ ██║██║ ██║ ██╔══╝
██║ ██║╚██████╔╝███████╗██║ ╚████║███████║╚██████╔╝██║ ██║ ███████╗
╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝
A universal multi-agent C-suite template for executing structured,
evolutionary sprints inside any generic software startup. A coding agent
(Claude Code, Codex, Cursor, …) reads AGENTS.md and then acts out a
C-suite simulation: it spawns one subagent per role (CEO, CPO, CTO, CDO,
CCO), drives a turn-based debate via pull requests, and produces real git
artifacts in a sandboxed inner repository.
The framework is idea-agnostic. You supply your product thesis once
(--idea), and the C-suite reasons about it; nothing in the template
assumes a domain. The CEO subagent extends the project itself by authoring
the next sprint blueprint after each ADR, so the loop keeps running without
a hand-curated roadmap.
There is no LLM client inside this codebase. The orchestrator is the coding agent itself; the Python code is plumbing — schemas, a git subprocess wrapper, JSON state files, and a thin CLI that owns every state mutation.
Mental model: you don't run this repo
This repository is the agensuite tool, not your project. You don't
clone it and work inside it. Instead you install the tool once, then use
its init command to scaffold a fresh, standalone project folder that
contains your startup's AGENTS.md, role playbooks, and first sprint —
with your idea already baked in. You then open that folder in your coding
agent.
agensuite (the installed tool) ──init──► my-startup/ ◄── you open THIS in your agent
├── AGENTS.md (the contract)
├── .claude/agents/*.md (CEO/CPO/CTO/CDO/CCO personas)
├── sprints/sprint-1.md (your idea, substituted in)
├── workspace/ (inner git repo — created by bootstrap)
└── state/ (PR + debate JSON — created by bootstrap)
Quickstart (no clone)
The tool installs from the public repo — npm-style, nothing to clone.
We recommend uv (pipx works identically).
1. Install the agensuite tool once (puts agensuite on your PATH):
uv tool install git+https://github.com/omri-am/agensuite
# or: pipx install git+https://github.com/omri-am/agensuite
One-shot alternative:
uvx --from git+https://github.com/omri-am/agensuite agensuite init my-startup --idea "…". Noteuvxis ephemeral — the binary disappears after the command, so you'd have to prefix every lateragensuitecall the same way. The persistent install above is simpler because the workflow runs manyagensuitecommands.
2. Scaffold your project (substitutes your idea into every template):
agensuite init my-startup --idea "A marketplace for renting camera gear between creators"
cd my-startup
3. Bootstrap the sandbox (creates the inner workspace/ git repo + state/):
agensuite bootstrap
4. Open my-startup/ in your coding agent and prompt it with:
Read AGENTS.md and execute sprint-1.
That's it. Optionally tweak .claude/agents/<role>.md first, or use
agensuite chief customize <role> --focus "…" to bias a persona without
opening files.
What happens when you open it in the agent
Following the AGENTS.md contract, the agent plays the CEO and:
- Spawns one subagent per spoke role (CPO, CTO, CDO, CCO), each opening a
PR with its domain's view of the MVP — all via the
agensuiteCLI. - Drives a turn-based debate across the PRs (review → rebuttal → follow-up), enforced by the CLI's schedule and reviewer-author guards.
- Pauses at a human gate so you can resolve deadlocks ([m]erge / [r]eject / [a]dr-options / [s]kip).
- Merges approved PRs and writes an ADR into the inner repo's
governance/. - Asks the CEO subagent to author the next blueprint into
sprints/sprint-2.md— then the loop repeats.
Coming soon: once published to PyPI, install simplifies to
uv tool install agensuite/pipx install agensuite(oruvx agensuite init …), dropping thegit+https://…URL.
Layout (inside a scaffolded project)
| Path | Purpose |
|---|---|
AGENTS.md |
Contract read by any coding-agent platform on setup. |
.claude/agents/{role}.md |
Native subagent playbooks — one per C-suite role (YAML frontmatter + persona body). |
sprints/sprint-*.md |
Sprint definitions (YAML frontmatter + body). Ships with sprint-1.md only; subsequent sprints are authored by the CEO at runtime. |
workspace/ (gitignored) |
The inner simulated git repo. |
state/ (gitignored) |
JSON registries for PRs and debate transcripts. |
CLI
Run agensuite --help to see every subcommand, or jump to the reference
section at the bottom of a scaffolded AGENTS.md.
Developing the framework itself
Only needed if you want to change the tool (CLI, schemas, templates) — not to use it. Clone and install editable:
git clone https://github.com/omri-am/agensuite
cd agensuite
pip install -e ".[dev]"
pytest
The templates the init command ships live under
src/agensuite/templates/. Edit those to change what every scaffolded
project starts with.
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
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 agensuite-0.1.0a0.tar.gz.
File metadata
- Download URL: agensuite-0.1.0a0.tar.gz
- Upload date:
- Size: 64.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6b0cdd0d10dd463c8893cd02a33640262d5ae2f6e63a47b0df1e3326a42a8b7
|
|
| MD5 |
3097c5c0afefbd04c89e897f48990cfb
|
|
| BLAKE2b-256 |
752904a6aa8670dd5bca04e3827f6ab92526250a17d7d0d51a46079fa383fb19
|
Provenance
The following attestation bundles were made for agensuite-0.1.0a0.tar.gz:
Publisher:
publish.yml on omri-am/agensuite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agensuite-0.1.0a0.tar.gz -
Subject digest:
e6b0cdd0d10dd463c8893cd02a33640262d5ae2f6e63a47b0df1e3326a42a8b7 - Sigstore transparency entry: 1660107420
- Sigstore integration time:
-
Permalink:
omri-am/agensuite@f0661a308b7a77f86932a8d9e9e5d4bd6bbfdd1a -
Branch / Tag:
refs/tags/v0.1.0a0 - Owner: https://github.com/omri-am
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0661a308b7a77f86932a8d9e9e5d4bd6bbfdd1a -
Trigger Event:
push
-
Statement type:
File details
Details for the file agensuite-0.1.0a0-py3-none-any.whl.
File metadata
- Download URL: agensuite-0.1.0a0-py3-none-any.whl
- Upload date:
- Size: 58.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c55466b6d674370b7a8b59879f2b2a0f4b89a617554208f6c840c229ae6e5ce9
|
|
| MD5 |
55e4a2edecb7ddaade945d94a64e7636
|
|
| BLAKE2b-256 |
1a05807813aa88b40b5bd5fd037ed9d00acc379b28a8122786b2d70a1f5f4a43
|
Provenance
The following attestation bundles were made for agensuite-0.1.0a0-py3-none-any.whl:
Publisher:
publish.yml on omri-am/agensuite
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agensuite-0.1.0a0-py3-none-any.whl -
Subject digest:
c55466b6d674370b7a8b59879f2b2a0f4b89a617554208f6c840c229ae6e5ce9 - Sigstore transparency entry: 1660107512
- Sigstore integration time:
-
Permalink:
omri-am/agensuite@f0661a308b7a77f86932a8d9e9e5d4bd6bbfdd1a -
Branch / Tag:
refs/tags/v0.1.0a0 - Owner: https://github.com/omri-am
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0661a308b7a77f86932a8d9e9e5d4bd6bbfdd1a -
Trigger Event:
push
-
Statement type: