Kraft
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.
- 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.
|
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. |
|
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-servicesupports launchd and systemd only. Windows is not supported, and WSL is untested. git, withuser.nameanduser.emailset (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.
ghorglab, 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.
Where to go next
- Concepts: work items, chains, nodes, gates, caps.
- CLI reference: every
kraftverb. - Configuration:
repos.yaml,policy.yaml,access.yaml, and the state directory ($KRAFT_HOME). - Agent integration: MCP tools and skills.
- Remote access: reach the board from a phone or another machine.
- Triggers: start a chain from a schedule or an HTTP call.
- Security: threat model; report vulnerabilities per SECURITY.md.
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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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