[{"data":1,"prerenderedAt":1011},["ShallowReactive",2],{"navigation_docs":3,"-docs-cli-agents-automation":137,"-docs-cli-agents-automation-surround":1006},[4,16,51,102,112,126],{"title":5,"path":6,"stem":7,"children":8,"icon":15},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[9,11],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":50},"Core Features","i-lucide-tag","\u002Fdocs\u002Fcore-features","docs\u002F2.core-features",[22,26,30,34,38,42,46],{"title":23,"path":24,"stem":25},"Audit Logs","\u002Fdocs\u002Fcore-features\u002Faudit-logs","docs\u002F2.core-features\u002Faudit-logs",{"title":27,"path":28,"stem":29},"Encryption","\u002Fdocs\u002Fcore-features\u002Fencryption","docs\u002F2.core-features\u002Fencryption",{"title":31,"path":32,"stem":33},"Environments","\u002Fdocs\u002Fcore-features\u002Fenvironments","docs\u002F2.core-features\u002Fenvironments",{"title":35,"path":36,"stem":37},"Projects","\u002Fdocs\u002Fcore-features\u002Fprojects","docs\u002F2.core-features\u002Fprojects",{"title":39,"path":40,"stem":41},"Teams","\u002Fdocs\u002Fcore-features\u002Fteams","docs\u002F2.core-features\u002Fteams",{"title":43,"path":44,"stem":45},"API Tokens","\u002Fdocs\u002Fcore-features\u002Ftokens","docs\u002F2.core-features\u002Ftokens",{"title":47,"path":48,"stem":49},"Variables","\u002Fdocs\u002Fcore-features\u002Fvariables","docs\u002F2.core-features\u002Fvariables",false,{"title":52,"icon":53,"path":54,"stem":55,"children":56},"CLI","i-lucide-terminal","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002F2.index",[57,58,62,66,70,74,78,82,86,90,94,98],{"title":10,"path":54,"stem":55},{"title":59,"path":60,"stem":61},"Init","\u002Fdocs\u002Fcli\u002Finit","docs\u002F3.cli\u002F1.init",{"title":63,"path":64,"stem":65},"Agents & automation","\u002Fdocs\u002Fcli\u002Fagents-automation","docs\u002F3.cli\u002F10.agents-automation",{"title":67,"path":68,"stem":69},"Troubleshooting","\u002Fdocs\u002Fcli\u002Ftroubleshooting","docs\u002F3.cli\u002F11.troubleshooting",{"title":71,"path":72,"stem":73},"Sync policies","\u002Fdocs\u002Fcli\u002Fsync-policies","docs\u002F3.cli\u002F12.sync-policies",{"title":75,"path":76,"stem":77},"Run","\u002Fdocs\u002Fcli\u002Frun","docs\u002F3.cli\u002F3.run",{"title":79,"path":80,"stem":81},"Login and Logout","\u002Fdocs\u002Fcli\u002Flogin-logout","docs\u002F3.cli\u002F4.login-logout",{"title":83,"path":84,"stem":85},"Push and Pull","\u002Fdocs\u002Fcli\u002Fpush-pull","docs\u002F3.cli\u002F5.push-pull",{"title":87,"path":88,"stem":89},"Create","\u002Fdocs\u002Fcli\u002Fcreate","docs\u002F3.cli\u002F6.create",{"title":91,"path":92,"stem":93},"Config","\u002Fdocs\u002Fcli\u002Fconfig","docs\u002F3.cli\u002F7.config",{"title":95,"path":96,"stem":97},"Generate","\u002Fdocs\u002Fcli\u002Fgenerate","docs\u002F3.cli\u002F8.generate",{"title":99,"path":100,"stem":101},"Upgrade","\u002Fdocs\u002Fcli\u002Fupgrade","docs\u002F3.cli\u002F9.upgrade",{"title":103,"icon":104,"path":105,"stem":106,"children":107,"page":50},"Integrations","i-lucide-blocks","\u002Fdocs\u002Fintegrations","docs\u002F4.integrations",[108],{"title":109,"path":110,"stem":111},"Github","\u002Fdocs\u002Fintegrations\u002Fgithub","docs\u002F4.integrations\u002F1.github",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":50},"Self-hosting","i-lucide-cloud","\u002Fdocs\u002Fself-hosting","docs\u002F5.self-hosting",[118,122],{"title":119,"path":120,"stem":121},"Deploy on Vercel","\u002Fdocs\u002Fself-hosting\u002Fvercel","docs\u002F5.self-hosting\u002F1.vercel",{"title":123,"path":124,"stem":125},"Environment variables","\u002Fdocs\u002Fself-hosting\u002Fenvironment-variables","docs\u002F5.self-hosting\u002F2.environment-variables",{"title":127,"path":128,"stem":129,"children":130,"icon":136},"Contributing","\u002Fdocs\u002Fcontributing","docs\u002F6.contributing\u002F1.index",[131,132],{"title":10,"path":128,"stem":129},{"title":133,"path":134,"stem":135},"Dev Setup","\u002Fdocs\u002Fcontributing\u002Fdev-setup","docs\u002F6.contributing\u002F2.dev-setup","i-lucide-heart-handshake",{"id":138,"title":63,"body":139,"description":1000,"extension":1001,"links":1002,"meta":1003,"navigation":786,"path":64,"seo":1004,"stem":65,"__hash__":1005},"docs\u002Fdocs\u002F3.cli\u002F10.agents-automation.md",{"type":140,"value":141,"toc":989},"minimark",[142,159,185,190,341,345,360,434,439,442,487,503,507,666,678,682,755,759,873,877,898,917,943,947,950,976,985],[143,144,145,146,150,151,154,155,158],"p",{},"The Shelve CLI is designed to work in ",[147,148,149],"strong",{},"CI",", ",[147,152,153],{},"shell scripts",", and ",[147,156,157],{},"AI agent shells"," (Cursor, Claude Code, Codex, …) without hanging on prompts or polluting logs with spinners.",[160,161,163,164,170,171,176,177,180,181,184],"callout",{"type":162},"warning","Prefer ",[147,165,166],{},[167,168,169],"code",{},"shelve run -- \u003Ccmd>"," over ",[147,172,173],{},[167,174,175],{},"shelve pull",". ",[167,178,179],{},"run"," keeps secrets in the child process memory only. ",[167,182,183],{},"pull"," writes plaintext to disk where agents can read them.",[186,187,189],"h2",{"id":188},"recommended-workflow","Recommended workflow",[191,192,193,207,303,315,324,333],"ol",{},[194,195,196,197,202,203,206],"li",{},"Run ",[147,198,199],{},[167,200,201],{},"shelve doctor --json"," (or ",[167,204,205],{},"shelve doctor",") to validate setup.",[194,208,209,210,213,214],{},"Set context once with environment variables (no ",[167,211,212],{},"shelve login"," prompt required):",[215,216,222],"pre",{"className":217,"code":218,"filename":219,"language":220,"meta":221,"style":221},"language-bash shiki shiki-themes github-light github-dark github-dark","export SHELVE_TOKEN=\"shlv_…\"\nexport SHELVE_TEAM_SLUG=\"my-team\"\nexport SHELVE_PROJECT=\"my-app\"\nexport SHELVE_DEFAULT_ENV=\"development\"   # optional\nexport SHELVE_URL=\"https:\u002F\u002Fapp.shelve.cloud\" # optional\n","terminal","bash","",[167,223,224,244,257,270,287],{"__ignoreMap":221},[225,226,229,233,237,240],"span",{"class":227,"line":228},"line",1,[225,230,232],{"class":231},"so5gQ","export",[225,234,236],{"class":235},"slsVL"," SHELVE_TOKEN",[225,238,239],{"class":231},"=",[225,241,243],{"class":242},"sfrk1","\"shlv_…\"\n",[225,245,247,249,252,254],{"class":227,"line":246},2,[225,248,232],{"class":231},[225,250,251],{"class":235}," SHELVE_TEAM_SLUG",[225,253,239],{"class":231},[225,255,256],{"class":242},"\"my-team\"\n",[225,258,260,262,265,267],{"class":227,"line":259},3,[225,261,232],{"class":231},[225,263,264],{"class":235}," SHELVE_PROJECT",[225,266,239],{"class":231},[225,268,269],{"class":242},"\"my-app\"\n",[225,271,273,275,278,280,283],{"class":227,"line":272},4,[225,274,232],{"class":231},[225,276,277],{"class":235}," SHELVE_DEFAULT_ENV",[225,279,239],{"class":231},[225,281,282],{"class":242},"\"development\"",[225,284,286],{"class":285},"sCsY4","   # optional\n",[225,288,290,292,295,297,300],{"class":227,"line":289},5,[225,291,232],{"class":231},[225,293,294],{"class":235}," SHELVE_URL",[225,296,239],{"class":231},[225,298,299],{"class":242},"\"https:\u002F\u002Fapp.shelve.cloud\"",[225,301,302],{"class":285}," # optional\n",[194,304,196,305,310,311,314],{},[147,306,307],{},[167,308,309],{},"shelve init"," once per repo (agent ignore files + ",[167,312,313],{},".gitignore"," block).",[194,316,317,318,323],{},"Inject secrets with ",[147,319,320],{},[167,321,322],{},"shelve run -- pnpm dev"," (or your command).",[194,325,326,327,332],{},"Use ",[147,328,329],{},[167,330,331],{},"--json"," when a script needs to parse output.",[194,334,326,335,340],{},[147,336,337],{},[167,338,339],{},"--non-interactive"," (or rely on agent\u002FCI auto-detection) so missing flags fail fast.",[186,342,344],{"id":343},"global-flags","Global flags",[143,346,347,348,351,352,355,356,359],{},"These flags can appear ",[147,349,350],{},"before or after"," the subcommand (for example ",[167,353,354],{},"shelve run --json -- pnpm dev"," or ",[167,357,358],{},"shelve --json config","):",[361,362,363,393,398,413,423],"field-group",{},[364,365,367,368,371,372,375,376,379,380,371,383,375,386,388,389,392],"field",{"name":331,"type":366},"boolean","Success → JSON on ",[147,369,370],{},"stdout",": ",[167,373,374],{},"{ \"ok\": true, \"command\"?: string, \"data\"?: object }",".",[377,378],"br",{},"\nErrors → JSON on ",[147,381,382],{},"stderr",[167,384,385],{},"{ \"ok\": false, \"error\": { \"code\", \"message\", \"status\"?, \"hint\"? } }",[377,387],{},"\nSecret ",[147,390,391],{},"values are never"," included in JSON output.",[364,394,397],{"name":395,"type":366,"alias":396},"--quiet","-q","Suppress clack intro\u002Foutro\u002Fspinners. Minimal text output only.",[364,399,402,403,150,405,408,409,412],{"name":400,"type":366,"alias":401},"--yes","-y","Skip confirmation prompts (",[167,404,183],{},[167,406,407],{},"push"," when ",[167,410,411],{},"confirmChanges"," is enabled, etc.).",[364,414,415,416,150,419,422],{"name":339,"type":366},"Fail with a structured error instead of prompting when required input is missing (",[167,417,418],{},"MISSING_*",[167,420,421],{},"AUTH_REQUIRED",", …).",[364,424,426,427,355,430,433],{"name":425,"type":366},"--debug","Verbose debug logs. Also enabled by ",[167,428,429],{},"SHELVE_DEBUG=1",[167,431,432],{},"DEBUG=true",". HTTP requests are logged without Authorization headers or secret values.",[435,436,438],"h3",{"id":437},"auto-non-interactive-mode","Auto non-interactive mode",[143,440,441],{},"The CLI enters non-interactive mode when any of these is true:",[443,444,445,450,458,481],"ul",{},[194,446,447,449],{},[167,448,339],{}," is passed",[194,451,452,355,455],{},[167,453,454],{},"CI=true",[167,456,457],{},"CI=1",[194,459,460,461,470,471,150,474,150,477,480],{},"The shell is detected as an AI agent via ",[462,463,467],"a",{"href":464,"rel":465},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fstd-env",[466],"nofollow",[167,468,469],{},"std-env"," (",[167,472,473],{},"cursor",[167,475,476],{},"claude",[167,478,479],{},"codex",", …)",[194,482,483,486],{},[167,484,485],{},"AI_AGENT"," is set (force-detect)",[143,488,489,490,498,499,502],{},"In agent shells, ",[147,491,492,494,495,497],{},[167,493,175],{}," without ",[167,496,400],{}," fails immediately"," with code ",[167,500,501],{},"AGENT_BLOCKED"," instead of prompting.",[186,504,506],{"id":505},"json-output-by-command","JSON output by command",[508,509,510,526],"table",{},[511,512,513],"thead",{},[514,515,516,520],"tr",{},[517,518,519],"th",{},"Command",[517,521,522,525],{},[167,523,524],{},"data"," shape",[527,528,529,542,559,571,582,594,606,618,630,642,654],"tbody",{},[514,530,531,537],{},[532,533,534],"td",{},[167,535,536],{},"doctor",[532,538,539],{},[167,540,541],{},"{ healthy, checks[], exitCodes, errorCodes }",[514,543,544,549],{},[532,545,546],{},[167,547,548],{},"config",[532,550,551,552,555,556],{},"Merged config; ",[167,553,554],{},"token"," redacted as ",[167,557,558],{},"\"***\"",[514,560,561,566],{},[532,562,563],{},[167,564,565],{},"me",[532,567,568],{},[167,569,570],{},"{ loggedIn, username?, email? }",[514,572,573,577],{},[532,574,575],{},[167,576,407],{},[532,578,579],{},[167,580,581],{},"{ env, variableCount, pushed }",[514,583,584,588],{},[532,585,586],{},[167,587,183],{},[532,589,590,593],{},[167,591,592],{},"{ env, variableCount, file, keys[] }"," — no values",[514,595,596,601],{},[532,597,598],{},[167,599,600],{},"init",[532,602,603],{},[167,604,605],{},"{ writtenFiles, skippedFiles, gitignoreUpdated }",[514,607,608,613],{},[532,609,610],{},[167,611,612],{},"login",[532,614,615],{},[167,616,617],{},"{ username, email }",[514,619,620,625],{},[532,621,622],{},[167,623,624],{},"create",[532,626,627],{},[167,628,629],{},"{ name, slug, configPath }",[514,631,632,637],{},[532,633,634],{},[167,635,636],{},"logout",[532,638,639],{},[167,640,641],{},"{ loggedOut: true }",[514,643,644,649],{},[532,645,646],{},[167,647,648],{},"generate",[532,650,651],{},[167,652,653],{},"{ type, path }",[514,655,656,661],{},[532,657,658],{},[167,659,660],{},"upgrade",[532,662,663],{},[167,664,665],{},"{ previous, current, updated }",[143,667,668,671,672,674,675,375],{},[167,669,670],{},"shelve run"," inherits the child stdio. Startup errors are structured on stderr; with ",[167,673,331],{},", a spawn event is also emitted on stderr: ",[167,676,677],{},"{ \"ok\": true, \"event\": \"child_spawned\", \"env\", \"variableCount\", \"keys\", \"command\", \"pid\" }",[186,679,681],{"id":680},"exit-codes","Exit codes",[508,683,684,694],{},[511,685,686],{},[514,687,688,691],{},[517,689,690],{},"Code",[517,692,693],{},"Meaning",[527,695,696,706,716,729,739],{},[514,697,698,703],{},[532,699,700],{},[167,701,702],{},"0",[532,704,705],{},"Success",[514,707,708,713],{},[532,709,710],{},[167,711,712],{},"1",[532,714,715],{},"CLI, API, or validation error",[514,717,718,723],{},[532,719,720],{},[167,721,722],{},"128 + n",[532,724,725,726,728],{},"Child killed by signal (",[167,727,179],{},")",[514,730,731,736],{},[532,732,733],{},[167,734,735],{},"129",[532,737,738],{},"Parent process gone \u002F stdin EIO",[514,740,741,750],{},[532,742,743,746,747],{},[167,744,745],{},"130"," \u002F ",[167,748,749],{},"143",[532,751,752,753,728],{},"SIGINT \u002F SIGTERM (forwarded from ",[167,754,179],{},[186,756,758],{"id":757},"examples","Examples",[215,760,762],{"className":217,"code":761,"filename":219,"language":220,"meta":221,"style":221},"# Machine-readable config (token redacted)\nshelve --json config\n\n# CI push without prompts\nshelve --non-interactive --yes push --env staging\n\n# Agent-safe dev server\nshelve run -- pnpm dev\n\n# Debug API round-trip\nshelve --debug run --env preview -- pnpm build\n",[167,763,764,769,782,788,793,812,817,823,840,845,851],{"__ignoreMap":221},[225,765,766],{"class":227,"line":228},[225,767,768],{"class":285},"# Machine-readable config (token redacted)\n",[225,770,771,775,779],{"class":227,"line":246},[225,772,774],{"class":773},"shcOC","shelve",[225,776,778],{"class":777},"suiK_"," --json",[225,780,781],{"class":242}," config\n",[225,783,784],{"class":227,"line":259},[225,785,787],{"emptyLinePlaceholder":786},true,"\n",[225,789,790],{"class":227,"line":272},[225,791,792],{"class":285},"# CI push without prompts\n",[225,794,795,797,800,803,806,809],{"class":227,"line":289},[225,796,774],{"class":773},[225,798,799],{"class":777}," --non-interactive",[225,801,802],{"class":777}," --yes",[225,804,805],{"class":242}," push",[225,807,808],{"class":777}," --env",[225,810,811],{"class":242}," staging\n",[225,813,815],{"class":227,"line":814},6,[225,816,787],{"emptyLinePlaceholder":786},[225,818,820],{"class":227,"line":819},7,[225,821,822],{"class":285},"# Agent-safe dev server\n",[225,824,826,828,831,834,837],{"class":227,"line":825},8,[225,827,774],{"class":773},[225,829,830],{"class":242}," run",[225,832,833],{"class":777}," --",[225,835,836],{"class":242}," pnpm",[225,838,839],{"class":242}," dev\n",[225,841,843],{"class":227,"line":842},9,[225,844,787],{"emptyLinePlaceholder":786},[225,846,848],{"class":227,"line":847},10,[225,849,850],{"class":285},"# Debug API round-trip\n",[225,852,854,856,859,861,863,866,868,870],{"class":227,"line":853},11,[225,855,774],{"class":773},[225,857,858],{"class":777}," --debug",[225,860,830],{"class":242},[225,862,808],{"class":777},[225,864,865],{"class":242}," preview",[225,867,833],{"class":777},[225,869,836],{"class":242},[225,871,872],{"class":242}," build\n",[186,874,876],{"id":875},"install-the-agent-skill","Install the agent skill",[143,878,879,880,885,886,889,890,470,895,897],{},"Shelve publishes a single ",[462,881,884],{"href":882,"rel":883},"https:\u002F\u002Fdocus.dev\u002Fen\u002Fai\u002Fskills",[466],"Agent Skill"," at ",[167,887,888],{},"\u002F.well-known\u002Fskills\u002F"," on ",[462,891,894],{"href":892,"rel":893},"https:\u002F\u002Fshelve.cloud",[466],"shelve.cloud",[167,896,774],{}," — CLI, platform, and sync policies):",[215,899,901],{"className":217,"code":900,"filename":219,"language":220,"meta":221,"style":221},"npx skills add https:\u002F\u002Fshelve.cloud\n",[167,902,903],{"__ignoreMap":221},[225,904,905,908,911,914],{"class":227,"line":228},[225,906,907],{"class":773},"npx",[225,909,910],{"class":242}," skills",[225,912,913],{"class":242}," add",[225,915,916],{"class":242}," https:\u002F\u002Fshelve.cloud\n",[143,918,919,920,922,923,926,927,470,930,150,933,150,936,150,939,942],{},"The skill teaches agents Shelve end-to-end: platform model (teams, tokens, UI), CLI workflows, sync policies, and security rules (prefer ",[167,921,179],{},", avoid disk writes, use ",[167,924,925],{},"SHELVE_*"," env vars). Reference files ship alongside ",[167,928,929],{},"SKILL.md",[167,931,932],{},"cli-commands.md",[167,934,935],{},"platform.md",[167,937,938],{},"sync-policies.md",[167,940,941],{},"agent-workflows.md",").",[186,944,946],{"id":945},"local-testing-contributors","Local testing (contributors)",[143,948,949],{},"From the Shelve monorepo, use the zero-network playground:",[215,951,953],{"className":217,"code":952,"filename":219,"language":220,"meta":221,"style":221},"pnpm play\npnpm play -- --json config\n",[167,954,955,963],{"__ignoreMap":221},[225,956,957,960],{"class":227,"line":228},[225,958,959],{"class":773},"pnpm",[225,961,962],{"class":242}," play\n",[225,964,965,967,970,972,974],{"class":227,"line":246},[225,966,959],{"class":773},[225,968,969],{"class":242}," play",[225,971,833],{"class":777},[225,973,778],{"class":777},[225,975,781],{"class":242},[143,977,978,979,984],{},"See the ",[462,980,983],{"href":981,"rel":982},"https:\u002F\u002Fgithub.com\u002FHugoRCD\u002Fshelve\u002Ftree\u002Fmain\u002Fplayground\u002Frun",[466],"playground README"," on GitHub.",[986,987,988],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}",{"title":221,"searchDepth":246,"depth":246,"links":990},[991,992,995,996,997,998,999],{"id":188,"depth":246,"text":189},{"id":343,"depth":246,"text":344,"children":993},[994],{"id":437,"depth":259,"text":438},{"id":505,"depth":246,"text":506},{"id":680,"depth":246,"text":681},{"id":757,"depth":246,"text":758},{"id":875,"depth":246,"text":876},{"id":945,"depth":246,"text":946},"Run the Shelve CLI from CI, scripts, and AI coding agents with global flags, JSON output, and non-interactive guards.","md",null,{},{"title":63,"description":1000},"RDEmkFDI2OtTgZsAImCFfSsImXJGSOvXTOHwoAYdfgU",[1007,1009],{"title":59,"path":60,"stem":61,"description":1008,"children":-1},"Scaffold AI-agent-safe ignore files in your project.",{"title":67,"path":68,"stem":69,"description":1010,"children":-1},"Symptom → cause → fix for the Shelve CLI and agent automation.",1780236538811]