# Kraft ## Documentation Sets - [Kraft](https://kraft-sdlc.dev/llms-full.txt) ## Docs - [Why Kraft](https://kraft-sdlc.dev/raw/get-started/why-kraft.md): What Kraft does that an interactive session, a loop, or a skill does not, and when it is the wrong tool. - [Install](https://kraft-sdlc.dev/raw/get-started/install.md): Install Kraft with uv, Homebrew, the install script, or from source, start the server, register it with Claude Code, and check that it works. - [Your first work item](https://kraft-sdlc.dev/raw/get-started/first-work-item.md): Start Kraft, connect a repo, and run a work item on the quick-task chain until it lands on the board. - [The real chain](https://kraft-sdlc.dev/raw/get-started/the-real-chain.md): Run the default chain on a repo with a forge, approve its gates, and review the change to a merged pull request. - [FAQ](https://kraft-sdlc.dev/raw/get-started/faq.md): Short answers on forges, harnesses, cost, supported platforms, writing a spec, sharing chains with add-ons, Kraft Lite and approving tool calls. - [Get started](https://kraft-sdlc.dev/raw/get-started.md): Decide whether Kraft fits, install it, and run your first work item. - [How a work item runs](https://kraft-sdlc.dev/raw/concepts/how-a-work-item-runs.md): A work item's path from filing to archive, what happens inside a node, and where a steer, a fix loop and an escalation fit. - [Caps and budgets](https://kraft-sdlc.dev/raw/concepts/caps-and-budgets.md): How Kraft bounds time, tokens, and dollars, why a raise is bounded, and how a policy resolves from policy.yaml down to a single task. - [Why a permission gate](https://kraft-sdlc.dev/raw/concepts/permission-gate.md): Why Kraft answers a worker's permission prompts itself, and how each harness lets it. - [Vocabulary](https://kraft-sdlc.dev/raw/concepts/vocabulary.md): What each Kraft term means, from work item, chain, node, task, gate and cap to harness, sandbox, worktree and escalation turn. - [Concepts](https://kraft-sdlc.dev/raw/concepts.md): The lifecycle, limits, permission model, and vocabulary behind Kraft. - [The setup wizard on first start](https://kraft-sdlc.dev/raw/guides/day-to-day/first-run.md): The three setup steps the board shows when no repo is connected, from connecting a repo to filing a first work item. - [File a work item](https://kraft-sdlc.dev/raw/guides/day-to-day/file-a-work-item.md): File a work item from the board's composer, or from the full new-item page, and choose its chain and documents. - [Use Kraft from your agent](https://kraft-sdlc.dev/raw/guides/day-to-day/agent-integration.md): Register Kraft with Claude Code, Codex, Cursor, OpenCode, Amp, Antigravity or Gemini CLI, then drive it from that agent. - [Reviewing a change](https://kraft-sdlc.dev/raw/guides/day-to-day/review-a-change.md): Approve or reject the gate a Kraft work item waits at, or comment on the change at any point in its life, in the web UI or from the CLI. - [Raise a cap on a stopped item](https://kraft-sdlc.dev/raw/guides/day-to-day/raise-a-cap.md): Clear a time, attempts or dollar stop from the interface or the command line, with no config edit. - [Kraft for VS Code](https://kraft-sdlc.dev/raw/guides/day-to-day/vscode.md): Install the Kraft extension to clear gates, review a branch's diff, and edit Kraft config files without leaving VS Code. - [Kraft on a phone](https://kraft-sdlc.dev/raw/guides/day-to-day/kraft-on-a-phone.md): The phone layout, with its bottom bar, the board's filters and cards, and the buttons on a stopped item. - [Get notified when an item needs you](https://kraft-sdlc.dev/raw/guides/day-to-day/notifications.md): Set up a webhook or alerts in your browser, so Kraft tells you when a work item waits at a gate or stops, and check that a test reaches you. - [Day to day](https://kraft-sdlc.dev/raw/guides/day-to-day.md): Do the daily work of filing, reviewing and unsticking work items. - [Write your own chain](https://kraft-sdlc.dev/raw/guides/customize/write-your-own-chain.md): Add a lint node to a chain that extends the default chain, with an agent that fixes what lint reports, a time cap, and no way to skip it. - [Add a security review or a gate reviewer](https://kraft-sdlc.dev/raw/guides/customize/add-review-agents.md): Add the shipped security-review and gate-review skills to a chain of your own, since no shipped chain uses them. - [Schedule or webhook work](https://kraft-sdlc.dev/raw/guides/customize/schedule-and-webhook-work.md): File a paused work item on a cron schedule or from a webhook, then check that it arrived. - [Share chains with add-ons](https://kraft-sdlc.dev/raw/guides/customize/share-chains-with-addons.md): Install a Kraft add-on from a collection, use the chains, components and skills it ships, and keep it current or remove it. - [Publish an add-on](https://kraft-sdlc.dev/raw/guides/customize/publish-an-add-on.md): Lay out a collection, write an add-on's chains and skills, validate it, and publish it for other instances to install. - [Customize and automate](https://kraft-sdlc.dev/raw/guides/customize.md): Change the chain Kraft runs, and file work from a schedule or a webhook. - [Switch a task to another harness](https://kraft-sdlc.dev/raw/guides/harnesses/switch-harness.md): Run some or all of a chain's agent tasks on Codex, Cursor, OpenCode, Gemini, Antigravity or Amp instead of Claude Code, and what changes when you do. - [Add or override a harness](https://kraft-sdlc.dev/raw/guides/harnesses/adding-a-harness.md): Add an agent CLI to Kraft with a YAML file, and override a shipped one. - [Build a worker Kit](https://kraft-sdlc.dev/raw/guides/harnesses/worker-kit.md): Build a Docker Sandbox Kit for Kraft's Claude workers, push it to your registry, and run a repository's sandbox from it, pinned by digest. - [Give a worker its login](https://kraft-sdlc.dev/raw/guides/harnesses/give-a-worker-its-login.md): Give the agent CLI a worker runs on, whether Claude Code, Codex, Cursor, OpenCode, Amp, Antigravity or Gemini CLI, a login it can use headless, and check that the worker reaches it. - [Agents and harnesses](https://kraft-sdlc.dev/raw/guides/harnesses.md): Choose which agent CLI runs a task, and give it what it needs to run headless. - [Remote access](https://kraft-sdlc.dev/raw/guides/run/remote-access.md): Approve or reject a gate from a phone, over Tailscale, a tunnel or a reverse proxy you run, using the same password auth as the local board, get back if Kraft does not restart, and rotate the token. - [Put a proxy in front of Kraft](https://kraft-sdlc.dev/raw/guides/run/put-a-proxy-in-front-of-kraft.md): Let a tunnel or reverse proxy on this machine pass webhooks and scripts to a loopback-bound Kraft by sending Host localhost, and check that nobody gets in without signing in. - [Restart Kraft without ending running agents](https://kraft-sdlc.dev/raw/guides/run/restart-kraft.md): Pause the items that have an agent running, restart the server, and resume them, so the restart ends no agent. - [Back up and restore the database](https://kraft-sdlc.dev/raw/guides/run/back-up-and-restore.md): Back up Kraft's database while the server runs, check the backup, restore it, and find the copy Kraft makes before an upgrade. - [Logs and disk space](https://kraft-sdlc.dev/raw/guides/run/logs-and-disk-space.md): Where Kraft writes its logs, how to read a session's log, and how to free the disk space worktrees use. - [Run Kraft as a service](https://kraft-sdlc.dev/raw/guides/run/run-as-a-service.md): Start Kraft at login and restart it if it exits, set its environment, stop or remove the service, and run a second instance beside the first. - [Upgrade Kraft](https://kraft-sdlc.dev/raw/guides/run/upgrade-kraft.md): Back up, upgrade and check an installed Kraft, pin it to a version, and roll back to an earlier 2.x release, with pointers to the 1.4 upgrade and rollback. - [Upgrade your configuration](https://kraft-sdlc.dev/raw/guides/run/upgrade-your-configuration.md): Pick up new shipped chains, library tasks and policy after a Kraft upgrade, without losing your own edits. - [Upgrade from 1.4](https://kraft-sdlc.dev/raw/guides/run/upgrade-from-1-4.md): What 2.0 changes from 1.4 and what to do about each change, and the steps to update from 1.4 without losing the database. - [Upgrade from 0.x or a release candidate](https://kraft-sdlc.dev/raw/guides/run/upgrade-from-0-x-or-a-release-candidate.md): Upgrade to 2.0 from a 1.5.0 release candidate, from an install made before the kraft-sdlc rename, or from a Kraft 0.x home that holds the old template configuration. - [Roll back to 1.4](https://kraft-sdlc.dev/raw/guides/run/roll-back.md): What a rollback does to the database and the config directory, and the steps that take an upgraded install from 2.0 back to 1.4. - [Run items in your own checkout](https://kraft-sdlc.dev/raw/guides/run/run-items-in-place.md): Let a repo's work items run in the folder you connected, instead of in a git worktree each, and get one going again when Kraft stops it to keep your edits safe. - [Run the server](https://kraft-sdlc.dev/raw/guides/run.md): Reach, back up, upgrade and run the Kraft server. - [Kraft Lite](https://kraft-sdlc.dev/raw/guides/kraft-lite.md): The Kraft Lite plugin, which runs a chain inside one agent session with no service, and its slash commands. - [Guides](https://kraft-sdlc.dev/raw/guides.md): Task-focused how-tos for driving, extending, and reaching Kraft. - [Why did my item stop?](https://kraft-sdlc.dev/raw/troubleshooting/why-did-my-item-stop.md): Find the reason a work item stopped and needs you, the fix for each, and what to do when an item waits on CI or a review. - [Stop reasons in detail](https://kraft-sdlc.dev/raw/troubleshooting/stop-reasons-in-detail.md): The stop reasons that need more than one table row, each with what it means and the numbered fix. - [Starting and reaching Kraft](https://kraft-sdlc.dev/raw/troubleshooting/starting-and-reaching-kraft.md): Fix a kraft command that is not found, a server that will not start because its port is taken, and a 403 "unexpected Host" from a webhook or proxy. - [Doctor failures](https://kraft-sdlc.dev/raw/troubleshooting/doctor-failures.md): What each failing or warning row of kraft admin doctor means and how to clear it. - [Sandbox and Kit stops](https://kraft-sdlc.dev/raw/troubleshooting/sandbox-and-kit-stops.md): Find the reason a sandboxed work item stopped, whether a sandbox with no network policy, the sandbox's memory limit, a Kit Kraft will not run, a workspace member Kraft cannot check out, or a nested git repository Kraft did not create, and the fix for each. - [Add-on problems](https://kraft-sdlc.dev/raw/troubleshooting/addon-problems.md): Find the message a kraft admin addon command printed when it refused to add a collection, install, update or remove an add-on, or when validate rejected an add-on you wrote, and the fix for each. - [Troubleshooting](https://kraft-sdlc.dev/raw/troubleshooting.md): Where to look when a work item stopped, the server will not start, a doctor row fails, or an add-on is refused. - [Sidebar, search, and keyboard](https://kraft-sdlc.dev/raw/reference/web-ui/sidebar-search-and-keyboard.md): The sidebar, search, and every keyboard shortcut of the web UI. - [The board](https://kraft-sdlc.dev/raw/reference/web-ui/board.md): The board's four groups, what the button on a row does, the filters, selecting several items, archived items and the side panel. - [An item's page](https://kraft-sdlc.dev/raw/reference/web-ui/item-page.md): What an item's page shows, from the main action to the chain graph and the inspector for a chain, node, gate or task. - [Fix loops and test scopes](https://kraft-sdlc.dev/raw/reference/web-ui/fix-loops-and-test-scopes.md): How a node's own view shows a fix loop's rounds, repair and judge, and a changed-test-scope task's frame, chips and panels. - [Config before an item starts](https://kraft-sdlc.dev/raw/reference/web-ui/config-before-start.md): What the Config tabs show before Start, where each value comes from, and how a draft of overrides is reviewed and applied. - [The review page](https://kraft-sdlc.dev/raw/reference/web-ui/review-page.md): The review page's Compare toolbar, Viewed marks, line comments and Finish review dialog, and how the page opens at a gate. - [Templates and Settings](https://kraft-sdlc.dev/raw/reference/web-ui/templates-and-settings.md): The Templates screens for chains and the library, each Settings screen, and a repo's fields. - [Analytics](https://kraft-sdlc.dev/raw/reference/web-ui/analytics.md): What each figure, chart and table on the Analytics screen counts. - [Cap stops and the raises they offer](https://kraft-sdlc.dev/raw/reference/web-ui/cap-stops-and-raises.md): For each cap that can stop a work item, what the interface and the command line offer to raise it, and what they refuse. - [Web UI](https://kraft-sdlc.dev/raw/reference/web-ui.md): Every screen of Kraft's web UI, from the board and an item's page to the review page, Templates and Settings. - [Item verbs](https://kraft-sdlc.dev/raw/reference/cli/item.md): The kraft item verbs: file, approve, reject, pause, resume, retry, raise a budget, skip, escalate, and set policy. - [View verbs](https://kraft-sdlc.dev/raw/reference/cli/view.md): The kraft view verbs: read the board, follow a running item, and review its diff and documents. - [Repo verbs](https://kraft-sdlc.dev/raw/reference/cli/repo.md): The kraft repo verbs: list, connect, and disconnect repositories, review and take a repo's library, and reach their worktrees. - [Admin verbs](https://kraft-sdlc.dev/raw/reference/cli/admin.md): The kraft admin verbs: start, stop, check, update, and configure this machine's server. - [CLI](https://kraft-sdlc.dev/raw/reference/cli.md): Every kraft verb, grouped by what it does, and found by what you want to do. - [Console](https://kraft-sdlc.dev/raw/reference/console.md): The terminal UI that kraft console opens, for checking in on Kraft from a terminal, a tmux pane or over SSH. - [Work item statuses](https://kraft-sdlc.dev/raw/reference/statuses.md): The nine statuses a work item can hold, what moves it between them, and the status the board shows for each. - [How connect proposes commands](https://kraft-sdlc.dev/raw/reference/configuration/repos/connect-proposals.md): What kraft repo connect reads in a repo, where each proposed setup and test command comes from, and what it does when it finds none. - [detectors.yaml](https://kraft-sdlc.dev/raw/reference/configuration/repos/detectors.md): The keys of detectors.yaml, the file that teaches kraft repo connect your own setup and test conventions, and the toolchains Kraft ships. - [Workspaces](https://kraft-sdlc.dev/raw/reference/configuration/repos/workspaces.md): Declare a root repository with member submodules in repos.yaml, and what it means for sandboxing and publication. - [repos.yaml](https://kraft-sdlc.dev/raw/reference/configuration/repos.md): Every field in repos.yaml, where a repo's value comes from, and the pages for how connect proposes commands, detectors, workspaces and sandboxes. - [policy.yaml](https://kraft-sdlc.dev/raw/reference/configuration/policy.md): Every field in policy.yaml: caps, budget, concurrency, archiving, defaults and maxima, and the policy fields a layer may set. - [Library and chains](https://kraft-sdlc.dev/raw/reference/configuration/library-and-chains.md): The sections of library.yaml, the keys a library task takes for each kind, and how chains/*.yaml files compose them into chain templates. - [harnesses.yaml](https://kraft-sdlc.dev/raw/reference/configuration/harnesses-file.md): Every field in harnesses.yaml: the harnesses section (harness profiles) and the profiles section (agent profiles). - [access.yaml](https://kraft-sdlc.dev/raw/reference/configuration/access.md): Every field in access.yaml: bind address, port, password, session expiry and allowed hosts. - [intake.yaml](https://kraft-sdlc.dev/raw/reference/configuration/intake.md): Every field in intake.yaml: autonomous pickup from beads, and cron schedules. - [notify.yaml](https://kraft-sdlc.dev/raw/reference/configuration/notify.md): Every field in notify.yaml: the notification webhook, and which event types post to it. - [theme.yaml](https://kraft-sdlc.dev/raw/reference/configuration/theme.md): Every field in theme.yaml: the interface's colors, density, diff and board settings, and how a legacy palette key is read. - [Resource limits](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/resource-limits.md): The CPU, memory and process limits a sandbox sets on its container, when a limit cannot be enforced, and what Kraft does when a memory limit kills a process. - [Callbacks from a sandbox](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/callbacks.md): How a sandboxed worker reaches Kraft through a network policy's channel, which verbs it has there, and what is refused without one. - [Network policy](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/network-policy.md): How the hosts a sandboxed task may reach are listed, how Kraft enforces them, and what the policy does not cover. - [Credentials](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/credentials.md): How a sandbox's credentials keep a secret out of the container while Kraft's proxy adds it to requests, and what that cannot do. - [Kits](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/kits.md): How to declare a Kit as a repository's sandbox, and what Kraft enforces, reads and refuses. - [sandbox.yaml](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/sandbox-yaml.md): Every field in sandbox.yaml: which container CLI runs sandboxed tasks, how they get past SELinux, and which extra CA they trust. - [Git in a sandbox](https://kraft-sdlc.dev/raw/reference/configuration/sandbox/git-in-a-sandbox.md): How a sandboxed worker's repository refs, workspace members and worktree are handled, and what Kraft's own git does and does not do there. - [Sandboxed workers](https://kraft-sdlc.dev/raw/reference/configuration/sandbox.md): The sandbox key of repos.yaml, what reaches a sandboxed worker's container, and how its home, credentials, image and tool policy are handled. - [Environment variables](https://kraft-sdlc.dev/raw/reference/configuration/environment-variables.md): Every KRAFT_* variable Kraft reads or sets, the other variables it reads, and the variables a worker's environment gets. - [Add-ons and collections](https://kraft-sdlc.dev/raw/reference/configuration/addons.md): The files of a Kraft add-on and its collection, addons.yaml and addons.lock, the naming rules, what an add-on may set, and when an add-on loads, updates and is restored. - [Repo libraries](https://kraft-sdlc.dev/raw/reference/configuration/repo-libraries.md): A connected repository's .kraft/ folder as a library: its layout, names, where Kraft reads it from, how a person accepts it, automatic updates, the default chain, and repo-libraries.lock. - [Configuration](https://kraft-sdlc.dev/raw/reference/configuration.md): Which file in Kraft's config directory controls what, and how Kraft creates, edits, validates and rereads the directory. - [Subprocess tasks](https://kraft-sdlc.dev/raw/reference/chain-nodes/subprocess-tasks.md): What Kraft passes a subprocess task, how it runs, and how its exit code and result file become a status. - [Fix loop and judge](https://kraft-sdlc.dev/raw/reference/chain-nodes/fix-loop.md): When a node's fix loop opens, what its repair tasks are told, when the judge runs, and what each verdict does. - [Result file](https://kraft-sdlc.dev/raw/reference/chain-nodes/result-file.md): The JSON file a task writes at $KRAFT_RESULT_PATH, and every field Kraft reads from it. - [Chain file keys](https://kraft-sdlc.dev/raw/reference/chain-nodes.md): Every key a chain file accepts, from the chain down to each kind of task, plus read_only, extends, icons and canonical paths. - [Unattended runs](https://kraft-sdlc.dev/raw/reference/harnesses/unattended-runs.md): The permission mode each harness runs in when no one can answer a prompt, and where its tool calls go. - [Agent profiles](https://kraft-sdlc.dev/raw/reference/harnesses/agent-profiles.md): Named model tiers a task selects with profile: instead of model and effort. - [Harness definition files](https://kraft-sdlc.dev/raw/reference/harnesses/harness-files.md): The YAML file that describes one harness: the capabilities it declares, argv fragments, constraints, and allowlists. - [Fallback and escalation](https://kraft-sdlc.dev/raw/reference/harnesses/fallback-and-escalation.md): Where a launch goes next when a harness is limited or unavailable, and which harness runs an escalation turn. - [Cost reporting](https://kraft-sdlc.dev/raw/reference/harnesses/cost-reporting.md): Which harnesses report no dollar cost, how Kraft estimates what their sessions cost, and which caps still bound a session it cannot price. - [Agent harnesses](https://kraft-sdlc.dev/raw/reference/harnesses.md): Which agent CLIs Kraft runs, what each supports, and how a task picks one. - [Permission gate](https://kraft-sdlc.dev/raw/reference/permissions.md): What Kraft's permission gate does per harness, how it decides, and the keys that configure it. - [Inbound triggers](https://kraft-sdlc.dev/raw/reference/triggers.md): The schedule fields in intake.yaml and the POST /api/triggers contract for starting a chain from a cron or a webhook. - [Filing, reading and changing work items](https://kraft-sdlc.dev/raw/reference/http-api/work-items.md): The board's routes for filing a work item, duplicating it, reading the board and one item, changing an item, and acting on several at once. - [Gates, run control, ending and retry](https://kraft-sdlc.dev/raw/reference/http-api/gates-run-control-and-ending.md): The board's routes for deciding a gate, pausing, resuming, skipping, escalating, ending, archiving and retrying a work item, and the routes a worker calls. - [The work item object](https://kraft-sdlc.dev/raw/reference/http-api/work-item-object.md): The three shapes a work item answers in, its stored columns, and the fields that need an explanation, from its status and stop to its budget cap and plan progress. - [Budget, events, diff and documents](https://kraft-sdlc.dev/raw/reference/http-api/budget-and-events.md): The board's routes for the daily spend total, raising a budget, the dry run of a create, an item's events, its diff and review, and its documents. - [Repos, chains, harnesses and the server](https://kraft-sdlc.dev/raw/reference/http-api/repos-chains-harnesses-and-server.md): The board's routes for connecting a repo, reading chain templates and harnesses, applying saved changes, checking for updates, disk use and opening editors. - [Drafts](https://kraft-sdlc.dev/raw/reference/http-api/drafts.md): The routes the Templates and Settings editors use to keep, change, publish and discard drafts, the policy and intake-check routes beside them, and the result they answer. - [Ops for each draft area](https://kraft-sdlc.dev/raw/reference/http-api/draft-ops.md): The ops each kind of draft takes, one entry per op, with the answer each gives, and a work item's own draft. - [HTTP API](https://kraft-sdlc.dev/raw/reference/http-api.md): Which of Kraft's HTTP routes are stable, which the pages here document, where the full schema is, and who may call them. - [MCP tools](https://kraft-sdlc.dev/raw/reference/mcp-tools.md): Every tool the kraft MCP server serves, with its parameters and the kraft command that does the same. - [Events](https://kraft-sdlc.dev/raw/reference/events.md): Every event type on a work item's timeline, its key payload fields, and the notification webhook that sends them. - [Kraft for VS Code reference](https://kraft-sdlc.dev/raw/reference/vscode-extension.md): The Kraft extension's status bar, the items its board shows, its settings, Restricted Mode, and the versions it works with. - [Changes from 1.4 to 2.0](https://kraft-sdlc.dev/raw/reference/changes-from-1-4.md): What 2.0 changes from 1.4, what 1.4 did, and what to do about each change, plus where the pages moved and what became of your theme. - [Reference](https://kraft-sdlc.dev/raw/reference.md): Look-up pages for the web UI, the CLI, the console, configuration files, chain nodes, permissions, harnesses, triggers, the HTTP API, MCP tools, environment variables, and events. - [Security](https://kraft-sdlc.dev/raw/project/security.md): What Kraft does on your machine, the few settings that make it safe to run, and the threat model behind them: what it protects against and what it does not. - [Data and privacy](https://kraft-sdlc.dev/raw/project/data-and-privacy.md): What leaves your machine, where it goes, how to turn it off, and where Kraft keeps secrets and state. - [What's new in 2.0](https://kraft-sdlc.dev/raw/project/whats-new.md): What to do before you upgrade from 1.4, and what Kraft 2.0 brings, from a new interface and code-host review to a repo connect that reads more of the repo and safer sharing. - [Status and support](https://kraft-sdlc.dev/raw/project/status-and-support.md): Where to get help, which Kraft versions and platforms are supported, what its version numbers promise, and its license. - [Architecture](https://kraft-sdlc.dev/raw/project/architecture.md): One FastAPI process, the executor inside it, the worker sessions it spawns, how a work item flows through them, and where each trust boundary is enforced. - [Source map](https://kraft-sdlc.dev/raw/project/source-map.md): Which module under src/kraft/ holds what, and where to go to change a given thing. - [Contributing](https://kraft-sdlc.dev/raw/project/contributing.md): The steps to contribute a change, and where the full contributor guide and the release process live. - [Project](https://kraft-sdlc.dev/raw/project.md): Security, data and privacy, release news, status and support, architecture, and how to contribute. ## Landing - [Run your coding agent from spec to pull request](https://kraft-sdlc.dev/raw/index.md): A local orchestrator that takes your coding agent from spec to pull request, stopping only when a decision is yours.