[{"data":1,"prerenderedAt":1091},["ShallowReactive",2],{"navigation_en":3,"-docs-guides-script-with-uxd":153,"-docs-guides-script-with-uxd-surround":1086},{"gettingStarted":4,"guides":41,"cli":87,"configuration":123},[5],{"title":6,"icon":7,"path":8,"stem":9,"children":10,"page":7},"Getting Started",false,"\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started",[11,16,21,26,31,36],{"title":12,"path":13,"stem":14,"icon":15},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002Fgetting-started\u002F01.introduction","i-lucide-house",{"title":17,"path":18,"stem":19,"icon":20},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002Fgetting-started\u002F02.installation","i-lucide-download",{"title":22,"path":23,"stem":24,"icon":25},"Quick Start","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002Fgetting-started\u002F03.quick-start","i-lucide-zap",{"title":27,"path":28,"stem":29,"icon":30},"How It Works","\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","docs\u002Fgetting-started\u002F04.how-it-works","i-lucide-workflow",{"title":32,"path":33,"stem":34,"icon":35},"Refs","\u002Fdocs\u002Fgetting-started\u002Frefs","docs\u002Fgetting-started\u002F05.refs","i-lucide-git-branch",{"title":37,"path":38,"stem":39,"icon":40},"Workspaces & Worktrees","\u002Fdocs\u002Fgetting-started\u002Fworkspaces","docs\u002Fgetting-started\u002F06.workspaces","i-lucide-folder-tree",[42],{"title":43,"icon":7,"path":44,"stem":45,"children":46,"page":7},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides",[47,52,57,62,67,72,77,82],{"title":48,"path":49,"stem":50,"icon":51},"Review a Pull Request","\u002Fdocs\u002Fguides\u002Freview-a-pull-request","docs\u002Fguides\u002F01.review-a-pull-request","i-lucide-git-pull-request",{"title":53,"path":54,"stem":55,"icon":56},"Run Dev Servers in Parallel","\u002Fdocs\u002Fguides\u002Frun-dev-servers-in-parallel","docs\u002Fguides\u002F02.run-dev-servers-in-parallel","i-lucide-plug",{"title":58,"path":59,"stem":60,"icon":61},"Seed Local Files","\u002Fdocs\u002Fguides\u002Fseed-local-files","docs\u002Fguides\u002F03.seed-local-files","i-lucide-sprout",{"title":63,"path":64,"stem":65,"icon":66},"Refresh a Workspace","\u002Fdocs\u002Fguides\u002Frefresh-a-workspace","docs\u002Fguides\u002F04.refresh-a-workspace","i-lucide-refresh-cw",{"title":68,"path":69,"stem":70,"icon":71},"Clean Up Workspaces","\u002Fdocs\u002Fguides\u002Fclean-up-workspaces","docs\u002Fguides\u002F05.clean-up-workspaces","i-lucide-trash-2",{"title":73,"path":74,"stem":75,"icon":76},"Script with uxd","\u002Fdocs\u002Fguides\u002Fscript-with-uxd","docs\u002Fguides\u002F06.script-with-uxd","i-lucide-braces",{"title":78,"path":79,"stem":80,"icon":81},"Install Shell Completions","\u002Fdocs\u002Fguides\u002Fshell-completions","docs\u002Fguides\u002F07.shell-completions","i-lucide-keyboard",{"title":83,"path":84,"stem":85,"icon":86},"Troubleshooting","\u002Fdocs\u002Fguides\u002Ftroubleshooting","docs\u002Fguides\u002F08.troubleshooting","i-lucide-stethoscope",[88],{"title":89,"icon":7,"path":90,"stem":91,"children":92,"page":7},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002Fcli",[93,98,103,108,113,118],{"title":94,"path":95,"stem":96,"icon":97},"Command Grammar","\u002Fdocs\u002Fcli\u002Foverview","docs\u002Fcli\u002F01.overview","i-lucide-terminal",{"title":99,"path":100,"stem":101,"icon":102},"Workspace Verbs","\u002Fdocs\u002Fcli\u002Fworkspace-verbs","docs\u002Fcli\u002F02.workspace-verbs","i-lucide-folder-git-2",{"title":104,"path":105,"stem":106,"icon":107},"Project Verbs","\u002Fdocs\u002Fcli\u002Fproject-verbs","docs\u002Fcli\u002F03.project-verbs","i-lucide-boxes",{"title":109,"path":110,"stem":111,"icon":112},"Top-Level Verbs","\u002Fdocs\u002Fcli\u002Ftop-level-verbs","docs\u002Fcli\u002F04.top-level-verbs","i-lucide-wrench",{"title":114,"path":115,"stem":116,"icon":117},"Global Flags","\u002Fdocs\u002Fcli\u002Fglobal-flags","docs\u002Fcli\u002F05.global-flags","i-lucide-flag",{"title":119,"path":120,"stem":121,"icon":122},"Exit Codes","\u002Fdocs\u002Fcli\u002Fexit-codes","docs\u002Fcli\u002F06.exit-codes","i-lucide-circle-alert",[124],{"title":125,"icon":7,"path":126,"stem":127,"children":128,"page":7},"Configuration","\u002Fdocs\u002Fconfiguration","docs\u002Fconfiguration",[129,134,139,144,148],{"title":130,"path":131,"stem":132,"icon":133},"Overview","\u002Fdocs\u002Fconfiguration\u002Foverview","docs\u002Fconfiguration\u002F01.overview","i-lucide-settings",{"title":135,"path":136,"stem":137,"icon":138},"Project File","\u002Fdocs\u002Fconfiguration\u002Fproject-file","docs\u002Fconfiguration\u002F02.project-file","i-lucide-file-code",{"title":140,"path":141,"stem":142,"icon":143},"Commands & Hooks","\u002Fdocs\u002Fconfiguration\u002Fcommands-and-hooks","docs\u002Fconfiguration\u002F03.commands-and-hooks","i-lucide-play",{"title":145,"path":146,"stem":147,"icon":76},"Environment & Templates","\u002Fdocs\u002Fconfiguration\u002Fenvironment-and-templates","docs\u002Fconfiguration\u002F04.environment-and-templates",{"title":149,"path":150,"stem":151,"icon":152},"Editors","\u002Fdocs\u002Fconfiguration\u002Feditors","docs\u002Fconfiguration\u002F05.editors","i-lucide-app-window",{"id":154,"title":73,"body":155,"description":1078,"extension":1079,"links":1080,"meta":1081,"navigation":1082,"path":74,"seo":1083,"stem":75,"__hash__":1085},"docs_guides\u002Fdocs\u002Fguides\u002F06.script-with-uxd.md",{"type":156,"value":157,"toc":1068},"minimark",[158,166,171,201,207,241,244,252,255,259,279,286,307,404,414,420,436,542,548,554,568,615,619,622,751,754,760,764,767,867,870,984,987,1050,1064],[159,160,161,165],"p",{},[162,163,164],"code",{},"uxd"," is designed to be driven by other programs. Three rules make that safe.",[167,168,170],"h2",{"id":169},"the-output-contract","The output contract",[172,173,175,176,179,180,183,184,187,188,192,193,196,197,200],"note",{"title":174},"Data on stdout, progress on stderr","Every progress line (",[162,177,178],{},"→ …","), warning (",[162,181,182],{},"warning: …",") and debug line (",[162,185,186],{},"· …",") goes\nto ",[189,190,191],"strong",{},"stderr",". Only the result goes to ",[189,194,195],{},"stdout",". So ",[162,198,199],{},"$(uxd …)"," captures the\ndata and nothing else.",[159,202,203,206],{},[162,204,205],{},"checkout"," prints the workspace path on stdout, which makes this the canonical\none-liner:",[208,209,214],"pre",{"className":210,"code":211,"language":212,"meta":213,"style":213},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","cd \"$(uxd my-project 42 checkout)\"\n","bash","",[162,215,216],{"__ignoreMap":213},[217,218,221,225,229,232,235,238],"span",{"class":219,"line":220},"line",1,[217,222,224],{"class":223},"ssYy9","cd",[217,226,228],{"class":227},"semJd"," \"$(",[217,230,164],{"class":231},"szw1H",[217,233,234],{"class":227}," my-project ",[217,236,237],{"class":223},"42",[217,239,240],{"class":227}," checkout)\"\n",[159,242,243],{},"Run it and stderr still shows you what happened:",[208,245,250],{"className":246,"code":248,"language":249},[247],"language-text","→ worktree ready (reused)\n","text",[162,251,248],{"__ignoreMap":213},[159,253,254],{},"while stdout — the part that was captured — is just the path.",[167,256,258],{"id":257},"json-output","JSON output",[159,260,261,263,264,263,267,270,271,274,275,278],{},[162,262,205],{},", ",[162,265,266],{},"list",[162,268,269],{},"info"," and ",[162,272,273],{},"projects"," accept ",[162,276,277],{},"--json",".",[280,281,283],"h3",{"id":282},"checkout-json",[162,284,285],{},"checkout --json",[208,287,289],{"className":210,"code":288,"language":212,"meta":213,"style":213},"uxd my-project feat\u002Flogin checkout --json\n",[162,290,291],{"__ignoreMap":213},[217,292,293,295,298,301,304],{"class":219,"line":220},[217,294,164],{"class":231},[217,296,297],{"class":227}," my-project",[217,299,300],{"class":227}," feat\u002Flogin",[217,302,303],{"class":227}," checkout",[217,305,306],{"class":223}," --json\n",[208,308,312],{"className":309,"code":310,"language":311,"meta":213,"style":213},"language-json shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","{\"project\":\"demo-app\",\"slug\":\"feat-login\",\"ref\":\"feat\u002Flogin\",\"kind\":\"branch\",\"branch\":\"feat\u002Flogin\",\"path\":\"~\u002Fdev\u002Fuxd\u002Fdemo-app\u002Ftrees\u002Ffeat-login\",\"ports\":[3053],\"created\":true}\n","json",[162,313,314],{"__ignoreMap":213},[217,315,316,320,324,327,330,333,336,338,341,343,346,348,351,353,356,358,361,363,365,367,369,371,374,376,379,381,384,387,390,393,396,398,401],{"class":219,"line":220},[217,317,319],{"class":318},"s7iLA","{",[217,321,323],{"class":322},"sb7M8","\"project\"",[217,325,326],{"class":318},":",[217,328,329],{"class":227},"\"demo-app\"",[217,331,332],{"class":318},",",[217,334,335],{"class":322},"\"slug\"",[217,337,326],{"class":318},[217,339,340],{"class":227},"\"feat-login\"",[217,342,332],{"class":318},[217,344,345],{"class":322},"\"ref\"",[217,347,326],{"class":318},[217,349,350],{"class":227},"\"feat\u002Flogin\"",[217,352,332],{"class":318},[217,354,355],{"class":322},"\"kind\"",[217,357,326],{"class":318},[217,359,360],{"class":227},"\"branch\"",[217,362,332],{"class":318},[217,364,360],{"class":322},[217,366,326],{"class":318},[217,368,350],{"class":227},[217,370,332],{"class":318},[217,372,373],{"class":322},"\"path\"",[217,375,326],{"class":318},[217,377,378],{"class":227},"\"~\u002Fdev\u002Fuxd\u002Fdemo-app\u002Ftrees\u002Ffeat-login\"",[217,380,332],{"class":318},[217,382,383],{"class":322},"\"ports\"",[217,385,386],{"class":318},":[",[217,388,389],{"class":223},"3053",[217,391,392],{"class":318},"],",[217,394,395],{"class":322},"\"created\"",[217,397,326],{"class":318},[217,399,400],{"class":223},"true",[217,402,403],{"class":318},"}\n",[159,405,406,409,410,413],{},[162,407,408],{},"created"," is ",[162,411,412],{},"false"," when the workspace already existed — useful for deciding\nwhether to run a first-time seeding step.",[280,415,417],{"id":416},"list-json",[162,418,419],{},"list --json",[208,421,423],{"className":210,"code":422,"language":212,"meta":213,"style":213},"uxd my-project list --json\n",[162,424,425],{"__ignoreMap":213},[217,426,427,429,431,434],{"class":219,"line":220},[217,428,164],{"class":231},[217,430,297],{"class":227},[217,432,433],{"class":227}," list",[217,435,306],{"class":223},[208,437,439],{"className":309,"code":438,"language":311,"meta":213,"style":213},"[{\"slug\":\"feat-login\",\"ref\":\"feat\u002Flogin\",\"kind\":\"branch\",\"branch\":\"feat\u002Flogin\",\"path\":\"~\u002Fdev\u002Fuxd\u002Fdemo-app\u002Ftrees\u002Ffeat-login\",\"adopted\":false,\"ports\":[3053],\"createdAt\":\"2026-07-25T06:00:28.086Z\",\"lastUsedAt\":\"2026-07-25T06:00:28.148Z\",\"dirty\":false,\"missing\":false}]\n",[162,440,441],{"__ignoreMap":213},[217,442,443,446,448,450,452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,489,491,493,495,497,499,501,503,506,508,511,513,516,518,521,523,526,528,530,532,535,537,539],{"class":219,"line":220},[217,444,445],{"class":318},"[{",[217,447,335],{"class":322},[217,449,326],{"class":318},[217,451,340],{"class":227},[217,453,332],{"class":318},[217,455,345],{"class":322},[217,457,326],{"class":318},[217,459,350],{"class":227},[217,461,332],{"class":318},[217,463,355],{"class":322},[217,465,326],{"class":318},[217,467,360],{"class":227},[217,469,332],{"class":318},[217,471,360],{"class":322},[217,473,326],{"class":318},[217,475,350],{"class":227},[217,477,332],{"class":318},[217,479,373],{"class":322},[217,481,326],{"class":318},[217,483,378],{"class":227},[217,485,332],{"class":318},[217,487,488],{"class":322},"\"adopted\"",[217,490,326],{"class":318},[217,492,412],{"class":223},[217,494,332],{"class":318},[217,496,383],{"class":322},[217,498,386],{"class":318},[217,500,389],{"class":223},[217,502,392],{"class":318},[217,504,505],{"class":322},"\"createdAt\"",[217,507,326],{"class":318},[217,509,510],{"class":227},"\"2026-07-25T06:00:28.086Z\"",[217,512,332],{"class":318},[217,514,515],{"class":322},"\"lastUsedAt\"",[217,517,326],{"class":318},[217,519,520],{"class":227},"\"2026-07-25T06:00:28.148Z\"",[217,522,332],{"class":318},[217,524,525],{"class":322},"\"dirty\"",[217,527,326],{"class":318},[217,529,412],{"class":223},[217,531,332],{"class":318},[217,533,534],{"class":322},"\"missing\"",[217,536,326],{"class":318},[217,538,412],{"class":223},[217,540,541],{"class":318},"}]\n",[159,543,544,547],{},[162,545,546],{},"info --json"," returns one object of the same shape.",[280,549,551],{"id":550},"projects-json",[162,552,553],{},"projects --json",[208,555,557],{"className":210,"code":556,"language":212,"meta":213,"style":213},"uxd projects --json\n",[162,558,559],{"__ignoreMap":213},[217,560,561,563,566],{"class":219,"line":220},[217,562,164],{"class":231},[217,564,565],{"class":227}," projects",[217,567,306],{"class":223},[208,569,571],{"className":309,"code":570,"language":311,"meta":213,"style":213},"[{\"name\":\"demo-app\",\"repo\":\"~\u002Fdev\u002Fuxd\u002Fdemo-app\u002Forigin\",\"workspaces\":1,\"pathExists\":true}]\n",[162,572,573],{"__ignoreMap":213},[217,574,575,577,580,582,584,586,589,591,594,596,599,601,604,606,609,611,613],{"class":219,"line":220},[217,576,445],{"class":318},[217,578,579],{"class":322},"\"name\"",[217,581,326],{"class":318},[217,583,329],{"class":227},[217,585,332],{"class":318},[217,587,588],{"class":322},"\"repo\"",[217,590,326],{"class":318},[217,592,593],{"class":227},"\"~\u002Fdev\u002Fuxd\u002Fdemo-app\u002Forigin\"",[217,595,332],{"class":318},[217,597,598],{"class":322},"\"workspaces\"",[217,600,326],{"class":318},[217,602,603],{"class":223},"1",[217,605,332],{"class":318},[217,607,608],{"class":322},"\"pathExists\"",[217,610,326],{"class":318},[217,612,400],{"class":223},[217,614,541],{"class":318},[167,616,618],{"id":617},"exit-codes","Exit codes",[159,620,621],{},"Branch on the exit code rather than parsing error text.",[623,624,625,641],"table",{},[626,627,628],"thead",{},[629,630,631,635,638],"tr",{},[632,633,634],"th",{},"Code",[632,636,637],{},"Name",[632,639,640],{},"Meaning",[642,643,644,658,672,687,702,717,736],"tbody",{},[629,645,646,652,655],{},[647,648,649],"td",{},[162,650,651],{},"0",[647,653,654],{},"—",[647,656,657],{},"Success",[629,659,660,664,669],{},[647,661,662],{},[162,663,603],{},[647,665,666],{},[162,667,668],{},"E_INTERNAL",[647,670,671],{},"Unexpected internal failure",[629,673,674,679,684],{},[647,675,676],{},[162,677,678],{},"2",[647,680,681],{},[162,682,683],{},"E_USAGE",[647,685,686],{},"Bad arguments or flags",[629,688,689,694,699],{},[647,690,691],{},[162,692,693],{},"3",[647,695,696],{},[162,697,698],{},"E_CONFIG",[647,700,701],{},"Missing or invalid configuration",[629,703,704,709,714],{},[647,705,706],{},[162,707,708],{},"4",[647,710,711],{},[162,712,713],{},"E_RESOLVE",[647,715,716],{},"The ref could not be resolved",[629,718,719,724,729],{},[647,720,721],{},[162,722,723],{},"5",[647,725,726],{},[162,727,728],{},"E_GIT",[647,730,731,732,735],{},"A git or ",[162,733,734],{},"gh"," operation failed",[629,737,738,743,748],{},[647,739,740],{},[162,741,742],{},"6",[647,744,745],{},[162,746,747],{},"E_SETUP",[647,749,750],{},"A setup step or hook failed",[159,752,753],{},"Errors print one line to stderr, plus an optional hint:",[208,755,758],{"className":756,"code":757,"language":249},[247],"error(E_RESOLVE): cannot resolve ref 'does-not-exist'\nhint: try a branch, PR number, sha, or a path to adopt\n",[162,759,757],{"__ignoreMap":213},[167,761,763],{"id":762},"worked-examples","Worked examples",[159,765,766],{},"Iterate every workspace:",[208,768,770],{"className":210,"code":769,"language":212,"meta":213,"style":213},"uxd my-project list --json \\\n  | jq -r '.[].slug' \\\n  | while read -r slug; do\n      uxd my-project \"$slug\" exec -- git log -1 --oneline\n    done\n",[162,771,772,787,804,826,861],{"__ignoreMap":213},[217,773,774,776,778,780,783],{"class":219,"line":220},[217,775,164],{"class":231},[217,777,297],{"class":227},[217,779,433],{"class":227},[217,781,782],{"class":223}," --json",[217,784,786],{"class":785},"sklAV"," \\\n",[217,788,790,793,796,799,802],{"class":219,"line":789},2,[217,791,792],{"class":785},"  |",[217,794,795],{"class":231}," jq",[217,797,798],{"class":223}," -r",[217,800,801],{"class":227}," '.[].slug'",[217,803,786],{"class":785},[217,805,807,809,812,815,817,820,823],{"class":219,"line":806},3,[217,808,792],{"class":785},[217,810,811],{"class":785}," while",[217,813,814],{"class":223}," read",[217,816,798],{"class":223},[217,818,819],{"class":227}," slug",[217,821,822],{"class":318},"; ",[217,824,825],{"class":785},"do\n",[217,827,829,832,834,837,840,843,846,849,852,855,858],{"class":219,"line":828},4,[217,830,831],{"class":231},"      uxd",[217,833,297],{"class":227},[217,835,836],{"class":227}," \"",[217,838,839],{"class":318},"$slug",[217,841,842],{"class":227},"\"",[217,844,845],{"class":227}," exec",[217,847,848],{"class":223}," --",[217,850,851],{"class":227}," git",[217,853,854],{"class":227}," log",[217,856,857],{"class":223}," -1",[217,859,860],{"class":223}," --oneline\n",[217,862,864],{"class":219,"line":863},5,[217,865,866],{"class":785},"    done\n",[159,868,869],{},"Fail a CI job when the ref does not exist, but treat \"already checked out\" as\nfine:",[208,871,873],{"className":210,"code":872,"language":212,"meta":213,"style":213},"if ! path=$(uxd my-project \"$REF\" checkout); then\n  status=$?\n  [ \"$status\" -eq 4 ] && echo \"unknown ref: $REF\" >&2\n  exit \"$status\"\nfi\ncd \"$path\"\n",[162,874,875,911,921,955,967,972],{"__ignoreMap":213},[217,876,877,880,883,886,889,892,894,896,898,901,903,905,908],{"class":219,"line":220},[217,878,879],{"class":785},"if",[217,881,882],{"class":785}," !",[217,884,885],{"class":318}," path",[217,887,888],{"class":785},"=",[217,890,891],{"class":318},"$(",[217,893,164],{"class":231},[217,895,297],{"class":227},[217,897,836],{"class":227},[217,899,900],{"class":318},"$REF",[217,902,842],{"class":227},[217,904,303],{"class":227},[217,906,907],{"class":318},"); ",[217,909,910],{"class":785},"then\n",[217,912,913,916,918],{"class":219,"line":789},[217,914,915],{"class":318},"  status",[217,917,888],{"class":785},[217,919,920],{"class":223},"$?\n",[217,922,923,926,928,931,933,936,939,942,945,948,950,952],{"class":219,"line":806},[217,924,925],{"class":318},"  [ ",[217,927,842],{"class":227},[217,929,930],{"class":318},"$status",[217,932,842],{"class":227},[217,934,935],{"class":785}," -eq",[217,937,938],{"class":223}," 4",[217,940,941],{"class":318}," ] && ",[217,943,944],{"class":223},"echo",[217,946,947],{"class":227}," \"unknown ref: ",[217,949,900],{"class":318},[217,951,842],{"class":227},[217,953,954],{"class":785}," >&2\n",[217,956,957,960,962,964],{"class":219,"line":828},[217,958,959],{"class":223},"  exit",[217,961,836],{"class":227},[217,963,930],{"class":318},[217,965,966],{"class":227},"\"\n",[217,968,969],{"class":219,"line":863},[217,970,971],{"class":785},"fi\n",[217,973,975,977,979,982],{"class":219,"line":974},6,[217,976,224],{"class":223},[217,978,836],{"class":227},[217,980,981],{"class":318},"$path",[217,983,966],{"class":227},[159,985,986],{},"Only seed when the workspace was newly created:",[208,988,990],{"className":210,"code":989,"language":212,"meta":213,"style":213},"created=$(uxd my-project \"$REF\" checkout --json | jq -r '.created')\n[ \"$created\" = \"true\" ] && .\u002Fscripts\u002Fseed.sh\n",[162,991,992,1027],{"__ignoreMap":213},[217,993,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1017,1019,1021,1024],{"class":219,"line":220},[217,995,408],{"class":318},[217,997,888],{"class":785},[217,999,891],{"class":318},[217,1001,164],{"class":231},[217,1003,297],{"class":227},[217,1005,836],{"class":227},[217,1007,900],{"class":318},[217,1009,842],{"class":227},[217,1011,303],{"class":227},[217,1013,782],{"class":223},[217,1015,1016],{"class":785}," |",[217,1018,795],{"class":231},[217,1020,798],{"class":223},[217,1022,1023],{"class":227}," '.created'",[217,1025,1026],{"class":318},")\n",[217,1028,1029,1032,1034,1037,1039,1042,1045,1047],{"class":219,"line":789},[217,1030,1031],{"class":318},"[ ",[217,1033,842],{"class":227},[217,1035,1036],{"class":318},"$created",[217,1038,842],{"class":227},[217,1040,1041],{"class":785}," =",[217,1043,1044],{"class":227}," \"true\"",[217,1046,941],{"class":318},[217,1048,1049],{"class":231},".\u002Fscripts\u002Fseed.sh\n",[1051,1052,1053,1055,1056,1059,1060,1063],"tip",{},[162,1054,277],{}," implies no interactive prompts, but ",[162,1057,1058],{},"clean"," still asks for\nconfirmation. Add ",[162,1061,1062],{},"--yes"," in any non-interactive context.",[1065,1066,1067],"style",{},"html pre.shiki code .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .semJd, html code.shiki .semJd{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .szw1H, html code.shiki .szw1H{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFB757}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 .sklAV, html code.shiki .sklAV{--shiki-light:#A0111F;--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sb7M8, html code.shiki .sb7M8{--shiki-light:#024C1A;--shiki-default:#024C1A;--shiki-dark:#72F088}",{"title":213,"searchDepth":789,"depth":789,"links":1069},[1070,1071,1076,1077],{"id":169,"depth":789,"text":170},{"id":257,"depth":789,"text":258,"children":1072},[1073,1074,1075],{"id":282,"depth":806,"text":285},{"id":416,"depth":806,"text":419},{"id":550,"depth":806,"text":553},{"id":617,"depth":789,"text":618},{"id":762,"depth":789,"text":763},"Use uxd from shell scripts and CI — the stdout\u002Fstderr contract, --json output shapes, and exit codes you can branch on.","md",null,{},{"icon":76},{"title":73,"description":1084},"Machine-readable uxd — JSON output for checkout, list, info and projects, the stdout\u002Fstderr split, and exit codes for shell scripts and CI.","Esv1xkSZXYKcKA0yTheT7-5inLMu3G0d0LZlpF2WcuQ",[1087,1089],{"title":68,"path":69,"stem":70,"description":1088,"icon":71,"children":-1},"Remove workspaces by name or by filter, and reconcile state when something was deleted behind uxd's back.",{"title":78,"path":79,"stem":80,"description":1090,"icon":81,"children":-1},"Generate and install tab completion for bash, zsh, or fish, so uxd completes your project names, verbs, and existing workspace slugs.",1784975262351]