[{"data":1,"prerenderedAt":676},["ShallowReactive",2],{"navigation_en":3,"-docs-uxd-getting-started-installation":150,"-docs-uxd-getting-started-installation-surround":671},{"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":17,"body":152,"description":663,"extension":664,"links":665,"meta":666,"navigation":667,"path":18,"seo":668,"stem":19,"__hash__":670},"docs_docs\u002Fdocs\u002Fuxd\u002Fgetting-started\u002F02.installation.md",{"type":153,"value":154,"toc":652},"minimark",[155,160,234,241,259,263,282,348,351,363,371,391,418,422,438,567,588,592,595,627,637,641,648],[156,157,159],"h2",{"id":158},"requirements","Requirements",[161,162,163,179],"table",{},[164,165,166],"thead",{},[167,168,169,173,176],"tr",{},[170,171,172],"th",{},"Tool",[170,174,175],{},"Version",[170,177,178],{},"Required",[180,181,182,200,213],"tbody",{},[167,183,184,194,197],{},[185,186,187],"td",{},[188,189,193],"a",{"href":190,"rel":191},"https:\u002F\u002Fnodejs.org",[192],"nofollow","Node.js",[185,195,196],{},"≥ 18",[185,198,199],{},"Yes",[167,201,202,208,211],{},[185,203,204],{},[205,206,207],"code",{},"git",[185,209,210],{},"≥ 2.38",[185,212,199],{},[167,214,215,224,227],{},[185,216,217],{},[188,218,221],{"href":219,"rel":220},"https:\u002F\u002Fcli.github.com",[192],[205,222,223],{},"gh",[185,225,226],{},"any",[185,228,229,230,233],{},"No — enables PR metadata, ",[205,231,232],{},"gh pr diff",", and fork push-back",[235,236,237,240],"p",{},[205,238,239],{},"uxd"," runs on stock Node. No Bun, Deno, or other runtime is required, and any\npackage manager installs it.",[242,243,244,245,247,248,250,251,254,255,258],"note",{},"Every ",[205,246,223],{}," feature degrades gracefully when ",[205,249,223],{}," is missing or unauthenticated.\nPR checkout, ",[205,252,253],{},"diff",", and ",[205,256,257],{},"clean"," all fall back to plain git.",[156,260,262],{"id":261},"global-install","Global install",[235,264,265,267,268,274,275,277,278,281],{},[205,266,239],{}," publishes to npm as ",[269,270,271],"strong",{},[205,272,273],{},"@uxfront\u002Fuxd"," and installs a ",[205,276,239],{}," binary onto\nyour ",[205,279,280],{},"PATH",". This is the recommended install.",[283,284,285,314,331],"code-group",{},[286,287,293],"pre",{"className":288,"code":289,"filename":290,"language":291,"meta":292,"style":292},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","npm i -g @uxfront\u002Fuxd\n","npm","bash","",[205,294,295],{"__ignoreMap":292},[296,297,300,303,307,311],"span",{"class":298,"line":299},"line",1,[296,301,290],{"class":302},"szw1H",[296,304,306],{"class":305},"semJd"," i",[296,308,310],{"class":309},"ssYy9"," -g",[296,312,313],{"class":305}," @uxfront\u002Fuxd\n",[286,315,318],{"className":288,"code":316,"filename":317,"language":291,"meta":292,"style":292},"pnpm add -g @uxfront\u002Fuxd\n","pnpm",[205,319,320],{"__ignoreMap":292},[296,321,322,324,327,329],{"class":298,"line":299},[296,323,317],{"class":302},[296,325,326],{"class":305}," add",[296,328,310],{"class":309},[296,330,313],{"class":305},[286,332,335],{"className":288,"code":333,"filename":334,"language":291,"meta":292,"style":292},"yarn global add @uxfront\u002Fuxd\n","yarn",[205,336,337],{"__ignoreMap":292},[296,338,339,341,344,346],{"class":298,"line":299},[296,340,334],{"class":302},[296,342,343],{"class":305}," global",[296,345,326],{"class":305},[296,347,313],{"class":305},[235,349,350],{},"Confirm it landed:",[286,352,354],{"className":288,"code":353,"language":291,"meta":292,"style":292},"uxd version\n",[205,355,356],{"__ignoreMap":292},[296,357,358,360],{"class":298,"line":299},[296,359,239],{"class":302},[296,361,362],{"class":305}," version\n",[286,364,369],{"className":365,"code":367,"language":368},[366],"language-text","uxd 1.1.0\n","text",[205,370,367],{"__ignoreMap":292},[372,373,375,376,378,379,382,383,386,387,390],"tip",{"title":374},"uxd: command not found","Your package manager's global bin directory is not on your ",[205,377,280],{},". Add\n",[205,380,381],{},"$(npm prefix -g)\u002Fbin"," (npm), ",[205,384,385],{},"$(pnpm bin -g)"," (pnpm), or ",[205,388,389],{},"$(yarn global bin)","\n(yarn) to it.",[392,393,395,396,399,400,403,404,407,408,411,412,417],"warning",{"title":394},"Upgrading from 1.0.0","1.0.0 has no ",[205,397,398],{},"uxd setup"," command — it fails with\n",[205,401,402],{},"error(E_CONFIG): unknown project 'setup'"," — and reports its own version as\n",[205,405,406],{},"uxd 0.0.0",". 1.1.0 also removed the ",[205,409,410],{},"extends"," project key. Read the\n",[188,413,416],{"href":414,"rel":415},"https:\u002F\u002Fgithub.com\u002Fuxfront-com\u002Fuxd\u002Fblob\u002Fmain\u002FCHANGELOG.md",[192],"changelog"," before\nyou upgrade.",[156,419,421],{"id":420},"install-from-a-clone","Install from a clone",[235,423,424,425,427,428,430,431,434,435,437],{},"Working on ",[205,426,239],{}," itself? ",[205,429,239],{}," ships as compiled JavaScript, so a clone install\nhas two steps — install dependencies, then build the ",[205,432,433],{},"dist\u002F"," output the CLI\nruns from — before you link it onto your ",[205,436,280],{},".",[439,440,442,447,494,498,553,557],"steps",{"level":441},"3",[443,444,446],"h3",{"id":445},"clone-and-build","Clone and build",[286,448,450],{"className":288,"code":449,"language":291,"meta":292,"style":292},"git clone git@github.com:uxfront-com\u002Fuxd.git\ncd uxd\nnpm install\nnpm run build           # emits dist\u002Fbin\u002Fuxd.js (the linked bin points here)\n",[205,451,452,462,471,479],{"__ignoreMap":292},[296,453,454,456,459],{"class":298,"line":299},[296,455,207],{"class":302},[296,457,458],{"class":305}," clone",[296,460,461],{"class":305}," git@github.com:uxfront-com\u002Fuxd.git\n",[296,463,465,468],{"class":298,"line":464},2,[296,466,467],{"class":309},"cd",[296,469,470],{"class":305}," uxd\n",[296,472,474,476],{"class":298,"line":473},3,[296,475,290],{"class":302},[296,477,478],{"class":305}," install\n",[296,480,482,484,487,490],{"class":298,"line":481},4,[296,483,290],{"class":302},[296,485,486],{"class":305}," run",[296,488,489],{"class":305}," build",[296,491,493],{"class":492},"sq92B","           # emits dist\u002Fbin\u002Fuxd.js (the linked bin points here)\n",[443,495,497],{"id":496},"link-it-onto-your-path","Link it onto your PATH",[283,499,500,512,530],{},[286,501,503],{"className":288,"code":502,"filename":290,"language":291,"meta":292,"style":292},"npm link\n",[205,504,505],{"__ignoreMap":292},[296,506,507,509],{"class":298,"line":299},[296,508,290],{"class":302},[296,510,511],{"class":305}," link\n",[286,513,515],{"className":288,"code":514,"filename":317,"language":291,"meta":292,"style":292},"pnpm link --global      # run `pnpm setup` once first\n",[205,516,517],{"__ignoreMap":292},[296,518,519,521,524,527],{"class":298,"line":299},[296,520,317],{"class":302},[296,522,523],{"class":305}," link",[296,525,526],{"class":309}," --global",[296,528,529],{"class":492},"      # run `pnpm setup` once first\n",[286,531,533],{"className":288,"code":532,"filename":334,"language":291,"meta":292,"style":292},"yarn global add \"file:$PWD\"\n",[205,534,535],{"__ignoreMap":292},[296,536,537,539,541,543,546,550],{"class":298,"line":299},[296,538,334],{"class":302},[296,540,343],{"class":305},[296,542,326],{"class":305},[296,544,545],{"class":305}," \"file:",[296,547,549],{"class":548},"s7iLA","$PWD",[296,551,552],{"class":305},"\"\n",[443,554,556],{"id":555},"verify","Verify",[286,558,559],{"className":288,"code":353,"language":291,"meta":292,"style":292},[205,560,561],{"__ignoreMap":292},[296,562,563,565],{"class":298,"line":299},[296,564,239],{"class":302},[296,566,362],{"class":305},[392,568,570,573,574,576,577,579,580,583,584,587],{"title":569},"Rebuild after pulling",[205,571,572],{},"npm link"," points ",[205,575,239],{}," at your clone's ",[205,578,433],{},", and the CLI runs compiled\noutput. Re-run ",[205,581,582],{},"npm run build"," after every ",[205,585,586],{},"git pull"," or your changes will not\ntake effect.",[156,589,591],{"id":590},"run-without-installing","Run without installing",[235,593,594],{},"Skip the global step and call the built entrypoint from the clone:",[286,596,598],{"className":288,"code":597,"language":291,"meta":292,"style":292},"npm install && npm run build\nnode dist\u002Fbin\u002Fuxd.js version\n",[205,599,600,617],{"__ignoreMap":292},[296,601,602,604,607,610,612,614],{"class":298,"line":299},[296,603,290],{"class":302},[296,605,606],{"class":305}," install",[296,608,609],{"class":548}," && ",[296,611,290],{"class":302},[296,613,486],{"class":305},[296,615,616],{"class":305}," build\n",[296,618,619,622,625],{"class":298,"line":464},[296,620,621],{"class":302},"node",[296,623,624],{"class":305}," dist\u002Fbin\u002Fuxd.js",[296,626,362],{"class":305},[235,628,629,630,632,633,636],{},"The rest of these docs write ",[205,631,239],{},". Substitute ",[205,634,635],{},"node dist\u002Fbin\u002Fuxd.js"," if you\nhave not linked it globally.",[156,638,640],{"id":639},"next","Next",[235,642,643,644,647],{},"Head to the ",[188,645,646],{"href":23},"quick start"," to configure your\nfirst project and materialize a workspace.",[649,650,651],"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 .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 .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}",{"title":292,"searchDepth":464,"depth":464,"links":653},[654,655,656,661,662],{"id":158,"depth":464,"text":159},{"id":261,"depth":464,"text":262},{"id":420,"depth":464,"text":421,"children":657},[658,659,660],{"id":445,"depth":473,"text":446},{"id":496,"depth":473,"text":497},{"id":555,"depth":473,"text":556},{"id":590,"depth":464,"text":591},{"id":639,"depth":464,"text":640},"Install the uxd CLI globally, from a clone, or run it without installing.","md",null,{},{"icon":20},{"title":17,"description":669},"Requirements and install methods for the uxd CLI — global package manager install, install from a clone, or run the built entrypoint directly.","hWCgyt_-HAyBSc66YrKTSjm0mxWr6rQswDdsP24J7Ro",[672,674],{"title":12,"path":13,"stem":14,"description":673,"icon":15,"children":-1},"uxd materializes any git ref of a configured project into an isolated, runnable local workspace with one command.",{"title":22,"path":23,"stem":24,"description":675,"icon":25,"children":-1},"Go from a fresh install to a running workspace — configure a project, materialize a branch, run its dev server, and clean up.",1789131074077]