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