[{"data":1,"prerenderedAt":556},["ShallowReactive",2],{"navigation_docs":3,"-guides-kraft-lite":270,"-guides-kraft-lite-surround":551},[4,28,51,110,243],{"title":5,"path":6,"stem":7,"children":8},"Get started","\u002Fget-started","1.get-started",[9,12,16,20,24],{"title":10,"path":6,"stem":11},"Overview","1.get-started\u002Findex",{"title":13,"path":14,"stem":15},"Why Kraft","\u002Fget-started\u002Fwhy-kraft","1.get-started\u002F0.why-kraft",{"title":17,"path":18,"stem":19},"Install","\u002Fget-started\u002Finstall","1.get-started\u002F1.install",{"title":21,"path":22,"stem":23},"Your first work item","\u002Fget-started\u002Ffirst-work-item","1.get-started\u002F2.first-work-item",{"title":25,"path":26,"stem":27},"Troubleshooting and FAQ","\u002Fget-started\u002Ftroubleshooting","1.get-started\u002F3.troubleshooting",{"title":29,"path":30,"stem":31,"children":32},"Concepts","\u002Fconcepts","2.concepts",[33,35,39,43,47],{"title":10,"path":30,"stem":34},"2.concepts\u002Findex",{"title":36,"path":37,"stem":38},"Vocabulary","\u002Fconcepts\u002Fvocabulary","2.concepts\u002F1.vocabulary",{"title":40,"path":41,"stem":42},"How a work item runs","\u002Fconcepts\u002Fhow-a-work-item-runs","2.concepts\u002F2.how-a-work-item-runs",{"title":44,"path":45,"stem":46},"Caps and budgets","\u002Fconcepts\u002Fcaps-and-budgets","2.concepts\u002F3.caps-and-budgets",{"title":48,"path":49,"stem":50},"Why a permission gate","\u002Fconcepts\u002Fpermission-gate","2.concepts\u002F4.permission-gate",{"title":52,"path":53,"stem":54,"children":55},"Guides","\u002Fguides","3.guides",[56,58,62,66,70,74,78,82,86,90,94,98,102,106],{"title":10,"path":53,"stem":57},"3.guides\u002Findex",{"title":59,"path":60,"stem":61},"Use Kraft from your agent","\u002Fguides\u002Fagent-integration","3.guides\u002F01.agent-integration",{"title":63,"path":64,"stem":65},"Kraft Lite","\u002Fguides\u002Fkraft-lite","3.guides\u002F02.kraft-lite",{"title":67,"path":68,"stem":69},"Remote access","\u002Fguides\u002Fremote-access","3.guides\u002F03.remote-access",{"title":71,"path":72,"stem":73},"Add or override a harness","\u002Fguides\u002Fadding-a-harness","3.guides\u002F04.adding-a-harness",{"title":75,"path":76,"stem":77},"Schedule or webhook work","\u002Fguides\u002Fschedule-and-webhook-work","3.guides\u002F05.schedule-and-webhook-work",{"title":79,"path":80,"stem":81},"Add a security review or a gate reviewer","\u002Fguides\u002Fadd-review-agents","3.guides\u002F06.add-review-agents",{"title":83,"path":84,"stem":85},"Kraft for VS Code","\u002Fguides\u002Fvscode","3.guides\u002F07.vscode",{"title":87,"path":88,"stem":89},"Reviewing a change","\u002Fguides\u002Freview-a-change","3.guides\u002F08.review-a-change",{"title":91,"path":92,"stem":93},"Write your own chain","\u002Fguides\u002Fwrite-your-own-chain","3.guides\u002F09.write-your-own-chain",{"title":95,"path":96,"stem":97},"Switch a harness","\u002Fguides\u002Fswitch-harness","3.guides\u002F10.switch-harness",{"title":99,"path":100,"stem":101},"Upgrade your templates","\u002Fguides\u002Fupgrading-templates","3.guides\u002F11.upgrading-templates",{"title":103,"path":104,"stem":105},"Operations","\u002Fguides\u002Foperations","3.guides\u002F12.operations",{"title":107,"path":108,"stem":109},"Worker Kit","\u002Fguides\u002Fworker-kit","3.guides\u002F13.worker-kit",{"title":111,"path":112,"stem":113,"children":114},"Reference","\u002Freference","4.reference",[115,117,139,183,201,205,227,231,235,239],{"title":10,"path":112,"stem":116},"4.reference\u002Findex",{"title":118,"path":119,"stem":120,"children":121},"CLI","\u002Freference\u002Fcli","4.reference\u002F1.cli\u002Findex",[122,123,127,131,135],{"title":10,"path":119,"stem":120},{"title":124,"path":125,"stem":126},"Item verbs","\u002Freference\u002Fcli\u002Fitem","4.reference\u002F1.cli\u002F2.item",{"title":128,"path":129,"stem":130},"View verbs","\u002Freference\u002Fcli\u002Fview","4.reference\u002F1.cli\u002F3.view",{"title":132,"path":133,"stem":134},"Repo verbs","\u002Freference\u002Fcli\u002Frepo","4.reference\u002F1.cli\u002F4.repo",{"title":136,"path":137,"stem":138},"Admin verbs","\u002Freference\u002Fcli\u002Fadmin","4.reference\u002F1.cli\u002F5.admin",{"title":140,"path":141,"stem":142,"children":143},"Configuration","\u002Freference\u002Fconfiguration","4.reference\u002F2.configuration\u002Findex",[144,145,155,159,163,167,171,175,179],{"title":10,"path":141,"stem":142},{"title":146,"path":147,"stem":148,"children":149},"Repos","\u002Freference\u002Fconfiguration\u002Frepos","4.reference\u002F2.configuration\u002F2.repos\u002Findex",[150,151],{"title":10,"path":147,"stem":148},{"title":152,"path":153,"stem":154},"Workspaces","\u002Freference\u002Fconfiguration\u002Frepos\u002Fworkspaces","4.reference\u002F2.configuration\u002F2.repos\u002F3.workspaces",{"title":156,"path":157,"stem":158},"Policy","\u002Freference\u002Fconfiguration\u002Fpolicy","4.reference\u002F2.configuration\u002F3.policy",{"title":160,"path":161,"stem":162},"Library and chains","\u002Freference\u002Fconfiguration\u002Flibrary-and-chains","4.reference\u002F2.configuration\u002F4.library-and-chains",{"title":164,"path":165,"stem":166},"Harnesses file","\u002Freference\u002Fconfiguration\u002Fharnesses-file","4.reference\u002F2.configuration\u002F5.harnesses-file",{"title":168,"path":169,"stem":170},"Access","\u002Freference\u002Fconfiguration\u002Faccess","4.reference\u002F2.configuration\u002F6.access",{"title":172,"path":173,"stem":174},"Intake","\u002Freference\u002Fconfiguration\u002Fintake","4.reference\u002F2.configuration\u002F7.intake",{"title":176,"path":177,"stem":178},"Sandbox host","\u002Freference\u002Fconfiguration\u002Fsandbox","4.reference\u002F2.configuration\u002F8.sandbox",{"title":180,"path":181,"stem":182},"Environment variables","\u002Freference\u002Fconfiguration\u002Fenvironment-variables","4.reference\u002F2.configuration\u002F9.environment-variables",{"title":184,"path":185,"stem":186,"children":187},"Chain nodes","\u002Freference\u002Fchain-nodes","4.reference\u002F3.chain-nodes\u002Findex",[188,189,193,197],{"title":10,"path":185,"stem":186},{"title":190,"path":191,"stem":192},"Subprocess tasks","\u002Freference\u002Fchain-nodes\u002Fsubprocess-tasks","4.reference\u002F3.chain-nodes\u002F2.subprocess-tasks",{"title":194,"path":195,"stem":196},"Fix loop and judge","\u002Freference\u002Fchain-nodes\u002Ffix-loop","4.reference\u002F3.chain-nodes\u002F3.fix-loop",{"title":198,"path":199,"stem":200},"Result file","\u002Freference\u002Fchain-nodes\u002Fresult-file","4.reference\u002F3.chain-nodes\u002F4.result-file",{"title":202,"path":203,"stem":204},"Permission gate","\u002Freference\u002Fpermissions","4.reference\u002F4.permissions",{"title":206,"path":207,"stem":208,"children":209},"Agent harnesses","\u002Freference\u002Fharnesses","4.reference\u002F5.harnesses\u002Findex",[210,211,215,219,223],{"title":10,"path":207,"stem":208},{"title":212,"path":213,"stem":214},"Unattended runs","\u002Freference\u002Fharnesses\u002Funattended-runs","4.reference\u002F5.harnesses\u002F2.unattended-runs",{"title":216,"path":217,"stem":218},"Agent profiles","\u002Freference\u002Fharnesses\u002Fagent-profiles","4.reference\u002F5.harnesses\u002F3.agent-profiles",{"title":220,"path":221,"stem":222},"Harness files","\u002Freference\u002Fharnesses\u002Fharness-files","4.reference\u002F5.harnesses\u002F4.harness-files",{"title":224,"path":225,"stem":226},"Fallback and escalation","\u002Freference\u002Fharnesses\u002Ffallback-and-escalation","4.reference\u002F5.harnesses\u002F5.fallback-and-escalation",{"title":228,"path":229,"stem":230},"Inbound triggers","\u002Freference\u002Ftriggers","4.reference\u002F6.triggers",{"title":232,"path":233,"stem":234},"HTTP API","\u002Freference\u002Fhttp-api","4.reference\u002F7.http-api",{"title":236,"path":237,"stem":238},"MCP tools","\u002Freference\u002Fmcp-tools","4.reference\u002F8.mcp-tools",{"title":240,"path":241,"stem":242},"Events","\u002Freference\u002Fevents","4.reference\u002F9.events",{"title":244,"path":245,"stem":246,"children":247},"Project","\u002Fproject","5.project",[248,250,254,258,262,266],{"title":10,"path":245,"stem":249},"5.project\u002Findex",{"title":251,"path":252,"stem":253},"Architecture","\u002Fproject\u002Farchitecture","5.project\u002F1.architecture",{"title":255,"path":256,"stem":257},"Contributing","\u002Fproject\u002Fcontributing","5.project\u002F2.contributing",{"title":259,"path":260,"stem":261},"Security","\u002Fproject\u002Fsecurity","5.project\u002F3.security",{"title":263,"path":264,"stem":265},"Data and privacy","\u002Fproject\u002Fdata-and-privacy","5.project\u002F4.data-and-privacy",{"title":267,"path":268,"stem":269},"Status and support","\u002Fproject\u002Fstatus-and-support","5.project\u002F5.status-and-support",{"id":271,"title":63,"body":272,"description":544,"extension":545,"links":546,"meta":547,"navigation":548,"path":64,"seo":549,"stem":65,"__hash__":550},"docs\u002F3.guides\u002F02.kraft-lite.md",{"type":273,"value":274,"toc":537},"minimark",[275,279,294,298,304,347,358,369,373,444,448,509,513,519,523,533],[276,277,278],"p",{},"Kraft Lite runs a chain of work inside a single agent session: the same\nordered nodes, human gates, and fix-loop caps as Kraft, with no service, port,\nor database process. It is the attended half of Kraft. The chain runs in front\nof you and resumes across sessions, but it doesn't outlive your terminal.",[276,280,281,282,290,291,293],{},"Unlike the ",[283,284,285,289],"a",{"href":60},[286,287,288],"code",{},"kraft"," plugin",", Lite needs neither\nthe ",[286,292,288],{}," binary nor an MCP server. It needs Python 3.10 or newer and nothing\nelse.",[295,296,17],"h2",{"id":297},"install",[276,299,300,301,303],{},"Lite ships in the same plugin marketplace as the ",[286,302,288],{}," plugin:",[305,306,311],"pre",{"className":307,"code":308,"language":309,"meta":310,"style":310},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","claude plugin marketplace add itsOmidKarami\u002Fkraft\nclaude plugin install kraft-lite@kraft\n","bash","",[286,312,313,334],{"__ignoreMap":310},[314,315,318,322,325,328,331],"span",{"class":316,"line":317},"line",1,[314,319,321],{"class":320},"sBMFI","claude",[314,323,289],{"class":324},"sfazB",[314,326,327],{"class":324}," marketplace",[314,329,330],{"class":324}," add",[314,332,333],{"class":324}," itsOmidKarami\u002Fkraft\n",[314,335,337,339,341,344],{"class":316,"line":336},2,[314,338,321],{"class":320},[314,340,289],{"class":324},[314,342,343],{"class":324}," install",[314,345,346],{"class":324}," kraft-lite@kraft\n",[276,348,349,350,353,354,357],{},"Add ",[286,351,352],{},"--scope project"," to either command to keep it to one repo. Update with\n",[286,355,356],{},"claude plugin update kraft-lite",".",[276,359,360,361,364,365,368],{},"To check the install, run ",[286,362,363],{},"\u002Fkraft-lite:init"," in a repo, then\n",[286,366,367],{},"\u002Fkraft-lite:status",". Status reports that no chain is running yet.",[295,370,372],{"id":371},"slash-commands","Slash commands",[374,375,376,389],"table",{},[377,378,379],"thead",{},[380,381,382,386],"tr",{},[383,384,385],"th",{},"Command",[383,387,388],{},"What it does",[390,391,392,405,415,425,435],"tbody",{},[380,393,394,399],{},[395,396,397],"td",{},[286,398,363],{},[395,400,401,402,357],{},"Once per repo: detects the test command and which installed skills can run each node, and writes an editable ",[286,403,404],{},".kraft-lite\u002Fregistry.yaml",[380,406,407,412],{},[395,408,409],{},[286,410,411],{},"\u002Fkraft-lite:start",[395,413,414],{},"Materializes a chain's nodes and runs the first one.",[380,416,417,422],{},[395,418,419],{},[286,420,421],{},"\u002Fkraft-lite:next",[395,423,424],{},"Runs the next node, or resumes one after a gate, a new session, or a cleared context.",[380,426,427,432],{},[395,428,429],{},[286,430,431],{},"\u002Fkraft-lite:gate",[395,433,434],{},"Presents what a blocked gate needs decided, then records the approval or rejection.",[380,436,437,441],{},[395,438,439],{},[286,440,367],{},[395,442,443],{},"Reports which node is live, what blocks it, and how many fix attempts are spent.",[295,445,447],{"id":446},"behavior","Behavior",[449,450,451,459,465,471,500],"ul",{},[452,453,454,458],"li",{},[455,456,457],"strong",{},"Nodes."," The packaged chain runs from spec through plan, implementation,\nverification, and review, with gates where a human decides.",[452,460,461,464],{},[455,462,463],{},"Who runs each node."," Lite supplies the order, the gates, and the caps. The\nregistry binds each node to a skill you already have, and Lite calls it.\nLite doesn't supply a spec writer or a planner.",[452,466,467,470],{},[455,468,469],{},"Freezing."," A chain freezes when it starts. You can't reorder, add, or\nremove its nodes. The registry is reread on every dispatch, so rebinding a\nnode in it corrects a chain already in flight.",[452,472,473,476,477,481,482,485,486,489,490,493,494,496,497,357],{},[455,474,475],{},"State."," Lite keeps state in ",[283,478,480],{"href":479},"\u002Fconcepts\u002Fvocabulary#beads","beads"," (",[286,483,484],{},"bd",")\nwhen the repo has it, and otherwise in ",[286,487,488],{},".kraft-lite\u002Fchain.jsonl",". The format\nis the same ",[286,491,492],{},"bd export"," format either way, so adopting ",[286,495,484],{}," later is\n",[286,498,499],{},"bd import",[452,501,502,505,506,357],{},[455,503,504],{},"Several chains."," One directory can hold several chains. With two or more\nunfinished chains, each command needs ",[286,507,508],{},"--chain-id \u003Cid>",[295,510,512],{"id":511},"what-lite-doesnt-do","What Lite doesn't do",[276,514,515,516,357],{},"Lite has no unattended execution, web board, unattended CI waiting, spend caps, or\ncross-repo search. For those, use ",[283,517,518],{"href":18},"Kraft",[295,520,522],{"id":521},"more-detail","More detail",[276,524,525,526,532],{},"The ",[283,527,531],{"href":528,"rel":529},"https:\u002F\u002Fgithub.com\u002FitsOmidKarami\u002Fkraft\u002Fblob\u002Fmain\u002Fplugins\u002Fkraft-lite\u002FREADME.md",[530],"nofollow","Kraft Lite README","\nis the source of truth for the chain's contents, what runs each node, and\nstate handling. It changes faster than this page.",[534,535,536],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":310,"searchDepth":336,"depth":336,"links":538},[539,540,541,542,543],{"id":297,"depth":336,"text":17},{"id":371,"depth":336,"text":372},{"id":446,"depth":336,"text":447},{"id":511,"depth":336,"text":512},{"id":521,"depth":336,"text":522},"The Kraft Lite plugin, which runs a chain inside one agent session with no service, and its slash commands.","md",null,{},true,{"title":63,"description":544},"QKuJThlz0uN55n65JZMD9KFeQ4jRWeLjg3TY0R0J_ng",[552,554],{"title":59,"path":60,"stem":61,"description":553,"children":-1},"Register Kraft with Claude Code, Codex, Cursor, OpenCode, Amp or Gemini CLI, drive it from that agent, and run workers on it.",{"title":67,"path":68,"stem":69,"description":555,"children":-1},"Approve or reject a gate from a phone, over Tailscale or a tunnel, using the same password auth as the local board.",1790824539671]