[{"data":1,"prerenderedAt":845},["ShallowReactive",2],{"navigation_docs":3,"-guide-configuration":168,"-guide-configuration-surround":841},[4,146],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":36},"Guide","i-lucide-book-open","\u002Fguide","1.guide",[10,14,37,55,59,63,67,71,75,79,83,87,109,134,138,142],{"title":11,"path":12,"stem":13},"What is Agent Zero?","\u002Fguide\u002Fintroduction","1.guide\u002F1.introduction",{"title":15,"icon":16,"path":17,"stem":18,"children":19,"page":36},"API","i-lucide-plug","\u002Fguide\u002Fapi","1.guide\u002F10.api",[20,24,28,32],{"title":21,"path":22,"stem":23},"API overview","\u002Fguide\u002Fapi\u002Foverview","1.guide\u002F10.api\u002F1.overview",{"title":25,"path":26,"stem":27},"Define endpoints","\u002Fguide\u002Fapi\u002Fdefine-endpoints","1.guide\u002F10.api\u002F2.define-endpoints",{"title":29,"path":30,"stem":31},"Use the API from a client","\u002Fguide\u002Fapi\u002Fuse-from-client","1.guide\u002F10.api\u002F3.use-from-client",{"title":33,"path":34,"stem":35},"Protect endpoints","\u002Fguide\u002Fapi\u002Fprotect-endpoints","1.guide\u002F10.api\u002F4.protect-endpoints",false,{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":36},"Authentication","i-lucide-lock","\u002Fguide\u002Fauthentication","1.guide\u002F11.authentication",[43,47,51],{"title":44,"path":45,"stem":46},"Authentication overview","\u002Fguide\u002Fauthentication\u002Foverview","1.guide\u002F11.authentication\u002F1.overview",{"title":48,"path":49,"stem":50},"GitHub OAuth","\u002Fguide\u002Fauthentication\u002Foauth","1.guide\u002F11.authentication\u002F2.oauth",{"title":52,"path":53,"stem":54},"Permissions","\u002Fguide\u002Fauthentication\u002Fpermissions","1.guide\u002F11.authentication\u002F3.permissions",{"title":56,"path":57,"stem":58},"Organizations","\u002Fguide\u002Forganizations","1.guide\u002F12.organizations",{"title":60,"path":61,"stem":62},"Frontend","\u002Fguide\u002Ffrontend","1.guide\u002F13.frontend",{"title":64,"path":65,"stem":66},"Mails","\u002Fguide\u002Fmails","1.guide\u002F14.mails",{"title":68,"path":69,"stem":70},"Internationalization","\u002Fguide\u002Finternationalization","1.guide\u002F15.internationalization",{"title":72,"path":73,"stem":74},"Deployment","\u002Fguide\u002Fdeployment","1.guide\u002F16.deployment",{"title":76,"path":77,"stem":78},"Tech stack","\u002Fguide\u002Ftech-stack","1.guide\u002F2.tech-stack",{"title":80,"path":81,"stem":82},"Installation","\u002Fguide\u002Finstallation","1.guide\u002F3.installation",{"title":84,"path":85,"stem":86},"Environment variables","\u002Fguide\u002Fenvironment-variables","1.guide\u002F4.environment-variables",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":36},"Codebase","i-lucide-folder-tree","\u002Fguide\u002Fcodebase","1.guide\u002F5.codebase",[93,97,101,105],{"title":94,"path":95,"stem":96},"Codebase structure","\u002Fguide\u002Fcodebase\u002Fstructure","1.guide\u002F5.codebase\u002F1.structure",{"title":98,"path":99,"stem":100},"Dependencies","\u002Fguide\u002Fcodebase\u002Fdependencies","1.guide\u002F5.codebase\u002F2.dependencies",{"title":102,"path":103,"stem":104},"Formatting and linting","\u002Fguide\u002Fcodebase\u002Fformatting-linting","1.guide\u002F5.codebase\u002F3.formatting-linting",{"title":106,"path":107,"stem":108},"Agent Skills","\u002Fguide\u002Fcodebase\u002Fagent-skills","1.guide\u002F5.codebase\u002F4.agent-skills",{"title":110,"icon":111,"path":112,"stem":113,"children":114,"page":36},"Architecture","i-lucide-layers","\u002Fguide\u002Farchitecture","1.guide\u002F6.architecture",[115,118,122,126,130],{"title":110,"path":116,"stem":117},"\u002Fguide\u002Farchitecture\u002Foverview","1.guide\u002F6.architecture\u002F1.overview",{"title":119,"path":120,"stem":121},"State machine","\u002Fguide\u002Farchitecture\u002Fstate-machine","1.guide\u002F6.architecture\u002F2.state-machine",{"title":123,"path":124,"stem":125},"Execution boundary","\u002Fguide\u002Farchitecture\u002Fexecution-boundary","1.guide\u002F6.architecture\u002F3.execution-boundary",{"title":127,"path":128,"stem":129},"Issue-to-PR workflow","\u002Fguide\u002Farchitecture\u002Fissue-to-pr","1.guide\u002F6.architecture\u002F4.issue-to-pr",{"title":131,"path":132,"stem":133},"Adding a capability","\u002Fguide\u002Farchitecture\u002Fadding-a-capability","1.guide\u002F6.architecture\u002F5.adding-a-capability",{"title":135,"path":136,"stem":137},"Repository policy","\u002Fguide\u002Fconfiguration","1.guide\u002F7.configuration",{"title":139,"path":140,"stem":141},"Safety model","\u002Fguide\u002Fsafety","1.guide\u002F8.safety",{"title":143,"path":144,"stem":145},"Database","\u002Fguide\u002Fdatabase","1.guide\u002F9.database",{"title":147,"icon":148,"path":149,"stem":150,"children":151,"page":36},"Reference","i-lucide-book-marked","\u002Freference","2.reference",[152,156,160,164],{"title":153,"path":154,"stem":155},"CLI","\u002Freference\u002Fcli","2.reference\u002F1.cli",{"title":157,"path":158,"stem":159},"Model providers","\u002Freference\u002Fmodel-providers","2.reference\u002F2.model-providers",{"title":161,"path":162,"stem":163},"Source-control providers","\u002Freference\u002Fsource-control-providers","2.reference\u002F3.source-control-providers",{"title":165,"path":166,"stem":167},"Sandbox providers","\u002Freference\u002Fsandbox-providers","2.reference\u002F4.sandbox-providers",{"id":169,"title":135,"body":170,"description":835,"extension":836,"links":837,"meta":838,"navigation":671,"path":136,"seo":839,"stem":137,"__hash__":840},"docs\u002F1.guide\u002F7.configuration.md",{"type":171,"value":172,"toc":824},"minimark",[173,182,204,212,228,233,264,288,292,316,326,330,382,397,401,415,433,437,491,524,528,575,581,585,627,637,641,749,767,771,815,820],[174,175,176,177,181],"p",{},"Agent Zero reads its per-repository policy from ",[178,179,180],"code",{},".agent-zero.yml"," at the repository root. Create one with:",[183,184,189],"pre",{"className":185,"code":186,"language":187,"meta":188,"style":188},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","zero init\n","bash","",[178,190,191],{"__ignoreMap":188},[192,193,196,200],"span",{"class":194,"line":195},"line",1,[192,197,199],{"class":198},"sBMFI","zero",[192,201,203],{"class":202},"sfazB"," init\n",[174,205,206,207,211],{},"Repository policy is deliberately limited: it can restrict what Agent Zero does, but it can never name endpoints or credentials — those come only from the ",[208,209,210],"a",{"href":85},"environment",", so untrusted repository configuration cannot redirect a secret.",[174,213,214,215,223,224,227],{},"The annotated template lives at ",[208,216,220],{"href":217,"rel":218},"https:\u002F\u002Fgithub.com\u002Fwolfstar-project\u002Fagent-zero\u002Fblob\u002Fmain\u002F.agent-zero.example.yml",[219],"nofollow",[178,221,222],{},".agent-zero.example.yml",". ",[178,225,226],{},"packages\u002Fconfig"," parses and validates it.",[229,230,232],"h2",{"id":231},"mode","Mode",[183,234,238],{"className":235,"code":236,"language":237,"meta":188,"style":188},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","version: 1\nmode: observe\n","yaml",[178,239,240,254],{"__ignoreMap":188},[192,241,242,246,250],{"class":194,"line":195},[192,243,245],{"class":244},"swJcz","version",[192,247,249],{"class":248},"sMK4o",":",[192,251,253],{"class":252},"sbssI"," 1\n",[192,255,257,259,261],{"class":194,"line":256},2,[192,258,231],{"class":244},[192,260,249],{"class":248},[192,262,263],{"class":202}," observe\n",[174,265,266,269,270,273,274,269,277,280,281,284,285,287],{},[178,267,268],{},"observe"," and ",[178,271,272],{},"suggest"," can never write. ",[178,275,276],{},"fix",[178,278,279],{},"autonomous"," also require ",[178,282,283],{},"autofix.enabled"," below. See the ",[208,286,139],{"href":140}," for the full authorization chain.",[229,289,291],{"id":290},"proactive-review","Proactive review",[183,293,295],{"className":235,"code":294,"language":237,"meta":188,"style":188},"proactive:\n  enabled: false\n",[178,296,297,305],{"__ignoreMap":188},[192,298,299,302],{"class":194,"line":195},[192,300,301],{"class":244},"proactive",[192,303,304],{"class":248},":\n",[192,306,307,310,312],{"class":194,"line":256},[192,308,309],{"class":244},"  enabled",[192,311,249],{"class":248},[192,313,315],{"class":314},"sfNiH"," false\n",[174,317,318,319,322,323,325],{},"When enabled, authenticated ",[178,320,321],{},"pull_request"," webhooks trigger a diff inspection. The configured ",[178,324,231],{}," controls whether the run reports only or requests autofix authority.",[229,327,329],{"id":328},"issues","Issues",[183,331,333],{"className":235,"code":332,"language":237,"meta":188,"style":188},"issues:\n  enabled: false\n  requireLabel: agent-zero\n  branchPrefix: agent-zero\u002F\n  validationComment: true\n",[178,334,335,341,349,360,371],{"__ignoreMap":188},[192,336,337,339],{"class":194,"line":195},[192,338,328],{"class":244},[192,340,304],{"class":248},[192,342,343,345,347],{"class":194,"line":256},[192,344,309],{"class":244},[192,346,249],{"class":248},[192,348,315],{"class":314},[192,350,352,355,357],{"class":194,"line":351},3,[192,353,354],{"class":244},"  requireLabel",[192,356,249],{"class":248},[192,358,359],{"class":202}," agent-zero\n",[192,361,363,366,368],{"class":194,"line":362},4,[192,364,365],{"class":244},"  branchPrefix",[192,367,249],{"class":248},[192,369,370],{"class":202}," agent-zero\u002F\n",[192,372,374,377,379],{"class":194,"line":373},5,[192,375,376],{"class":244},"  validationComment",[192,378,249],{"class":248},[192,380,381],{"class":314}," true\n",[174,383,384,385,389,390,393,394,396],{},"Turn scoped GitHub issues into verified pull requests. Opt-in twice: enable it here ",[386,387,388],"strong",{},"and"," label the issue with ",[178,391,392],{},"requireLabel",". See ",[208,395,127],{"href":128},".",[229,398,400],{"id":399},"checks","Checks",[183,402,404],{"className":235,"code":403,"language":237,"meta":188,"style":188},"checks: []\n",[178,405,406],{"__ignoreMap":188},[192,407,408,410,412],{"class":194,"line":195},[192,409,399],{"class":244},[192,411,249],{"class":248},[192,413,414],{"class":248}," []\n",[174,416,417,418,421,422,421,425,428,429,432],{},"Commands used to verify a change. Leave empty to discover the repository's own lint, typecheck, test, and build scripts. Commands run without a shell, so operators such as ",[178,419,420],{},"&&",", ",[178,423,424],{},"|",[178,426,427],{},";",", and ",[178,430,431],{},"$()"," are rejected.",[229,434,436],{"id":435},"autofix","Autofix",[183,438,440],{"className":235,"code":439,"language":237,"meta":188,"style":188},"autofix:\n  enabled: false\n  minConfidence: 0.85\n  allowedChangeRisks:\n    - mechanical\n  requireIsolated: true\n",[178,441,442,448,456,466,473,481],{"__ignoreMap":188},[192,443,444,446],{"class":194,"line":195},[192,445,435],{"class":244},[192,447,304],{"class":248},[192,449,450,452,454],{"class":194,"line":256},[192,451,309],{"class":244},[192,453,249],{"class":248},[192,455,315],{"class":314},[192,457,458,461,463],{"class":194,"line":351},[192,459,460],{"class":244},"  minConfidence",[192,462,249],{"class":248},[192,464,465],{"class":252}," 0.85\n",[192,467,468,471],{"class":194,"line":362},[192,469,470],{"class":244},"  allowedChangeRisks",[192,472,304],{"class":248},[192,474,475,478],{"class":194,"line":373},[192,476,477],{"class":248},"    -",[192,479,480],{"class":202}," mechanical\n",[192,482,484,487,489],{"class":194,"line":483},6,[192,485,486],{"class":244},"  requireIsolated",[192,488,249],{"class":248},[192,490,381],{"class":314},[492,493,494,501,518],"ul",{},[495,496,497,500],"li",{},[178,498,499],{},"minConfidence"," — confidence required before Agent Zero may change files.",[495,502,503,506,507,510,511,514,515,396],{},[178,504,505],{},"allowedChangeRisks"," — ",[178,508,509],{},"mechanical"," is the conservative default. ",[178,512,513],{},"behavioral"," may be added explicitly; ",[386,516,517],{},"high-impact changes always require human approval and cannot be enabled here",[495,519,520,523],{},[178,521,522],{},"requireIsolated"," — proactive and autonomous writes require a runner that can prove isolation.",[229,525,527],{"id":526},"validation","Validation",[183,529,531],{"className":235,"code":530,"language":237,"meta":188,"style":188},"validation:\n  minConfidence: 0.6\n  requireEvidence: true\n  requireKnownFiles: true\n  verifyQuotedEvidence: true\n",[178,532,533,539,548,557,566],{"__ignoreMap":188},[192,534,535,537],{"class":194,"line":195},[192,536,526],{"class":244},[192,538,304],{"class":248},[192,540,541,543,545],{"class":194,"line":256},[192,542,460],{"class":244},[192,544,249],{"class":248},[192,546,547],{"class":252}," 0.6\n",[192,549,550,553,555],{"class":194,"line":351},[192,551,552],{"class":244},"  requireEvidence",[192,554,249],{"class":248},[192,556,381],{"class":314},[192,558,559,562,564],{"class":194,"line":362},[192,560,561],{"class":244},"  requireKnownFiles",[192,563,249],{"class":248},[192,565,381],{"class":314},[192,567,568,571,573],{"class":194,"line":373},[192,569,570],{"class":244},"  verifyQuotedEvidence",[192,572,249],{"class":248},[192,574,381],{"class":314},[174,576,577,578,580],{},"How a reviewer's claim is checked against the repository before it is acted on. Below ",[178,579,499],{},", a supported claim is reported as inconclusive — never fixed.",[229,582,584],{"id":583},"agent-limits","Agent limits",[183,586,588],{"className":235,"code":587,"language":237,"meta":188,"style":188},"agent:\n  maxAttempts: 3\n  timeoutMs: 1800000\n  maxChangedFiles: 10\n",[178,589,590,597,607,617],{"__ignoreMap":188},[192,591,592,595],{"class":194,"line":195},[192,593,594],{"class":244},"agent",[192,596,304],{"class":248},[192,598,599,602,604],{"class":194,"line":256},[192,600,601],{"class":244},"  maxAttempts",[192,603,249],{"class":248},[192,605,606],{"class":252}," 3\n",[192,608,609,612,614],{"class":194,"line":351},[192,610,611],{"class":244},"  timeoutMs",[192,613,249],{"class":248},[192,615,616],{"class":252}," 1800000\n",[192,618,619,622,624],{"class":194,"line":362},[192,620,621],{"class":244},"  maxChangedFiles",[192,623,249],{"class":248},[192,625,626],{"class":252}," 10\n",[174,628,629,632,633,636],{},[178,630,631],{},"maxAttempts"," bounds repair loops before a run stops and asks for a human. ",[178,634,635],{},"maxChangedFiles"," is the upper bound on files a single narrow fix may touch.",[229,638,640],{"id":639},"permissions-and-runner","Permissions and runner",[183,642,644],{"className":235,"code":643,"language":237,"meta":188,"style":188},"permissions:\n  network: restricted # none, restricted, or full\n\nrunner:\n  isolation: local # local for trusted development; container for production\n  engine: docker\n  # image: node:22-bookworm-slim\n  workdir: \u002Fworkspace\n  # cpus: '2'\n  # memory: 4g\n  # network: agent-zero\n  maxOutputBytes: 200000\n",[178,645,646,653,667,673,680,693,703,709,720,726,732,738],{"__ignoreMap":188},[192,647,648,651],{"class":194,"line":195},[192,649,650],{"class":244},"permissions",[192,652,304],{"class":248},[192,654,655,658,660,663],{"class":194,"line":256},[192,656,657],{"class":244},"  network",[192,659,249],{"class":248},[192,661,662],{"class":202}," restricted",[192,664,666],{"class":665},"sHwdD"," # none, restricted, or full\n",[192,668,669],{"class":194,"line":351},[192,670,672],{"emptyLinePlaceholder":671},true,"\n",[192,674,675,678],{"class":194,"line":362},[192,676,677],{"class":244},"runner",[192,679,304],{"class":248},[192,681,682,685,687,690],{"class":194,"line":373},[192,683,684],{"class":244},"  isolation",[192,686,249],{"class":248},[192,688,689],{"class":202}," local",[192,691,692],{"class":665}," # local for trusted development; container for production\n",[192,694,695,698,700],{"class":194,"line":483},[192,696,697],{"class":244},"  engine",[192,699,249],{"class":248},[192,701,702],{"class":202}," docker\n",[192,704,706],{"class":194,"line":705},7,[192,707,708],{"class":665},"  # image: node:22-bookworm-slim\n",[192,710,712,715,717],{"class":194,"line":711},8,[192,713,714],{"class":244},"  workdir",[192,716,249],{"class":248},[192,718,719],{"class":202}," \u002Fworkspace\n",[192,721,723],{"class":194,"line":722},9,[192,724,725],{"class":665},"  # cpus: '2'\n",[192,727,729],{"class":194,"line":728},10,[192,730,731],{"class":665},"  # memory: 4g\n",[192,733,735],{"class":194,"line":734},11,[192,736,737],{"class":665},"  # network: agent-zero\n",[192,739,741,744,746],{"class":194,"line":740},12,[192,742,743],{"class":244},"  maxOutputBytes",[192,745,249],{"class":248},[192,747,748],{"class":252}," 200000\n",[174,750,751,754,755,758,759,762,763,766],{},[178,752,753],{},"local"," runs commands on the host and is for trusted development only. ",[178,756,757],{},"container"," is required for production; set an ",[178,760,761],{},"image"," to enable it. ",[178,764,765],{},"permissions.network"," is enforced by the container runner.",[229,768,770],{"id":769},"model","Model",[183,772,774],{"className":235,"code":773,"language":237,"meta":188,"style":188},"model:\n  provider: openai-compatible # ai-gateway, anthropic, google, openai, or openai-compatible\n  name: gpt-5\n  # inputCostPerMillionTokens: 1.25\n  # outputCostPerMillionTokens: 10\n",[178,775,776,782,795,805,810],{"__ignoreMap":188},[192,777,778,780],{"class":194,"line":195},[192,779,769],{"class":244},[192,781,304],{"class":248},[192,783,784,787,789,792],{"class":194,"line":256},[192,785,786],{"class":244},"  provider",[192,788,249],{"class":248},[192,790,791],{"class":202}," openai-compatible",[192,793,794],{"class":665}," # ai-gateway, anthropic, google, openai, or openai-compatible\n",[192,796,797,800,802],{"class":194,"line":351},[192,798,799],{"class":244},"  name",[192,801,249],{"class":248},[192,803,804],{"class":202}," gpt-5\n",[192,806,807],{"class":194,"line":362},[192,808,809],{"class":665},"  # inputCostPerMillionTokens: 1.25\n",[192,811,812],{"class":194,"line":373},[192,813,814],{"class":665},"  # outputCostPerMillionTokens: 10\n",[174,816,817,818,396],{},"Credentials are read only from the provider's documented environment variable; they are never accepted from repository configuration or persisted with task evidence. Configure explicit pricing to record cost — Agent Zero never guesses provider pricing. See ",[208,819,157],{"href":158},[821,822,823],"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);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":188,"searchDepth":256,"depth":256,"links":825},[826,827,828,829,830,831,832,833,834],{"id":231,"depth":256,"text":232},{"id":290,"depth":256,"text":291},{"id":328,"depth":256,"text":329},{"id":399,"depth":256,"text":400},{"id":435,"depth":256,"text":436},{"id":526,"depth":256,"text":527},{"id":583,"depth":256,"text":584},{"id":639,"depth":256,"text":640},{"id":769,"depth":256,"text":770},"Agent Zero reads its per-repository policy from .agent-zero.yml at the repository root. Create one with:","md",null,{},{"title":135,"description":835},"xavXgYOLAPQy1jG1qmQVuI-oBsYS31jOKvqp48Jb0Yg",[842,843],{"title":131,"path":132,"stem":133,"description":188,"children":-1},{"title":139,"path":140,"stem":141,"description":844,"children":-1},"Agent Zero is built so that the safe path is the default path and every escalation is explicit, auditable, and reversible.",1787482151869]