[{"data":1,"prerenderedAt":791},["ShallowReactive",2],{"navigation_en":3,"-docs-cli-top-level-verbs":153,"-docs-cli-top-level-verbs-surround":786},{"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":109,"body":155,"description":777,"extension":778,"links":779,"meta":780,"navigation":781,"path":110,"seo":782,"stem":111,"__hash__":785},"docs_cli\u002Fdocs\u002Fcli\u002F04.top-level-verbs.md",{"type":156,"value":157,"toc":768},"minimark",[158,162,169,176,186,189,281,301,304,382,388,391,419,422,427,439,445,451,508,513,516,528,534,549,562,567,631,645,651,665,671,687,692,706,724,729,739,764],[159,160,161],"p",{},"These verbs take no project argument.",[163,164,166],"h2",{"id":165},"setup",[167,168,165],"code",{},[159,170,171,172,175],{},"First-run onboarding. Creates the config dir if missing, ensures ",[167,173,174],{},"defaults.root","\nso derived paths resolve, and scaffolds your first project file. It is the only\ncommand exempt from the config-dir existence check — it is what creates the dir.",[177,178,183],"pre",{"className":179,"code":181,"language":182},[180],"language-text","uxd setup [--name \u003Cname>] [--repo \u003Curl>] [--root \u003Cdir>] [--default-branch \u003Cbranch>] [--force]\n","text",[167,184,181],{"__ignoreMap":185},"",[159,187,188],{},"On a terminal it prompts for each field in order. Every prompt is also a flag,\nso the same command runs non-interactively in CI.",[190,191,192,208],"table",{},[193,194,195],"thead",{},[196,197,198,202,205],"tr",{},[199,200,201],"th",{},"Prompt",[199,203,204],{},"Flag",[199,206,207],{},"Written to",[209,210,211,231,247,264],"tbody",{},[196,212,213,217,222],{},[214,215,216],"td",{},"Base directory for repos & worktrees",[214,218,219],{},[167,220,221],{},"--root",[214,223,224,227,228],{},[167,225,226],{},"defaults.toml"," → ",[167,229,230],{},"root",[196,232,233,236,241],{},[214,234,235],{},"Project name",[214,237,238],{},[167,239,240],{},"--name",[214,242,243,244],{},"filename ",[167,245,246],{},"\u003Cname>.toml",[196,248,249,252,257],{},[214,250,251],{},"Repository URL",[214,253,254],{},[167,255,256],{},"--repo",[214,258,259,227,261],{},[167,260,246],{},[167,262,263],{},"repo",[196,265,266,269,274],{},[214,267,268],{},"Default branch (blank = auto-detect)",[214,270,271],{},[167,272,273],{},"--default-branch",[214,275,276,227,278],{},[167,277,246],{},[167,279,280],{},"default_branch",[159,282,283,285,286,288,289,292,293,296,297,300],{},[167,284,221],{}," is skipped once ",[167,287,174],{}," is set. The project name must match\n",[167,290,291],{},"^[a-z0-9][a-z0-9._-]*$"," and cannot be ",[167,294,295],{},"defaults"," or ",[167,298,299],{},"seeds",".",[159,302,303],{},"Preview the writes without making them:",[177,305,309],{"className":306,"code":307,"language":308,"meta":185,"style":185},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","uxd setup \\\n  --config-dir .\u002Fci-config \\\n  --name acme-web \\\n  --repo git@github.com:acme\u002Facme-web.git \\\n  --default-branch main \\\n  --yes --dry-run\n","bash",[167,310,311,328,340,351,362,373],{"__ignoreMap":185},[312,313,316,320,324],"span",{"class":314,"line":315},"line",1,[312,317,319],{"class":318},"szw1H","uxd",[312,321,323],{"class":322},"semJd"," setup",[312,325,327],{"class":326},"sklAV"," \\\n",[312,329,331,335,338],{"class":314,"line":330},2,[312,332,334],{"class":333},"ssYy9","  --config-dir",[312,336,337],{"class":322}," .\u002Fci-config",[312,339,327],{"class":326},[312,341,343,346,349],{"class":314,"line":342},3,[312,344,345],{"class":333},"  --name",[312,347,348],{"class":322}," acme-web",[312,350,327],{"class":326},[312,352,354,357,360],{"class":314,"line":353},4,[312,355,356],{"class":333},"  --repo",[312,358,359],{"class":322}," git@github.com:acme\u002Facme-web.git",[312,361,327],{"class":326},[312,363,365,368,371],{"class":314,"line":364},5,[312,366,367],{"class":333},"  --default-branch",[312,369,370],{"class":322}," main",[312,372,327],{"class":326},[312,374,376,379],{"class":314,"line":375},6,[312,377,378],{"class":333},"  --yes",[312,380,381],{"class":333}," --dry-run\n",[177,383,386],{"className":384,"code":385,"language":182},[180],"mkdir -p .\u002Fci-config\nwrite .\u002Fci-config\u002Fdefaults.toml\n  root = \"~\u002Fdev\u002Fuxd\"\nwrite .\u002Fci-config\u002Facme-web.toml\n  repo = \"git@github.com:acme\u002Facme-web.git\"\n  default_branch = \"main\"\n",[167,387,385],{"__ignoreMap":185},[159,389,390],{},"Guards:",[392,393,394,402,413],"ul",{},[395,396,397,398,401],"li",{},"Invalid or reserved name, or an empty repo → ",[167,399,400],{},"E_USAGE",", nothing written.",[395,403,404,405,408,409,412],{},"Project file already exists → ",[167,406,407],{},"E_CONFIG"," unless you pass ",[167,410,411],{},"--force",", which\noverwrites only that project file.",[395,414,415,416,418],{},"A required value missing on a non-TTY with no flag → ",[167,417,400],{}," naming the flag.",[159,420,421],{},"The freshly written file is validated with the normal loader before success is\nreported, so a bad combination fails here rather than on your next command.",[163,423,425],{"id":424},"projects",[167,426,424],{},[177,428,430],{"className":306,"code":429,"language":308,"meta":185,"style":185},"uxd projects\n",[167,431,432],{"__ignoreMap":185},[312,433,434,436],{"class":314,"line":315},[312,435,319],{"class":318},[312,437,438],{"class":322}," projects\n",[177,440,443],{"className":441,"code":442,"language":182},[180],"NAME      REPO                              WORKSPACES  PATH-EXISTS\ndemo-app  git@github.com:acme\u002Fdemo-app.git  1           yes\n",[167,444,442],{"__ignoreMap":185},[159,446,447,450],{},[167,448,449],{},"--json"," emits an array:",[177,452,456],{"className":453,"code":454,"language":455,"meta":185,"style":185},"language-json shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","[{\"name\":\"demo-app\",\"repo\":\"git@github.com:acme\u002Fdemo-app.git\",\"workspaces\":1,\"pathExists\":true}]\n","json",[167,457,458],{"__ignoreMap":185},[312,459,460,464,468,471,474,477,480,482,485,487,490,492,495,497,500,502,505],{"class":314,"line":315},[312,461,463],{"class":462},"s7iLA","[{",[312,465,467],{"class":466},"sb7M8","\"name\"",[312,469,470],{"class":462},":",[312,472,473],{"class":322},"\"demo-app\"",[312,475,476],{"class":462},",",[312,478,479],{"class":466},"\"repo\"",[312,481,470],{"class":462},[312,483,484],{"class":322},"\"git@github.com:acme\u002Fdemo-app.git\"",[312,486,476],{"class":462},[312,488,489],{"class":466},"\"workspaces\"",[312,491,470],{"class":462},[312,493,494],{"class":333},"1",[312,496,476],{"class":462},[312,498,499],{"class":466},"\"pathExists\"",[312,501,470],{"class":462},[312,503,504],{"class":333},"true",[312,506,507],{"class":462},"}]\n",[163,509,511],{"id":510},"doctor",[167,512,510],{},[159,514,515],{},"Diagnoses environment and configs. Exits non-zero if any check fails.",[177,517,519],{"className":306,"code":518,"language":308,"meta":185,"style":185},"uxd doctor\n",[167,520,521],{"__ignoreMap":185},[312,522,523,525],{"class":314,"line":315},[312,524,319],{"class":318},[312,526,527],{"class":322}," doctor\n",[177,529,532],{"className":530,"code":531,"language":182},[180],"OK   git version: git 2.50.1\nOK   gh (github cli): authenticated\nOK   config dir: ~\u002F.uxd\nOK   state dir: ~\u002F.local\u002Fstate\u002Fuxd\nOK   project demo-app: config: schema-valid\nOK   project demo-app: repo: bare repo at ~\u002Fdev\u002Fuxd\u002Fdemo-app\u002Frepo\nOK   project demo-app: fetch refspec: remote.origin.fetch configured\n",[167,533,531],{"__ignoreMap":185},[159,535,536,537,540,541,544,545,548],{},"Checks: git version, ",[167,538,539],{},"gh"," presence and auth, config-dir readability, state-dir\nwritability, stale locks, and per project — schema validity, the bare repo and\nits fetch refspec, editor binary on ",[167,542,543],{},"PATH",", commands that shadow built-in verbs,\n",[167,546,547],{},"core.hooksPath",", and worktree\u002Fstate drift.",[159,550,551,552,555,556,296,559,300],{},"See ",[553,554,83],"a",{"href":84}," for what to do with a\n",[167,557,558],{},"WARN",[167,560,561],{},"FAIL",[163,563,565],{"id":564},"config",[167,566,564],{},[177,568,570],{"className":306,"code":569,"language":308,"meta":185,"style":185},"uxd config path                 # print the config dir in use\nuxd config edit [project]       # edit defaults.toml, or one project file\nuxd config add [project]        # like edit; seeds a starter template if absent\nuxd config validate [project]   # validate all configs, or one\n",[167,571,572,586,601,616],{"__ignoreMap":185},[312,573,574,576,579,582],{"class":314,"line":315},[312,575,319],{"class":318},[312,577,578],{"class":322}," config",[312,580,581],{"class":322}," path",[312,583,585],{"class":584},"sq92B","                 # print the config dir in use\n",[312,587,588,590,592,595,598],{"class":314,"line":330},[312,589,319],{"class":318},[312,591,578],{"class":322},[312,593,594],{"class":322}," edit",[312,596,597],{"class":462}," [project]       ",[312,599,600],{"class":584},"# edit defaults.toml, or one project file\n",[312,602,603,605,607,610,613],{"class":314,"line":342},[312,604,319],{"class":318},[312,606,578],{"class":322},[312,608,609],{"class":322}," add",[312,611,612],{"class":462}," [project]        ",[312,614,615],{"class":584},"# like edit; seeds a starter template if absent\n",[312,617,618,620,622,625,628],{"class":314,"line":353},[312,619,319],{"class":318},[312,621,578],{"class":322},[312,623,624],{"class":322}," validate",[312,626,627],{"class":462}," [project]   ",[312,629,630],{"class":584},"# validate all configs, or one\n",[177,632,634],{"className":306,"code":633,"language":308,"meta":185,"style":185},"uxd config path\n",[167,635,636],{"__ignoreMap":185},[312,637,638,640,642],{"class":314,"line":315},[312,639,319],{"class":318},[312,641,578],{"class":322},[312,643,644],{"class":322}," path\n",[177,646,649],{"className":647,"code":648,"language":182},[180],"~\u002F.uxd\n",[167,650,648],{"__ignoreMap":185},[177,652,654],{"className":306,"code":653,"language":308,"meta":185,"style":185},"uxd config validate\n",[167,655,656],{"__ignoreMap":185},[312,657,658,660,662],{"class":314,"line":315},[312,659,319],{"class":318},[312,661,578],{"class":322},[312,663,664],{"class":322}," validate\n",[177,666,669],{"className":667,"code":668,"language":182},[180],"→ all project configs valid\n",[167,670,668],{"__ignoreMap":185},[159,672,673,676,677,296,680,683,684,300],{},[167,674,675],{},"config path"," is the fastest way to confirm which directory is actually in use\nwhen ",[167,678,679],{},"UXD_CONFIG_DIR",[167,681,682],{},"--config-dir"," is in play. See\n",[553,685,686],{"href":131},"Configuration overview",[163,688,690],{"id":689},"completions",[167,691,689],{},[159,693,694,695,697,698,701,702,705],{},"Prints a completion script for ",[167,696,308],{},", ",[167,699,700],{},"zsh",", or ",[167,703,704],{},"fish"," to stdout.",[177,707,709],{"className":306,"code":708,"language":308,"meta":185,"style":185},"eval \"$(uxd completions zsh)\"\n",[167,710,711],{"__ignoreMap":185},[312,712,713,716,719,721],{"class":314,"line":315},[312,714,715],{"class":333},"eval",[312,717,718],{"class":322}," \"$(",[312,720,319],{"class":318},[312,722,723],{"class":322}," completions zsh)\"\n",[159,725,551,726,300],{},[553,727,728],{"href":79},"Install shell completions",[163,730,732,735,736],{"id":731},"help-and-version",[167,733,734],{},"help"," and ",[167,737,738],{},"version",[177,740,742],{"className":306,"code":741,"language":308,"meta":185,"style":185},"uxd help       # the grammar, verbs, flags, and config-dir resolution order\nuxd version    # the version string\n",[167,743,744,754],{"__ignoreMap":185},[312,745,746,748,751],{"class":314,"line":315},[312,747,319],{"class":318},[312,749,750],{"class":322}," help",[312,752,753],{"class":584},"       # the grammar, verbs, flags, and config-dir resolution order\n",[312,755,756,758,761],{"class":314,"line":330},[312,757,319],{"class":318},[312,759,760],{"class":322}," version",[312,762,763],{"class":584},"    # the version string\n",[765,766,767],"style",{},"html pre.shiki code .szw1H, html code.shiki .szw1H{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFB757}html pre.shiki code .semJd, html code.shiki .semJd{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#ADDCFF}html pre.shiki code .sklAV, html code.shiki .sklAV{--shiki-light:#A0111F;--shiki-default:#A0111F;--shiki-dark:#FF9492}html pre.shiki code .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}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 .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}html pre.shiki code .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}",{"title":185,"searchDepth":330,"depth":330,"links":769},[770,771,772,773,774,775],{"id":165,"depth":330,"text":165},{"id":424,"depth":330,"text":424},{"id":510,"depth":330,"text":510},{"id":564,"depth":330,"text":564},{"id":689,"depth":330,"text":689},{"id":731,"depth":330,"text":776},"help and version","Reference for setup, projects, doctor, config, completions, help and version — the verbs that take no project.","md",null,{},{"icon":112},{"title":783,"description":784},"uxd Top-Level Verbs","Reference for uxd setup, projects, doctor, config, completions, help and version — flags, prompts, and output.","xbEaAxpP237e_31srPYOW3LCGhtgOK0KH0qJ21XXz5s",[787,789],{"title":104,"path":105,"stem":106,"description":788,"icon":107,"children":-1},"Reference for list and clean — the verbs that take a project but no ref.",{"title":114,"path":115,"stem":116,"description":790,"icon":117,"children":-1},"The flags every uxd command accepts — config-dir override, ref disambiguation, dry runs, JSON output, and log verbosity.",1784975261746]