[{"data":1,"prerenderedAt":470},["ShallowReactive",2],{"navigation_en":3,"-docs-uxd-configuration-overview":150,"-docs-uxd-configuration-overview-surround":465},{"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":127,"body":152,"description":456,"extension":457,"links":458,"meta":459,"navigation":460,"path":128,"seo":461,"stem":129,"__hash__":464},"docs_docs\u002Fdocs\u002Fuxd\u002Fconfiguration\u002F01.overview.md",{"type":153,"value":154,"toc":448},"minimark",[155,163,168,178,185,207,213,217,223,238,244,247,292,310,314,370,374,388,394,409,413,444],[156,157,158,162],"p",{},[159,160,161],"code",{},"uxd"," reads per-project TOML from one config directory. There is no\nproject-local config file — nothing is added to your repository.",[164,165,167],"h2",{"id":166},"where-the-config-directory-is","Where the config directory is",[169,170,175],"pre",{"className":171,"code":173,"language":174},[172],"language-text","--config-dir → $UXD_CONFIG_DIR → ~\u002F.uxd\n","text",[159,176,173],{"__ignoreMap":177},"",[156,179,180,181,184],{},"The first one set wins. ",[159,182,183],{},"uxd config path"," prints the winner:",[169,186,190],{"className":187,"code":188,"language":189,"meta":177,"style":177},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","uxd config path\n","bash",[159,191,192],{"__ignoreMap":177},[193,194,197,200,204],"span",{"class":195,"line":196},"line",1,[193,198,161],{"class":199},"szw1H",[193,201,203],{"class":202},"semJd"," config",[193,205,206],{"class":202}," path\n",[169,208,211],{"className":209,"code":210,"language":174},[172],"~\u002F.uxd\n",[159,212,210],{"__ignoreMap":177},[164,214,216],{"id":215},"layout","Layout",[169,218,221],{"className":219,"code":220,"language":174},[172],"\u003Cconfig-dir>\u002F\n  defaults.toml            # optional global defaults\n  my-project.toml          # one file per project; filename = project name\n  seeds\u002F\n    my-project\u002F            # seed file tree for project \"my-project\"\n      .env.local\n",[159,222,220],{"__ignoreMap":177},[156,224,225,226,229,230,233,234,237],{},"Project names must match ",[159,227,228],{},"^[a-z0-9][a-z0-9._-]*$",". ",[159,231,232],{},"defaults"," and ",[159,235,236],{},"seeds"," are\nreserved.",[164,239,241],{"id":240},"defaultstoml",[159,242,243],{},"defaults.toml",[156,245,246],{},"Three optional keys, applied to every project that does not override them:",[169,248,253],{"className":249,"code":250,"filename":251,"language":252,"meta":177,"style":177},"language-toml shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-high-contrast","root = \"~\u002Fdev\u002Fuxd\"          # base dir for derived repo_path \u002F worktrees_path\neditor = \"zed\"              # fallback editor preset or template\ndefault_command = \"code\"    # fallback default verb\n","~\u002F.uxd\u002Fdefaults.toml","toml",[159,254,255,268,280],{"__ignoreMap":177},[193,256,257,261,264],{"class":195,"line":196},[193,258,260],{"class":259},"s7iLA","root = ",[193,262,263],{"class":202},"\"~\u002Fdev\u002Fuxd\"",[193,265,267],{"class":266},"sq92B","          # base dir for derived repo_path \u002F worktrees_path\n",[193,269,271,274,277],{"class":195,"line":270},2,[193,272,273],{"class":259},"editor = ",[193,275,276],{"class":202},"\"zed\"",[193,278,279],{"class":266},"              # fallback editor preset or template\n",[193,281,283,286,289],{"class":195,"line":282},3,[193,284,285],{"class":259},"default_command = ",[193,287,288],{"class":202},"\"code\"",[193,290,291],{"class":266},"    # fallback default verb\n",[293,294,295,233,298,301,302,306,307,309],"warning",{},[159,296,297],{},"env",[159,299,300],{},"commands"," are ",[303,304,305],"strong",{},"not"," allowed in ",[159,308,243],{},". Per-project config\nstays self-contained on purpose — you should be able to read one file and know\nwhat a project does.",[164,311,313],{"id":312},"creating-and-editing","Creating and editing",[169,315,317],{"className":187,"code":316,"language":189,"meta":177,"style":177},"uxd setup                       # scaffold the config dir and your first project\nuxd config add my-project       # create a project file from a starter template\nuxd config edit my-project      # open an existing one\nuxd config edit                 # open defaults.toml\n",[159,318,319,329,344,358],{"__ignoreMap":177},[193,320,321,323,326],{"class":195,"line":196},[193,322,161],{"class":199},[193,324,325],{"class":202}," setup",[193,327,328],{"class":266},"                       # scaffold the config dir and your first project\n",[193,330,331,333,335,338,341],{"class":195,"line":270},[193,332,161],{"class":199},[193,334,203],{"class":202},[193,336,337],{"class":202}," add",[193,339,340],{"class":202}," my-project",[193,342,343],{"class":266},"       # create a project file from a starter template\n",[193,345,346,348,350,353,355],{"class":195,"line":282},[193,347,161],{"class":199},[193,349,203],{"class":202},[193,351,352],{"class":202}," edit",[193,354,340],{"class":202},[193,356,357],{"class":266},"      # open an existing one\n",[193,359,361,363,365,367],{"class":195,"line":360},4,[193,362,161],{"class":199},[193,364,203],{"class":202},[193,366,352],{"class":202},[193,368,369],{"class":266},"                 # open defaults.toml\n",[164,371,373],{"id":372},"validating","Validating",[169,375,377],{"className":187,"code":376,"language":189,"meta":177,"style":177},"uxd config validate\n",[159,378,379],{"__ignoreMap":177},[193,380,381,383,385],{"class":195,"line":196},[193,382,161],{"class":199},[193,384,203],{"class":202},[193,386,387],{"class":202}," validate\n",[169,389,392],{"className":390,"code":391,"language":174},[172],"→ all project configs valid\n",[159,393,391],{"__ignoreMap":177},[156,395,396,397,400,401,404,405,408],{},"Validation is ",[303,398,399],{},"aggregate"," — one run reports every schema error in a file, not\njust the first. Pass a project name to check one file. Invalid config exits ",[159,402,403],{},"3","\n(",[159,406,407],{},"E_CONFIG",").",[164,410,412],{"id":411},"where-to-go-next","Where to go next",[414,415,416,421,429,441],"card-group",{},[417,418,420],"card",{"icon":135,"title":419,"to":133},"Project file","Every key a project TOML accepts, with defaults.",[417,422,424,425,428],{"icon":140,"title":423,"to":138},"Commands & hooks","Named commands for ",[159,426,427],{},"run",", plus the four lifecycle hooks.",[417,430,432,433,436,437,440],{"icon":75,"title":431,"to":143},"Environment & templates","The ",[159,434,435],{},"{port}"," family of template variables and the ",[159,438,439],{},"UXD_*"," environment.",[417,442,443],{"icon":149,"title":146,"to":147},"Editor presets and custom templates.",[445,446,447],"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 .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":177,"searchDepth":270,"depth":270,"links":449},[450,451,452,453,454,455],{"id":166,"depth":270,"text":167},{"id":215,"depth":270,"text":216},{"id":240,"depth":270,"text":243},{"id":312,"depth":270,"text":313},{"id":372,"depth":270,"text":373},{"id":411,"depth":270,"text":412},"Where uxd looks for configuration, what lives in the config directory, and how defaults.toml relates to a project file.","md",null,{},{"icon":130},{"title":462,"description":463},"uxd Configuration Overview","How uxd resolves its config directory, the layout of ~\u002F.uxd, defaults.toml versus per-project TOML files, and how to validate them.","xh3yebq-0MC7AxRnSit5jcwMRjnJ_E_OiS85GC8QOq8",[466,468],{"title":117,"path":118,"stem":119,"description":467,"icon":120,"children":-1},"Every uxd exit code, the error name that goes with it, and what it means.",{"title":132,"path":133,"stem":134,"description":469,"icon":135,"children":-1},"Every key a uxd project TOML accepts — repository, behavior, setup — with types, defaults, and what happens when you omit them.",1789131076827]