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