Skip to main content

Spec Kitty, a tool for Specification Driven Development (SDD) agentic projects, with kanban and git worktree isolation.

Project description

Spec Kitty Logo

Spec Kitty

Spec-driven development for AI coding agents.

Spec Kitty is an open-source CLI for turning product intent into a repeatable agent workflow:

spec -> plan -> tasks -> next -> review -> accept -> merge

It keeps the important context in your repository, creates work packages that agents can execute, and uses git worktrees so implementation work can happen without constantly switching branches.

PyPI version License: MIT Python 3.11+

Is It For You?

Use Spec Kitty when:

  • AI coding sessions are losing requirements, decisions, or acceptance criteria.
  • You want specs, plans, tasks, reviews, and merge state stored in the repo.
  • Multiple agents or developers need clear work package boundaries.
  • You want a local workflow first, with optional hosted tracker and sync integrations later.

It is probably overkill for one-off edits, tiny scripts, or teams that do not use Git.

What It Provides

Need Spec Kitty provides
Start from intent Guided specify, plan, and tasks workflows
Keep agents aligned Repository-native mission artifacts under kitty-specs/
Split implementation Work packages with lifecycle lanes such as planned, in_progress, for_review, approved, and done
Avoid branch chaos Isolated git worktrees under .worktrees/
See progress Optional local kanban dashboard with spec-kitty dashboard
Integrate agents Slash commands or skills for common AI coding tools
Learn from missions Every completed mission generates a retrospective by default. Tune via .kittify/config.yaml#retrospective or charter; see how-to.

Governance layer

Spec Kitty keeps runtime governance in the repo instead of treating it as agent-only prompt text. The trail model in docs/trail-model.md describes how spec-kitty advise, spec-kitty ask, and spec-kitty do map operator intent to runtime behavior, while docs/host-surface-parity.md tracks parity across CLI, slash-command, and hosted surfaces.

Quick Start

Install the CLI:

pipx install spec-kitty-cli

pipx is the preferred installer for the CLI because it keeps Spec Kitty in its own virtual environment and avoids the externally-managed-environment errors common on modern Linux distributions.

Other supported install methods:

uv tool install spec-kitty-cli
# or, inside an activated virtual environment
python -m pip install spec-kitty-cli

Create or initialize a project:

spec-kitty init my-project --ai claude
cd my-project
spec-kitty verify-setup

Replace claude with your agent key when needed. Common choices include codex, cursor, gemini, copilot, opencode, qwen, windsurf, kiro, vibe, pi, and letta.

Open your AI coding agent in the project and run the core workflow:

/spec-kitty.charter
/spec-kitty.specify Build a small task list app.
/spec-kitty.plan
/spec-kitty.tasks

Then let the runtime choose the next action until the mission is ready:

spec-kitty next --agent claude --mission <mission-slug>

Review, accept, merge, and close the loop:

/spec-kitty.review
/spec-kitty.accept
/spec-kitty.merge --push

After merge, run /spec-kitty-mission-review. The mission's retrospective.yaml is authored during the runtime terminus (HiC prompt or autonomous facilitator), not by merge. Once it exists, use spec-kitty retrospect summary for the cross-mission view and spec-kitty agent retrospect synthesize --mission <mission-slug> to apply any staged proposals (dry-run by default — pass --apply to mutate).

For the full walkthrough, see Your First Feature.

Governance layer

Spec Kitty includes a governance layer that advises, queries, and acts on your project's architectural conventions. Three primary commands drive this layer:

  • spec-kitty advise — surfaces relevant doctrine, guidelines, and warnings for the current context
  • spec-kitty ask — queries the knowledge base for specific guidance
  • spec-kitty do — executes governed actions, ensuring compliance with the trail model

The governance layer is anchored by two key reference documents:

  • Trail model — defines how spec-kitty traces mission provenance and decision history through the project lifecycle
  • Host surface parity — describes the contract between spec-kitty and the host project's agent integration surfaces

Everyday Commands

Command Purpose
spec-kitty init . --ai <agent> Add Spec Kitty to the current repo
spec-kitty verify-setup Check local installation and project wiring
spec-kitty dashboard Open the local mission dashboard
spec-kitty next --agent <agent> --mission <slug> Ask Spec Kitty what the agent should do next
spec-kitty upgrade Update an existing project after upgrading the CLI
spec-kitty --help Show available commands

Documentation

Start here:

Deeper topics:

Hosted auth, sync, and tracker flows remain opt-in today. Internal / pre-launch operators dogfooding the hidden hosted-readiness mode behind SPEC_KITTY_ENABLE_SAAS_SYNC=1 should read Internal Hosted-Readiness (Pre-Launch). The launch-day behavior that will replace today's defaults is staged under Launch-Readiness Behavior (Coming Soon).

Development

git clone https://github.com/Priivacy-ai/spec-kitty.git
cd spec-kitty
pip install -e ".[test]"

When testing templates from a source checkout:

export SPEC_KITTY_TEMPLATE_ROOT="$(pwd)"
spec-kitty init my-project --ai claude

See CONTRIBUTING.md for contribution guidelines.

Identity-Boundary CI Gate

The drift-detector required check runs tests/sync/test_diagnose.py::TestCanonicalRegistryRecognition on every PR against main. It catches drift between the canonical registries in this repo and the consumer-recognition contract that spec-kitty-end-to-end-testing#41 closed over an 8-RC peeling cycle (rc14 → rc22). Workflow file: .github/workflows/drift-detector.yml.

This is one of three coordinated CI gates tracked under #1247:

  • drift-detector here (this repo).
  • cross-repo-harness-tests in spec-kitty-events — workflow .github/workflows/cross-repo-harness-tests.yml.
  • identity-boundary-canary in spec-kitty-saas — workflow .github/workflows/canary-gate.yml.

This repo's drift-detector pins no external SHA — it only runs an in-repo test. The sibling repos' workflows pin a specific commit of Priivacy-ai/spec-kitty-end-to-end-testing; see each sibling's README "Identity-Boundary CI Gate" section for the SHA-bump procedure.

Admin action required (one-time per repo): after this gate merges, a repo admin must register the check as required on main:

  1. Open https://github.com/Priivacy-ai/spec-kitty/settings/branches.
  2. Edit the rule for main.
  3. Under "Require status checks to pass before merging", add the exact name drift-detector.
  4. Save.

Until that step is done, the workflow still runs on every PR but its red status does not block merge.

Support

License

Spec Kitty is released under the MIT 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

spec_kitty_cli-3.2.0rc35.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

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

spec_kitty_cli-3.2.0rc35-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

Details for the file spec_kitty_cli-3.2.0rc35.tar.gz.

File metadata

  • Download URL: spec_kitty_cli-3.2.0rc35.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spec_kitty_cli-3.2.0rc35.tar.gz
Algorithm Hash digest
SHA256 680cbd53db35af297886d5b5ceec716ca2e32a336ffc5d20b8309774d0b0c143
MD5 f3b9018be4920651e4ff0391fb55635e
BLAKE2b-256 9a8cf2b7e6521355c4185b0050dabb6c2a51bd9062198a46e519b7c9668ed1f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for spec_kitty_cli-3.2.0rc35.tar.gz:

Publisher: release.yml on Priivacy-ai/spec-kitty

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

File details

Details for the file spec_kitty_cli-3.2.0rc35-py3-none-any.whl.

File metadata

File hashes

Hashes for spec_kitty_cli-3.2.0rc35-py3-none-any.whl
Algorithm Hash digest
SHA256 a9b8de0957d0861fa0c1bb54a9eed0a14bd0d06d1c599162807800d543ffc20e
MD5 0c3cd7eb2489b18c70eac32a6fa524a0
BLAKE2b-256 18069074fd79d063a8158199f0d5db9f16b4faa61122a687f5411ce0866e4169

See more details on using hashes here.

Provenance

The following attestation bundles were made for spec_kitty_cli-3.2.0rc35-py3-none-any.whl:

Publisher: release.yml on Priivacy-ai/spec-kitty

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