Skip to main content

A markdown file-based CLI for software development with multi-agent council design, markdown tickets, and background worker loops.

Project description

Kingdom

Kingdom (kd) is a markdown file-based CLI for software development: design with a multi-agent council, track work as markdown tickets, and run background RALPH loops with worker peasants.

The kingdom metaphor is intentional: you are the King, debate your design documents with a council of frontier coding agent CLIs you already use (Claude Code and Codex), break the design into modular markdown tickets, and then peasants execute those tickets in parallel worktrees.

Gastown minus the polecats.

Why

  • Multi-agent council — get perspectives from multiple frontier coding models, not just one opinion. Different models catch different things.
  • Ticket-based execution — breaking work into scoped tickets fights context rot, lets you use cheaper models for already-designed work, or run tickets in parallel.
  • Multi-agent reviews — reviews across models consistently catch bugs that single-agent reviews miss.
  • Plain markdown files — tickets, designs, and council threads are all markdown. Your coding agents are already good at finding, reading, and updating markdown.
  • CLI + TUI — the TUI is for humans; agent CLIs use kd directly to ask the council or other agents for opinions.
  • Worklog audit trail — peasant worklogs capture decisions, bugs encountered, and test results in the ticket markdown, committed to git. You can always see why something was done, not just the diff.

Install

uv tool install kingdom-cli

Getting Started

  1. Initialize the project on your current branch:
kd start
  1. Configure council agent CLIs in .kd/config.json (check effective config with kd config show).

  2. Design with the council in the TUI:

kd chat --new
  1. Break your design into markdown tickets:
kd breakdown
  1. Review and refine tickets:
kd ticket list
kd ticket show <id>
  1. Execute tickets:
  • Serial: tell Claude Code or Codex to work tickets directly, or run kd work <id>.
  • Parallel: dispatch peasants in worktrees.
kd peasant start <id>
kd peasant status
  1. Close out the session:
kd done

How It Works

All state lives in .kd/ as plain Markdown and JSON files, tracked in git alongside your code:

.kd/
├── branches/                    # Active branch work
│   └── feature-oauth-refresh/
│       ├── design.md            # Design document
│       ├── breakdown.md         # Ticket breakdown
│       ├── tickets/             # Branch-specific tickets
│       │   ├── a1b2.md
│       │   └── c3d4.md
│       └── threads/             # Council discussion threads
├── backlog/                     # Unassigned tickets
│   └── tickets/
├── archive/                     # Completed branches
└── worktrees/                   # Git worktrees (gitignored)

No database. No server. Just files on disk.

Development

uv sync
source .venv/bin/activate
pytest tests/

License

Apache-2.0 — see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kingdom_cli-0.1.4.tar.gz (187.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kingdom_cli-0.1.4-py3-none-any.whl (99.6 kB view details)

Uploaded Python 3

File details

Details for the file kingdom_cli-0.1.4.tar.gz.

File metadata

  • Download URL: kingdom_cli-0.1.4.tar.gz
  • Upload date:
  • Size: 187.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kingdom_cli-0.1.4.tar.gz
Algorithm Hash digest
SHA256 88cccd9bba0fa96bfae3bff51c67623a348b768d8b88e324e113fd547525e3ca
MD5 22a9fa1339521211ad45becd92984381
BLAKE2b-256 e1601633e13be4a24bbbf6eb6a528b4d6efaa8c3510a1f17d15644740f46006f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kingdom_cli-0.1.4.tar.gz:

Publisher: release.yml on jbohnslav/kingdom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kingdom_cli-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: kingdom_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 99.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kingdom_cli-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c883b6d9dbf39e7f4bfb901007ab9b93b97a9d27b13542671466b03b7b17731e
MD5 1136ca5013905229a6b1c4308cd33f65
BLAKE2b-256 85d0d8b14774d95bb65d7dab8606457c78258acfdeb2275f1a4827e4eee49736

See more details on using hashes here.

Provenance

The following attestation bundles were made for kingdom_cli-0.1.4-py3-none-any.whl:

Publisher: release.yml on jbohnslav/kingdom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page