[{"data":1,"prerenderedAt":820},["ShallowReactive",2],{"navigation_en":3,"-docs-getting-started-quick-start":153,"-docs-getting-started-quick-start-surround":815},{"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":22,"body":155,"description":807,"extension":808,"links":809,"meta":810,"navigation":811,"path":23,"seo":812,"stem":24,"__hash__":814},"docs_gettingStarted\u002Fdocs\u002Fgetting-started\u002F03.quick-start.md",{"type":156,"value":157,"toc":797},"minimark",[158,162,175,765,769,793],[159,160,161],"p",{},"By the end of this page you will have a configured project, a materialized\nworkspace, a command running inside it, and a clean machine again. It takes\nabout ten minutes.",[159,163,164,165,169,170,174],{},"You need ",[166,167,168],"code",{},"uxd"," ",[171,172,173],"a",{"href":18},"installed"," and a git\nrepository you can clone.",[176,177,179,184,198,252,259,283,291,295,304,322,439,449,469,473,479,491,497,505,509,512,529,535,538,544,562,566,576,595,601,604,678,682,696,702,713,717,736,742],"steps",{"level":178},"2",[180,181,183],"h2",{"id":182},"scaffold-your-first-project","Scaffold your first project",[159,185,186,189,190,193,194,197],{},[166,187,188],{},"uxd setup"," creates the config directory (",[166,191,192],{},"~\u002F.uxd"," by default), sets a base\n",[166,195,196],{},"root"," for repos and worktrees, and writes your first project file. On a\nterminal it prompts for each field; every prompt is also a flag, so the same\ncommand runs unattended.",[199,200,201,223],"code-group",{},[202,203,209],"pre",{"className":204,"code":205,"filename":206,"language":207,"meta":208,"style":208},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","uxd setup\n","interactive","bash","",[166,210,211],{"__ignoreMap":208},[212,213,216,219],"span",{"class":214,"line":215},"line",1,[212,217,168],{"class":218},"szw1H",[212,220,222],{"class":221},"semJd"," setup\n",[202,224,227],{"className":204,"code":225,"filename":226,"language":207,"meta":208,"style":208},"uxd setup --name my-project --repo git@github.com:my-org\u002Fmy-project.git --yes\n","non-interactive",[166,228,229],{"__ignoreMap":208},[212,230,231,233,236,240,243,246,249],{"class":214,"line":215},[212,232,168],{"class":218},[212,234,235],{"class":221}," setup",[212,237,239],{"class":238},"ssYy9"," --name",[212,241,242],{"class":221}," my-project",[212,244,245],{"class":238}," --repo",[212,247,248],{"class":221}," git@github.com:my-org\u002Fmy-project.git",[212,250,251],{"class":238}," --yes\n",[159,253,254,255,258],{},"Not sure what it will write? ",[166,256,257],{},"--dry-run"," prints the plan and changes nothing:",[202,260,262],{"className":204,"code":261,"language":207,"meta":208,"style":208},"uxd setup --name my-project --repo git@github.com:my-org\u002Fmy-project.git --dry-run --yes\n",[166,263,264],{"__ignoreMap":208},[212,265,266,268,270,272,274,276,278,281],{"class":214,"line":215},[212,267,168],{"class":218},[212,269,235],{"class":221},[212,271,239],{"class":238},[212,273,242],{"class":221},[212,275,245],{"class":238},[212,277,248],{"class":221},[212,279,280],{"class":238}," --dry-run",[212,282,251],{"class":238},[202,284,289],{"className":285,"code":287,"language":288},[286],"language-text","mkdir -p ~\u002F.uxd\nwrite ~\u002F.uxd\u002Fdefaults.toml\n  root = \"~\u002Fdev\u002Fuxd\"\nwrite ~\u002F.uxd\u002Fmy-project.toml\n  repo = \"git@github.com:my-org\u002Fmy-project.git\"\n","text",[166,290,287],{"__ignoreMap":208},[180,292,294],{"id":293},"teach-the-project-how-to-run","Teach the project how to run",[159,296,297,300,301,303],{},[166,298,299],{},"setup"," writes the minimum. Open the project file and add the two things ",[166,302,168],{},"\nneeds to make a workspace runnable — how to install dependencies, and what your\ncommands are:",[202,305,307],{"className":204,"code":306,"language":207,"meta":208,"style":208},"uxd config edit my-project\n",[166,308,309],{"__ignoreMap":208},[212,310,311,313,316,319],{"class":214,"line":215},[212,312,168],{"class":218},[212,314,315],{"class":221}," config",[212,317,318],{"class":221}," edit",[212,320,321],{"class":221}," my-project\n",[202,323,328],{"className":324,"code":325,"filename":326,"language":327,"meta":208,"style":208},"language-toml shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","repo = \"git@github.com:my-org\u002Fmy-project.git\"\neditor = \"code\"\n\n[setup]\nrun = \"pnpm install --frozen-lockfile\"\ncache_key = [\"pnpm-lock.yaml\"]\n\n[env]\nPORT = \"{port}\"\n\n[commands.dev]\nrun = \"pnpm dev\"\n","~\u002F.uxd\u002Fmy-project.toml","toml",[166,329,330,339,348,355,366,375,386,391,401,410,415,431],{"__ignoreMap":208},[212,331,332,336],{"class":214,"line":215},[212,333,335],{"class":334},"s7iLA","repo = ",[212,337,338],{"class":221},"\"git@github.com:my-org\u002Fmy-project.git\"\n",[212,340,342,345],{"class":214,"line":341},2,[212,343,344],{"class":334},"editor = ",[212,346,347],{"class":221},"\"code\"\n",[212,349,351],{"class":214,"line":350},3,[212,352,354],{"emptyLinePlaceholder":353},true,"\n",[212,356,358,361,363],{"class":214,"line":357},4,[212,359,360],{"class":334},"[",[212,362,299],{"class":218},[212,364,365],{"class":334},"]\n",[212,367,369,372],{"class":214,"line":368},5,[212,370,371],{"class":334},"run = ",[212,373,374],{"class":221},"\"pnpm install --frozen-lockfile\"\n",[212,376,378,381,384],{"class":214,"line":377},6,[212,379,380],{"class":334},"cache_key = [",[212,382,383],{"class":221},"\"pnpm-lock.yaml\"",[212,385,365],{"class":334},[212,387,389],{"class":214,"line":388},7,[212,390,354],{"emptyLinePlaceholder":353},[212,392,394,396,399],{"class":214,"line":393},8,[212,395,360],{"class":334},[212,397,398],{"class":218},"env",[212,400,365],{"class":334},[212,402,404,407],{"class":214,"line":403},9,[212,405,406],{"class":334},"PORT = ",[212,408,409],{"class":221},"\"{port}\"\n",[212,411,413],{"class":214,"line":412},10,[212,414,354],{"emptyLinePlaceholder":353},[212,416,418,420,423,426,429],{"class":214,"line":417},11,[212,419,360],{"class":334},[212,421,422],{"class":218},"commands",[212,424,425],{"class":334},".",[212,427,428],{"class":218},"dev",[212,430,365],{"class":334},[212,432,434,436],{"class":214,"line":433},12,[212,435,371],{"class":334},[212,437,438],{"class":221},"\"pnpm dev\"\n",[159,440,441,444,445,448],{},[166,442,443],{},"{port}"," is a ",[171,446,447],{"href":146},"template variable",".\nEach workspace gets its own port, so two dev servers never collide.",[450,451,452,455,456,459,460,455,463,466,467,425],"note",{},[166,453,454],{},"repo_path"," and ",[166,457,458],{},"worktrees_path"," are left out on purpose — they default to\n",[166,461,462],{},"{root}\u002F{project}\u002Frepo",[166,464,465],{},"{root}\u002F{project}\u002Ftrees",". See\n",[171,468,125],{"href":131},[180,470,472],{"id":471},"check-your-environment","Check your environment",[159,474,475,478],{},[166,476,477],{},"doctor"," inspects your tools, your config directory, and every project you have\nconfigured. Run it before you trust a setup:",[202,480,482],{"className":204,"code":481,"language":207,"meta":208,"style":208},"uxd doctor\n",[166,483,484],{"__ignoreMap":208},[212,485,486,488],{"class":214,"line":215},[212,487,168],{"class":218},[212,489,490],{"class":221}," doctor\n",[202,492,495],{"className":493,"code":494,"language":288},[286],"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 my-project: config: schema-valid\nOK   project my-project: repo: bare repo at ~\u002Fdev\u002Fuxd\u002Fmy-project\u002Frepo\nOK   project my-project: fetch refspec: remote.origin.fetch configured\n",[166,496,494],{"__ignoreMap":208},[159,498,499,501,502,425],{},[166,500,477],{}," exits non-zero if any check fails, so it works in CI. To validate only\nthe config files, use ",[166,503,504],{},"uxd config validate",[180,506,508],{"id":507},"materialize-a-workspace","Materialize a workspace",[159,510,511],{},"Now the pipeline. Pick any ref — a branch name, a PR number, a full commit SHA:",[202,513,515],{"className":204,"code":514,"language":207,"meta":208,"style":208},"uxd my-project feat\u002Flogin checkout\n",[166,516,517],{"__ignoreMap":208},[212,518,519,521,523,526],{"class":214,"line":215},[212,520,168],{"class":218},[212,522,242],{"class":221},[212,524,525],{"class":221}," feat\u002Flogin",[212,527,528],{"class":221}," checkout\n",[202,530,533],{"className":531,"code":532,"language":288},[286],"→ cloning git@github.com:my-org\u002Fmy-project.git (bare, partial)\n→ fetching origin\u002Ffeat\u002Flogin\n→ worktree ready: ~\u002Fdev\u002Fuxd\u002Fmy-project\u002Ftrees\u002Ffeat-login\n~\u002Fdev\u002Fuxd\u002Fmy-project\u002Ftrees\u002Ffeat-login\n",[166,534,532],{"__ignoreMap":208},[159,536,537],{},"The first run clones once. Every later ref reuses that bare repo, so the second\nworkspace is fast.",[159,539,540,543],{},[166,541,542],{},"checkout"," prints the worktree path on stdout and nothing else, which makes it\nthe scriptable primitive:",[202,545,547],{"className":204,"code":546,"language":207,"meta":208,"style":208},"cd \"$(uxd my-project feat\u002Flogin checkout)\"\n",[166,548,549],{"__ignoreMap":208},[212,550,551,554,557,559],{"class":214,"line":215},[212,552,553],{"class":238},"cd",[212,555,556],{"class":221}," \"$(",[212,558,168],{"class":218},[212,560,561],{"class":221}," my-project feat\u002Flogin checkout)\"\n",[180,563,565],{"id":564},"do-something-in-it","Do something in it",[159,567,568,571,572,575],{},[166,569,570],{},"run"," materializes the workspace, executes ",[166,573,574],{},"[setup]",", then runs a configured\ncommand inside the worktree:",[202,577,579],{"className":204,"code":578,"language":207,"meta":208,"style":208},"uxd my-project feat\u002Flogin run dev\n",[166,580,581],{"__ignoreMap":208},[212,582,583,585,587,589,592],{"class":214,"line":215},[212,584,168],{"class":218},[212,586,242],{"class":221},[212,588,525],{"class":221},[212,590,591],{"class":221}," run",[212,593,594],{"class":221}," dev\n",[202,596,599],{"className":597,"code":598,"language":288},[286],"→ worktree ready (reused)\n→ running setup\n...\nlistening on 3053\n",[166,600,598],{"__ignoreMap":208},[159,602,603],{},"Other ways to act on the same workspace:",[202,605,607],{"className":204,"code":606,"language":207,"meta":208,"style":208},"uxd my-project feat\u002Flogin code               # open it in your editor\nuxd my-project feat\u002Flogin shell              # interactive shell, uxd env exported\nuxd my-project feat\u002Flogin exec -- git log --oneline -2\nuxd my-project feat\u002Flogin diff --stat\n",[166,608,609,624,638,664],{"__ignoreMap":208},[212,610,611,613,615,617,620],{"class":214,"line":215},[212,612,168],{"class":218},[212,614,242],{"class":221},[212,616,525],{"class":221},[212,618,619],{"class":221}," code",[212,621,623],{"class":622},"sq92B","               # open it in your editor\n",[212,625,626,628,630,632,635],{"class":214,"line":341},[212,627,168],{"class":218},[212,629,242],{"class":221},[212,631,525],{"class":221},[212,633,634],{"class":221}," shell",[212,636,637],{"class":622},"              # interactive shell, uxd env exported\n",[212,639,640,642,644,646,649,652,655,658,661],{"class":214,"line":350},[212,641,168],{"class":218},[212,643,242],{"class":221},[212,645,525],{"class":221},[212,647,648],{"class":221}," exec",[212,650,651],{"class":238}," --",[212,653,654],{"class":221}," git",[212,656,657],{"class":221}," log",[212,659,660],{"class":238}," --oneline",[212,662,663],{"class":238}," -2\n",[212,665,666,668,670,672,675],{"class":214,"line":357},[212,667,168],{"class":218},[212,669,242],{"class":221},[212,671,525],{"class":221},[212,673,674],{"class":221}," diff",[212,676,677],{"class":238}," --stat\n",[180,679,681],{"id":680},"see-what-you-have","See what you have",[202,683,685],{"className":204,"code":684,"language":207,"meta":208,"style":208},"uxd my-project list\n",[166,686,687],{"__ignoreMap":208},[212,688,689,691,693],{"class":214,"line":215},[212,690,168],{"class":218},[212,692,242],{"class":221},[212,694,695],{"class":221}," list\n",[202,697,700],{"className":698,"code":699,"language":288},[286],"SLUG        KIND    BRANCH      STATUS  PORT  AGE  LAST USED\nfeat-login  branch  feat\u002Flogin  clean   3053  0m   0m\n",[166,701,699],{"__ignoreMap":208},[159,703,704,705,708,709,712],{},"On a terminal, a bare ",[166,706,707],{},"uxd my-project"," turns that list into a picker and prints\nthe chosen path — so ",[166,710,711],{},"cd \"$(uxd my-project)\""," walks you into a workspace.",[180,714,716],{"id":715},"clean-up","Clean up",[202,718,720],{"className":204,"code":719,"language":207,"meta":208,"style":208},"uxd my-project clean --all --yes\n",[166,721,722],{"__ignoreMap":208},[212,723,724,726,728,731,734],{"class":214,"line":215},[212,725,168],{"class":218},[212,727,242],{"class":221},[212,729,730],{"class":221}," clean",[212,732,733],{"class":238}," --all",[212,735,251],{"class":238},[202,737,740],{"className":738,"code":739,"language":288},[286],"→ plan:\n  feat-login (clean, 16 KB)\nfeat-login\n→ freed 16 KB\n",[166,741,739],{"__ignoreMap":208},[159,743,744,747,748,751,752,755,756,755,759,466,762,425],{},[166,745,746],{},"clean"," prints its plan and asks for confirmation first; ",[166,749,750],{},"--yes"," skips the\nprompt. In day-to-day use you will reach for the filters instead —\n",[166,753,754],{},"--merged",", ",[166,757,758],{},"--closed",[166,760,761],{},"--older-than 7d",[171,763,764],{"href":69},"cleaning up workspaces",[180,766,768],{"id":767},"where-to-go-next","Where to go next",[770,771,772,782,788],"ul",{},[773,774,775,778,779,781],"li",{},[171,776,777],{"href":49},"Review a pull request"," — the workflow\n",[166,780,168],{}," was built for.",[773,783,784,787],{},[171,785,786],{"href":28},"How it works"," — what \"materialize\"\nactually does.",[773,789,790,792],{},[171,791,32],{"href":33}," — every ref form and how it is resolved.",[794,795,796],"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 .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 .ssYy9, html code.shiki .ssYy9{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#91CBFF}html pre.shiki code .s7iLA, html code.shiki .s7iLA{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#F0F3F6}html pre.shiki code .sq92B, html code.shiki .sq92B{--shiki-light:#66707B;--shiki-default:#66707B;--shiki-dark:#BDC4CC}",{"title":208,"searchDepth":341,"depth":341,"links":798},[799,800,801,802,803,804,805,806],{"id":182,"depth":341,"text":183},{"id":293,"depth":341,"text":294},{"id":471,"depth":341,"text":472},{"id":507,"depth":341,"text":508},{"id":564,"depth":341,"text":565},{"id":680,"depth":341,"text":681},{"id":715,"depth":341,"text":716},{"id":767,"depth":341,"text":768},"Go from a fresh install to a running workspace — configure a project, materialize a branch, run its dev server, and clean up.","md",null,{},{"icon":25},{"title":22,"description":813},"A ten-minute walkthrough — scaffold a uxd project with `uxd setup`, check your environment with `uxd doctor`, materialize a ref, run a command in it, and clean up.","AJYmNdQkt8nOPucUllDdFmsFQOge3bD3RB54tKdS1kk",[816,818],{"title":17,"path":18,"stem":19,"description":817,"icon":20,"children":-1},"Install the uxd CLI globally, from a clone, or run it without installing.",{"title":27,"path":28,"stem":29,"description":819,"icon":30,"children":-1},"The resolve → materialize → act pipeline that every uxd workspace command runs, and what each step actually does.",1784975261264]