Skip to main content

Kraft

test PyPI Latest release License Docs

A local orchestrator that takes your coding agent from spec to pull request, stopping only when a decision is yours.

Kraft isn't another coding agent. It runs the one you already use, and adds what a single session can't: a process the agent can't skip, checks it doesn't grade itself on, and a person at the decisions that matter.

Hand Claude Code (or another coding agent) a spec and walk away. It's for developers tired of babysitting a session to the end of a task.

A 30-second tour: file a work item, read the spec an agent wrote at its gate, and look at a finished item's diff

  • Gates where a human decides. Kraft pauses at a spec, a plan, or a merge request for your approval; reject with a note and the node that wrote it tries again.
  • Capped retries, not runaway loops. Attempts, wall-clock time, and spend are all bounded. Hit a cap and the item stops and hands you the full trace instead of quietly burning tokens.
  • Isolated git worktrees. Each work item runs on its own branch in its own worktree, so your checkout stays as you left it and items run in parallel.
  • Local. One process on your machine, bound to loopback by default — not a hosted service.
  • A board you can check from your phone. Reach it from another device through a tunnel.

New here? Why Kraft covers what it does that a session, a loop or a skill does not, and when not to use it.

The Kraft board: work items grouped by Needs you, Running, Not started, and Done

A gate stops the chain where a human decides. Read what the agent wrote, then approve, or reject with a note that re-runs the node that wrote it.

A spec an agent wrote, waiting for your approval in the item's detail view

Same board, phone-sized. Reach it from another device through a tunnel; see Remote access.

The board at a 390px phone viewport, with bottom tab navigation

Each work item follows a chain: a list of nodes such as write the spec, write the plan, implement, verify and open the pull request. Some nodes run your coding agent, some run a command, and some stop and wait for you. Chains are YAML files you can edit. How the pieces fit together is in Architecture.

Requirements

  • macOS or Linux. CI runs on Linux, and kraft admin install-service supports launchd and systemd only. Windows is not supported, and WSL is untested.
  • git.
  • uv, which uses a Python 3.12 or newer already on your machine, or fetches one. Or Homebrew on macOS.
  • Claude Code, installed and logged in. Every agent task in the shipped chains runs on it.
  • gh or glab, logged in, for the nodes that open and merge the pull request on GitHub or GitLab.

Supported agents: Claude Code, Codex, Cursor, Gemini, OpenCode and Amp all run as harnesses. The shipped chains use Claude Code only; to use another agent, edit the chains.

What it costs

Kraft is free and Apache-2.0 licensed. Your agent provider bills you for the sessions Kraft runs. The shipped policy.yaml caps spend at $10 per work item and $50 per day across all items, and kraft item create --budget USD sets one item's cap. A cap stops the next agent task from starting, so spend can go over it by the cost of the task already running. In testing, a small fix on the quick-task chain cost a few cents. See Caps and budgets.

Install

Install Kraft with uv, or with Homebrew on macOS:

uv tool install kraft-sdlc
# or
brew tap itsOmidKarami/kraft && brew install kraft

To drive Kraft from Claude Code, install the plugin:

claude plugin marketplace add itsOmidKarami/kraft
claude plugin install kraft@kraft

Start the server and leave it running in its own terminal:

kraft              # http://127.0.0.1:8765
kraft --version    # in another terminal: confirms what you installed

Then open a Claude Code session in your repo, run this, and follow what it asks. It needs the server running:

/kraft:onboard

To clear gates and review diffs from VS Code, install the Kraft extension from the VS Code Marketplace (publisher kraft-sdlc), or download kraft-<version>.vsix from a GitHub release and run code --install-extension kraft-<version>.vsix. Open VSX (VSCodium, Cursor) is coming; until then, use the .vsix.

Every install path, connecting your agent, and updating with kraft admin update are in the install guide.

First run

Open http://127.0.0.1:8765, then follow the first-work-item tutorial to file your first work item.

Analytics

Lead time, cost, and where both go — by node, by repo, over whatever window you pick. Built from the same events the board renders live, not a separate pipeline.

The Analytics view: completed count, median lead time, cost; throughput by week; cost share by node; per-repo totals; why items stopped for a person

Where to go next

Kraft Lite (plugins/kraft-lite/) runs a chain inside a single agent session with no service; see the Kraft Lite guide.

Project status

Kraft is young. Expect rough edges and frequent releases. Report bugs and ask questions in GitHub issues. Report security problems as SECURITY.md describes.

Contributing

Set-up, the just recipes, tests, and the pull request rules are in CONTRIBUTING.md. Releases are described in RELEASING.md. Everyone taking part follows the Code of Conduct.

Metadata

Release files for kraft-sdlc 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for kraft-sdlc 1.3.0
File Interpreter ABI Platform
kraft_sdlc-1.3.0-py3-none-any.whl Python 3 none any Details

Release files / kraft_sdlc-1.3.0-py3-none-any.whl

Download URL kraft_sdlc-1.3.0-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8dcc87463187ca8945a80b7766ffd0f56b6c986bfc5be4e04045774610960a87
BLAKE2b-256 checksum
How to use checksums
982c3136c4c302d2017fe591dbddb6cfe732e6bb60062d4156b9396a75050b43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0.0

1 release file

1.4.0

1 release file

1.3.1

1 release file

This release

1.3.0 This release

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.1.0

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.76.2

1 release file

0.76.1

1 release file

0.76.0

1 release file

0.75.0

1 release file

0.74.0

1 release file

0.73.1

1 release file

0.73.0

1 release file

0.72.0

1 release file

0.71.0

1 release file

0.70.2

1 release file

0.70.1

1 release file

0.70.0

1 release file

0.69.0

1 release file

0.68.1

1 release file

0.68.0

1 release file

0.67.2

1 release file

0.67.1

1 release file

0.67.0

1 release file

0.66.3

1 release file

0.66.2

1 release file

0.66.1

1 release file

0.66.0

1 release file

0.65.0

1 release file

0.64.0

1 release file

0.63.2

1 release file

0.63.1

1 release file

0.63.0

1 release file

0.62.3

1 release file

0.62.2

1 release file

0.62.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page