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 Kraft a task and walk away. Your agent drafts the spec and the plan and stops for your approval of each, or starts from a spec you wrote. It's for developers tired of babysitting a session to the end of a task.

Kraft works with Claude Code out of the box, and you can drive it from Codex, Cursor, Antigravity, OpenCode, Amp or Gemini CLI too. The shipped chains run their agent steps on Claude Code, and any step can switch to another agent.

New in 2.0: a redesigned web interface built around what needs you, a review page that works like a code host's, and a kraft repo connect that reads a repo's task runner, toolchain and CI, explains each command it proposes, and rehearses them with --verify. What's new in 2.0 has the rest, and what to check before you upgrade from 1.4.

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

  • 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.

Kraft is German for force; in English, its cousin craft means skill. Your agent brings the craft; Kraft is the force that carries it from spec to pull request.

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, rendered on the item's review page and waiting for your approval, with Request changes and Approve

Same app, phone-sized. Below 768 pixels it switches to a phone layout on its own. 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, with user.name and user.email set (globally, or in each repo you connect). Kraft commits the agents' work under that identity.
  • 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, Antigravity, 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

Codex, Cursor and Antigravity install the same plugin; their commands are on the install guide's agent tabs. If you drive Kraft from one of them, install the Claude Code plugin (or run kraft admin init) as well: the shipped chains run their workers on Claude Code.

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, or from Open VSX in VSCodium and Cursor (publisher kraft-sdlc on both). You can also download kraft-<version>.vsix from the latest GitHub release and run code --install-extension kraft-<version>.vsix.

Every install path, connecting your agent, and updating are in the install guide. Coming from 1.4? Update with uv tool install, not kraft admin update: see Upgrading from 1.4.

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 and by repo, over the last 8 weeks (on a phone, the last 7, 30 or 90 days). Built from the same events the board renders live, not a separate pipeline.

The Analytics view over the last 8 weeks: completed count, median lead time and cost; merged items per week; the top of the cost-by-node table

Where to go next

Kraft Lite, a separate plugin, 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 2.0.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 2.0.0
File Interpreter ABI Platform
kraft_sdlc-2.0.0-py3-none-any.whl Python 3 none any Details

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

Download URL kraft_sdlc-2.0.0-py3-none-any.whl
Size 2.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3b3cb02bd10a42f0454167a191b1a321fc74d8860231693a32575000f619d09d
BLAKE2b-256 checksum
How to use checksums
6b5347502d75173bf3b79e0542c93472ae52eb5930e2c54057f8b5bb691ebcf7
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 Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.0 This release

1 release file

1.4.0

1 release file

1.3.1

1 release file

1.3.0

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