[{"data":1,"prerenderedAt":488},["ShallowReactive",2],{"navigation_en":3,"-docs-guides-shell-completions":153,"-docs-guides-shell-completions-surround":483},{"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":78,"body":155,"description":475,"extension":476,"links":477,"meta":478,"navigation":479,"path":79,"seo":480,"stem":80,"__hash__":482},"docs_guides\u002Fdocs\u002Fguides\u002F07.shell-completions.md",{"type":156,"value":157,"toc":470},"minimark",[158,166,171,260,263,298,302,346,357,417,421,424,438,446,449,455,466],[159,160,161,165],"p",{},[162,163,164],"code",{},"uxd completions \u003Cshell>"," prints a completion script to stdout. You install it\nby sourcing that output.",[167,168,170],"h2",{"id":169},"install","Install",[172,173,174,210,232],"code-group",{},[175,176,181],"pre",{"className":177,"code":178,"filename":179,"language":179,"meta":180,"style":180},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","# ~\u002F.bashrc\neval \"$(uxd completions bash)\"\n","bash","",[162,182,183,192],{"__ignoreMap":180},[184,185,188],"span",{"class":186,"line":187},"line",1,[184,189,191],{"class":190},"sq92B","# ~\u002F.bashrc\n",[184,193,195,199,203,207],{"class":186,"line":194},2,[184,196,198],{"class":197},"ssYy9","eval",[184,200,202],{"class":201},"semJd"," \"$(",[184,204,206],{"class":205},"szw1H","uxd",[184,208,209],{"class":201}," completions bash)\"\n",[175,211,214],{"className":177,"code":212,"filename":213,"language":179,"meta":180,"style":180},"# ~\u002F.zshrc\neval \"$(uxd completions zsh)\"\n","zsh",[162,215,216,221],{"__ignoreMap":180},[184,217,218],{"class":186,"line":187},[184,219,220],{"class":190},"# ~\u002F.zshrc\n",[184,222,223,225,227,229],{"class":186,"line":194},[184,224,198],{"class":197},[184,226,202],{"class":201},[184,228,206],{"class":205},[184,230,231],{"class":201}," completions zsh)\"\n",[175,233,236],{"className":177,"code":234,"filename":235,"language":179,"meta":180,"style":180},"# ~\u002F.config\u002Ffish\u002Fconfig.fish\nuxd completions fish | source\n","fish",[162,237,238,243],{"__ignoreMap":180},[184,239,240],{"class":186,"line":187},[184,241,242],{"class":190},"# ~\u002F.config\u002Ffish\u002Fconfig.fish\n",[184,244,245,247,250,253,257],{"class":186,"line":194},[184,246,206],{"class":205},[184,248,249],{"class":201}," completions",[184,251,252],{"class":201}," fish",[184,254,256],{"class":255},"sklAV"," |",[184,258,259],{"class":197}," source\n",[159,261,262],{},"Open a new shell, or re-source the file, and completion is live.",[264,265,267,275,295],"tip",{"title":266},"Prefer a file over eval",[159,268,269,271,272,274],{},[162,270,198],{}," runs ",[162,273,206],{}," on every shell start. If startup time matters, write the\nscript to disk once instead:",[175,276,278],{"className":177,"code":277,"language":179,"meta":180,"style":180},"uxd completions zsh > ~\u002F.zsh\u002Fcompletions\u002F_uxd\n",[162,279,280],{"__ignoreMap":180},[184,281,282,284,286,289,292],{"class":186,"line":187},[184,283,206],{"class":205},[184,285,249],{"class":201},[184,287,288],{"class":201}," zsh",[184,290,291],{"class":255}," >",[184,293,294],{"class":201}," ~\u002F.zsh\u002Fcompletions\u002F_uxd\n",[159,296,297],{},"Regenerate it after adding a project.",[167,299,301],{"id":300},"what-gets-completed","What gets completed",[303,304,305,318],"table",{},[306,307,308],"thead",{},[309,310,311,315],"tr",{},[312,313,314],"th",{},"Position",[312,316,317],{},"Completes",[319,320,321,330,338],"tbody",{},[309,322,323,327],{},[324,325,326],"td",{},"First argument",[324,328,329],{},"Top-level verbs and your project names",[309,331,332,335],{},[324,333,334],{},"After a project",[324,336,337],{},"Workspace verbs and the slugs that already exist",[309,339,340,343],{},[324,341,342],{},"Anywhere else",[324,344,345],{},"Workspace verbs",[159,347,348,349,352,353,356],{},"The project list is baked into the script when it is generated, which is why a\nnew project in ",[162,350,351],{},"~\u002F.uxd\u002F"," needs a regenerate. Workspace slugs are looked up live\n— the script calls ",[162,354,355],{},"uxd \u003Cproject> list --json"," while you type.",[159,358,359,360,363,364,363,367,363,370,373,374,363,377,363,380,383,384,363,387,373,390,363,393,363,395,363,398,363,401,363,404,363,407,363,410,363,413,416],{},"The top-level verbs it offers are ",[162,361,362],{},"setup",", ",[162,365,366],{},"projects",[162,368,369],{},"doctor",[162,371,372],{},"config",",\n",[162,375,376],{},"completions",[162,378,379],{},"help",[162,381,382],{},"version","; the workspace verbs are ",[162,385,386],{},"list",[162,388,389],{},"clean",[162,391,392],{},"checkout",[162,394,162],{},[162,396,397],{},"run",[162,399,400],{},"exec",[162,402,403],{},"shell",[162,405,406],{},"sync",[162,408,409],{},"diff",[162,411,412],{},"info",[162,414,415],{},"rm",".",[167,418,420],{"id":419},"errors","Errors",[159,422,423],{},"Only three shells are supported. Anything else is a usage error:",[175,425,427],{"className":177,"code":426,"language":179,"meta":180,"style":180},"uxd completions ksh\n",[162,428,429],{"__ignoreMap":180},[184,430,431,433,435],{"class":186,"line":187},[184,432,206],{"class":205},[184,434,249],{"class":201},[184,436,437],{"class":201}," ksh\n",[175,439,444],{"className":440,"code":442,"language":443},[441],"language-text","error(E_USAGE): unsupported shell 'ksh'\nhint: one of: bash, zsh, fish\n","text",[162,445,442],{"__ignoreMap":180},[159,447,448],{},"Omitting the shell fails the same way:",[175,450,453],{"className":451,"code":452,"language":443},[441],"error(E_USAGE): completions requires a shell\nhint: one of: bash, zsh, fish\n",[162,454,452],{"__ignoreMap":180},[159,456,457,458,461,462,416],{},"Both exit ",[162,459,460],{},"2",". See ",[463,464,465],"a",{"href":120},"Exit codes",[467,468,469],"style",{},"html pre.shiki code .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}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}",{"title":180,"searchDepth":194,"depth":194,"links":471},[472,473,474],{"id":169,"depth":194,"text":170},{"id":300,"depth":194,"text":301},{"id":419,"depth":194,"text":420},"Generate and install tab completion for bash, zsh, or fish, so uxd completes your project names, verbs, and existing workspace slugs.","md",null,{},{"icon":81},{"title":78,"description":481},"Install uxd tab completion for bash, zsh, and fish with uxd completions \u003Cshell> — including what gets completed and how to reload after config changes.","aCaj4-Ixp-LQUIKjZEH8FRgwBqDc9ihntuw03QtfSxs",[484,486],{"title":73,"path":74,"stem":75,"description":485,"icon":76,"children":-1},"Use uxd from shell scripts and CI — the stdout\u002Fstderr contract, --json output shapes, and exit codes you can branch on.",{"title":83,"path":84,"stem":85,"description":487,"icon":86,"children":-1},"The errors uxd actually prints, what each one means, and the shortest fix — starting with uxd doctor.",1784975262398]