[{"data":1,"prerenderedAt":372},["ShallowReactive",2],{"navigation_en":3,"-docs-uxd-getting-started-introduction":150,"-docs-uxd-getting-started-introduction-surround":367},{"docs":4},[5,41,86,121],{"title":6,"icon":7,"path":8,"stem":9,"children":10,"page":7},"Getting Started",false,"\u002Fdocs\u002Fuxd\u002Fgetting-started","docs\u002Fuxd\u002Fgetting-started",[11,16,21,26,31,36],{"title":12,"path":13,"stem":14,"icon":15},"Introduction","\u002Fdocs\u002Fuxd\u002Fgetting-started\u002Fintroduction","docs\u002Fuxd\u002Fgetting-started\u002F01.introduction","i-lucide-house",{"title":17,"path":18,"stem":19,"icon":20},"Installation","\u002Fdocs\u002Fuxd\u002Fgetting-started\u002Finstallation","docs\u002Fuxd\u002Fgetting-started\u002F02.installation","i-lucide-download",{"title":22,"path":23,"stem":24,"icon":25},"Quick Start","\u002Fdocs\u002Fuxd\u002Fgetting-started\u002Fquick-start","docs\u002Fuxd\u002Fgetting-started\u002F03.quick-start","i-lucide-zap",{"title":27,"path":28,"stem":29,"icon":30},"How It Works","\u002Fdocs\u002Fuxd\u002Fgetting-started\u002Fhow-it-works","docs\u002Fuxd\u002Fgetting-started\u002F04.how-it-works","i-lucide-workflow",{"title":32,"path":33,"stem":34,"icon":35},"Refs","\u002Fdocs\u002Fuxd\u002Fgetting-started\u002Frefs","docs\u002Fuxd\u002Fgetting-started\u002F05.refs","i-lucide-git-branch",{"title":37,"path":38,"stem":39,"icon":40},"Workspaces & Worktrees","\u002Fdocs\u002Fuxd\u002Fgetting-started\u002Fworkspaces","docs\u002Fuxd\u002Fgetting-started\u002F06.workspaces","i-lucide-folder-tree",{"title":42,"icon":7,"path":43,"stem":44,"children":45,"page":7},"Guides","\u002Fdocs\u002Fuxd\u002Fguides","docs\u002Fuxd\u002Fguides",[46,51,56,61,66,71,76,81],{"title":47,"path":48,"stem":49,"icon":50},"Review a Pull Request","\u002Fdocs\u002Fuxd\u002Fguides\u002Freview-a-pull-request","docs\u002Fuxd\u002Fguides\u002F01.review-a-pull-request","i-lucide-git-pull-request",{"title":52,"path":53,"stem":54,"icon":55},"Run Dev Servers in Parallel","\u002Fdocs\u002Fuxd\u002Fguides\u002Frun-dev-servers-in-parallel","docs\u002Fuxd\u002Fguides\u002F02.run-dev-servers-in-parallel","i-lucide-plug",{"title":57,"path":58,"stem":59,"icon":60},"Seed Local Files","\u002Fdocs\u002Fuxd\u002Fguides\u002Fseed-local-files","docs\u002Fuxd\u002Fguides\u002F03.seed-local-files","i-lucide-sprout",{"title":62,"path":63,"stem":64,"icon":65},"Refresh a Workspace","\u002Fdocs\u002Fuxd\u002Fguides\u002Frefresh-a-workspace","docs\u002Fuxd\u002Fguides\u002F04.refresh-a-workspace","i-lucide-refresh-cw",{"title":67,"path":68,"stem":69,"icon":70},"Clean Up Workspaces","\u002Fdocs\u002Fuxd\u002Fguides\u002Fclean-up-workspaces","docs\u002Fuxd\u002Fguides\u002F05.clean-up-workspaces","i-lucide-trash-2",{"title":72,"path":73,"stem":74,"icon":75},"Script with uxd","\u002Fdocs\u002Fuxd\u002Fguides\u002Fscript-with-uxd","docs\u002Fuxd\u002Fguides\u002F06.script-with-uxd","i-lucide-braces",{"title":77,"path":78,"stem":79,"icon":80},"Install Shell Completions","\u002Fdocs\u002Fuxd\u002Fguides\u002Fshell-completions","docs\u002Fuxd\u002Fguides\u002F07.shell-completions","i-lucide-keyboard",{"title":82,"path":83,"stem":84,"icon":85},"Troubleshooting","\u002Fdocs\u002Fuxd\u002Fguides\u002Ftroubleshooting","docs\u002Fuxd\u002Fguides\u002F08.troubleshooting","i-lucide-stethoscope",{"title":87,"icon":7,"path":88,"stem":89,"children":90,"page":7},"CLI Reference","\u002Fdocs\u002Fuxd\u002Fcli","docs\u002Fuxd\u002Fcli",[91,96,101,106,111,116],{"title":92,"path":93,"stem":94,"icon":95},"Command Grammar","\u002Fdocs\u002Fuxd\u002Fcli\u002Foverview","docs\u002Fuxd\u002Fcli\u002F01.overview","i-lucide-terminal",{"title":97,"path":98,"stem":99,"icon":100},"Workspace Verbs","\u002Fdocs\u002Fuxd\u002Fcli\u002Fworkspace-verbs","docs\u002Fuxd\u002Fcli\u002F02.workspace-verbs","i-lucide-folder-git-2",{"title":102,"path":103,"stem":104,"icon":105},"Project Verbs","\u002Fdocs\u002Fuxd\u002Fcli\u002Fproject-verbs","docs\u002Fuxd\u002Fcli\u002F03.project-verbs","i-lucide-boxes",{"title":107,"path":108,"stem":109,"icon":110},"Top-Level Verbs","\u002Fdocs\u002Fuxd\u002Fcli\u002Ftop-level-verbs","docs\u002Fuxd\u002Fcli\u002F04.top-level-verbs","i-lucide-wrench",{"title":112,"path":113,"stem":114,"icon":115},"Global Flags","\u002Fdocs\u002Fuxd\u002Fcli\u002Fglobal-flags","docs\u002Fuxd\u002Fcli\u002F05.global-flags","i-lucide-flag",{"title":117,"path":118,"stem":119,"icon":120},"Exit Codes","\u002Fdocs\u002Fuxd\u002Fcli\u002Fexit-codes","docs\u002Fuxd\u002Fcli\u002F06.exit-codes","i-lucide-circle-alert",{"title":122,"icon":7,"path":123,"stem":124,"children":125,"page":7},"Configuration","\u002Fdocs\u002Fuxd\u002Fconfiguration","docs\u002Fuxd\u002Fconfiguration",[126,131,136,141,145],{"title":127,"path":128,"stem":129,"icon":130},"Overview","\u002Fdocs\u002Fuxd\u002Fconfiguration\u002Foverview","docs\u002Fuxd\u002Fconfiguration\u002F01.overview","i-lucide-settings",{"title":132,"path":133,"stem":134,"icon":135},"Project File","\u002Fdocs\u002Fuxd\u002Fconfiguration\u002Fproject-file","docs\u002Fuxd\u002Fconfiguration\u002F02.project-file","i-lucide-file-code",{"title":137,"path":138,"stem":139,"icon":140},"Commands & Hooks","\u002Fdocs\u002Fuxd\u002Fconfiguration\u002Fcommands-and-hooks","docs\u002Fuxd\u002Fconfiguration\u002F03.commands-and-hooks","i-lucide-play",{"title":142,"path":143,"stem":144,"icon":75},"Environment & Templates","\u002Fdocs\u002Fuxd\u002Fconfiguration\u002Fenvironment-and-templates","docs\u002Fuxd\u002Fconfiguration\u002F04.environment-and-templates",{"title":146,"path":147,"stem":148,"icon":149},"Editors","\u002Fdocs\u002Fuxd\u002Fconfiguration\u002Feditors","docs\u002Fuxd\u002Fconfiguration\u002F05.editors","i-lucide-app-window",{"id":151,"title":12,"body":152,"description":359,"extension":360,"links":361,"meta":362,"navigation":363,"path":13,"seo":364,"stem":14,"__hash__":366},"docs_docs\u002Fdocs\u002Fuxd\u002Fgetting-started\u002F01.introduction.md",{"type":153,"value":154,"toc":354},"minimark",[155,163,170,236,241,244,252,266,272,276,308,312,350],[156,157,158,162],"p",{},[159,160,161],"strong",{},"uxd"," — unpack, execute, debug — materializes any git ref of a configured\nproject into an isolated, runnable local workspace with one command.",[156,164,165,166,169],{},"AI coding agents produce branches and pull requests faster than anyone can read\nthem. Reading a diff tells you what changed; it does not tell you whether the\napp still works. ",[167,168,161],"code",{}," closes that gap: it turns a ref — a PR number, a branch,\na commit, a URL, or a local path — into a ready-to-run git worktree, so you can\nstart the app, click through the UI, and poke at the change instead of\nreviewing blind.",[171,172,177],"pre",{"className":173,"code":174,"language":175,"meta":176,"style":176},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","uxd my-project 42 code        # PR #42 → worktree → open in editor\nuxd my-project 42 run dev     # same workspace → install deps → start dev server\nuxd my-project clean --merged # dispose of workspaces whose PRs merged\n","bash","",[167,178,179,202,220],{"__ignoreMap":176},[180,181,184,187,191,195,198],"span",{"class":182,"line":183},"line",1,[180,185,161],{"class":186},"szw1H",[180,188,190],{"class":189},"semJd"," my-project",[180,192,194],{"class":193},"ssYy9"," 42",[180,196,197],{"class":189}," code",[180,199,201],{"class":200},"sq92B","        # PR #42 → worktree → open in editor\n",[180,203,205,207,209,211,214,217],{"class":182,"line":204},2,[180,206,161],{"class":186},[180,208,190],{"class":189},[180,210,194],{"class":193},[180,212,213],{"class":189}," run",[180,215,216],{"class":189}," dev",[180,218,219],{"class":200},"     # same workspace → install deps → start dev server\n",[180,221,223,225,227,230,233],{"class":182,"line":222},3,[180,224,161],{"class":186},[180,226,190],{"class":189},[180,228,229],{"class":189}," clean",[180,231,232],{"class":193}," --merged",[180,234,235],{"class":200}," # dispose of workspaces whose PRs merged\n",[237,238,240],"h2",{"id":239},"the-one-pipeline","The one pipeline",[156,242,243],{},"Every workspace command is the same three steps:",[171,245,250],{"className":246,"code":248,"language":249},[247],"language-text","resolve(ref) → materialize(workspace) → act(command)\n","text",[167,251,248],{"__ignoreMap":176},[156,253,254,257,258,261,262,265],{},[159,255,256],{},"Resolve"," turns a ref into a concrete git target. ",[159,259,260],{},"Materialize"," ensures a\nworktree exists for that target, with dependencies installed, seed files\ncopied, and ports allocated — idempotent, and cheap when the workspace already\nexists. ",[159,263,264],{},"Act"," does the thing you asked for: open an editor, run a configured\ncommand, exec an arbitrary command, drop into a shell, diff, or sync.",[156,267,268,271],{},[167,269,270],{},"checkout"," is the pipeline with a no-op act step. Every other verb is a thin\nwrapper over it. Learn the pipeline once and the whole CLI follows.",[237,273,275],{"id":274},"what-you-get","What you get",[277,278,279,284,292,301],"card-group",{},[280,281,283],"card",{"icon":40,"title":282},"Isolated workspaces","One git worktree per ref, off a single bare clone. Branches do not fight over\nyour main checkout, and you can hold several refs open at once.",[280,285,287,288,291],{"icon":55,"title":286},"Ports that do not collide","Each workspace gets its own port allocation, exported as ",[167,289,290],{},"$UXD_PORT"," and\ninterpolated into your config, so two dev servers run side by side.",[280,293,296,297,300],{"icon":294,"title":295},"i-lucide-package","Setup that runs itself","Dependency installs and seed files (",[167,298,299],{},".env.local"," and friends) are part of\nmaterializing, not a checklist you keep in your head.",[280,302,304,307],{"icon":50,"title":303},"Degrades gracefully",[167,305,306],{},"gh"," adds PR state, CI marks, and true PR diffs. Without it, everything still\nworks against plain git.",[237,309,311],{"id":310},"where-to-go-next","Where to go next",[313,314,315,328,338,344],"ul",{},[316,317,318,319,323,324,327],"li",{},"New here? ",[320,321,322],"a",{"href":18},"Install uxd",", then follow the\n",[320,325,326],{"href":23},"quick start",".",[316,329,330,331,334,335,327],{},"Want the model in your head? Read\n",[320,332,333],{"href":28},"how it works"," and\n",[320,336,337],{"href":33},"refs",[316,339,340,341,327],{},"Have a task in mind? Start with the ",[320,342,343],{"href":48},"guides",[316,345,346,347,327],{},"Looking up a flag? Go straight to the ",[320,348,349],{"href":93},"CLI reference",[351,352,353],"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 .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}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);}",{"title":176,"searchDepth":204,"depth":204,"links":355},[356,357,358],{"id":239,"depth":204,"text":240},{"id":274,"depth":204,"text":275},{"id":310,"depth":204,"text":311},"uxd materializes any git ref of a configured project into an isolated, runnable local workspace with one command.","md",null,{},{"icon":15},{"title":12,"description":365},"uxd turns a PR number, branch, commit, URL, or path into a ready-to-run git worktree, so you can run a change locally instead of reviewing it blind.","aKv1AM1ON8TIfF-kUV2DQzqdAOdJVlPBN5dTqe7piXg",[368,370],{"title":146,"path":147,"stem":148,"description":369,"icon":149,"children":-1},"Configure which editor uxd code opens, using a preset name or a custom template.",{"title":17,"path":18,"stem":19,"description":371,"icon":20,"children":-1},"Install the uxd CLI globally, from a clone, or run it without installing.",1789131073045]