[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82946":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},82946,"WindowsDeveloperConfig","microsoft\u002FWindowsDeveloperConfig","microsoft","Automate the setup and configuration of your Windows development environment.","",null,"PowerShell",1080,85,9,8,0,79,696,780,672,18.8,"MIT License",false,"main",true,[],"2026-06-12 02:04:29","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002Fdoc\u002Fimages\u002Fdevconfigs.svg\" alt=\"Windows Developer Config logo\" width=\"96\" \u002F>\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Windows Developer Config\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  Opinionated setups for Windows dev boxes. Idempotent. CI-tested.\n\u003C\u002Fp>\n\n\u003Ch3 align=\"center\">\n  \u003Ca href=\"#%EF%B8%8F-windows-dev-config\">Windows Dev Config\u003C\u002Fa>\n  \u003Cspan> · \u003C\u002Fspan>\n  \u003Ca href=\"#-wsl-comfort\">WSL Comfort\u003C\u002Fa>\n  \u003Cspan> · \u003C\u002Fspan>\n  \u003Ca href=\"#-single-language-workloads\">Workloads\u003C\u002Fa>\n  \u003Cspan> · \u003C\u002Fspan>\n  \u003Ca href=\"#-troubleshooting\">Troubleshooting\u003C\u002Fa>\n\u003C\u002Fh3>\n\n---\n\nGo from a fresh Windows install to a fully configured dev box in one command. These declarative, CI-tested configs set up your tools, settings, and shells the same way every time — so any machine can be your machine in minutes.\n\n## 🎯 Pick your setup\n\nThree developer setups live in this repo. Pick the one that matches what you want:\n\n| You want... | Go to |\n| --- | --- |\n| A complete dev workstation: tools, OS settings, WSL, and terminal. One command, may reboot. | [Windows Dev Config](#%EF%B8%8F-windows-dev-config) |\n| A polished WSL shell: zsh\u002Fbash, Starship, CLI tools, and a themed terminal profile. Interactive or unattended. | [WSL Comfort](#-wsl-comfort) |\n| A single language toolchain: Node, Python, .NET, Rust, Go, Java, PHP, WinForms, or WinUI 3. One command each. | [Workloads](#-single-language-workloads) |\n\nMost of them use [`winget configure`](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fpackage-manager\u002Fwinget\u002Fconfigure). If you've never used it before, enable it once:\n\n```powershell\nwinget configure --enable\n```\n\nIf that fails or `winget configure` is still not recognized, see [Troubleshooting](#-troubleshooting).\n\n\u003Cbr\u002F>\n\n## 🖥️ Windows Dev Config\n\n*Turns a fresh Windows 11 box into a clean, distraction-free dev workstation in one shot.*\n\nA single [winget configuration](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fpackage-manager\u002Fconfiguration\u002F) file that installs dev tools, applies opinionated Windows settings, and bootstraps WSL + Ubuntu through the required reboot. Non-interactive. Idempotent. Safe to re-run on an existing machine.\n\n```powershell\nwinget configure -f .\\windows-dev-config\\dev-config.winget --accept-configuration-agreements --disable-interactivity\n```\n\n> ⚠️ **May reboot.** Enabling WSL needs a Windows optional feature that requires a restart. A `RunOnce` task picks the configuration back up after you sign in, installs Ubuntu, and finishes the run. Expect one hard reboot plus about a minute of post-login work. Save your work first.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>What you get\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n- **Dev tools:** PowerShell 7, Git, GitHub CLI, VS Code, .NET SDK 10, Python 3.13 + uv, Node.js, Oh My Posh, and PowerToys.\n- **Terminal:** PowerShell 7 is the default profile, Oh My Posh is enabled, and Cascadia Mono NF is set as the default font.\n- **Windows settings:** Dark theme, developer mode, long paths, File Explorer defaults, Start\u002FSearch cleanup, Edge policies, and other workstation defaults.\n- **WSL:** WSL platform + Ubuntu, including the reboot and the `RunOnce` resume step.\n\n\u003C\u002Fdetails>\n\nFull details: [`windows-dev-config\u002FREADME.md`](.\u002Fwindows-dev-config\u002FREADME.md).\n\n\u003Cbr\u002F>\n\n## 🐧 WSL Comfort\n\n*Also known as Comfort Shell. An interactive setup for a polished Windows + WSL shell environment.*\n\nWSL Comfort stands apart. It supports both interactive and non-interactive modes, and lets you pick and choose individual components. The Windows side handles WSL, the distro, the Cascadia Code Nerd Font, and a themed Windows Terminal profile. The Linux side runs inside the distro and configures the shell itself.\n\n```powershell\n.\\wsl-comfort\\install.ps1\n```\n\nInteractive by default. Use `-NonInteractive` for unattended runs; the bootstrap also takes `--minimal` for a smaller setup. The Linux half is standalone, so you can copy `comfort-shell-bootstrap.sh` onto any Ubuntu host and run it directly.\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>What you can pick\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n- Your choice of shell: **zsh** or **bash**.\n- Optional **Starship** prompt.\n- Optional modern CLI tools: `fzf`, `rg`, `fd`, `bat`, `eza`, `zoxide`, `jq`.\n- Optional clipboard and `open` shims (`pbcopy`, `pbpaste`, `open`).\n- Optional **Homebrew**.\n- Optional Git defaults.\n- A themed **Windows Terminal** profile using Cascadia Code Nerd Font.\n\n\u003C\u002Fdetails>\n\nFull details: [`wsl-comfort\u002Freadme.md`](.\u002Fwsl-comfort\u002Freadme.md).\n\n\u003Cbr\u002F>\n\n## 🧪 Single-language workloads\n\nJust want one toolchain? Pick a row. Each workload ships a `configuration.winget` file plus a matching `install.ps1` shim that applies it and refreshes PATH in the current session.\n\n| Workload   | Installs                                                                | Run                                                                                                                            |\n| ---------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |\n| TypeScript | Node.js LTS + global `typescript`                                       | `winget configure -f .\\Workloads\\typescript\\configuration.winget --accept-configuration-agreements --disable-interactivity` |\n| PHP        | PHP 8.5                                                                 | `winget configure -f .\\Workloads\\php\\configuration.winget --accept-configuration-agreements --disable-interactivity`        |\n| .NET       | .NET SDK 10                                                             | `winget configure -f .\\Workloads\\dotnet\\configuration.winget --accept-configuration-agreements --disable-interactivity`     |\n| Go         | Go (rolling)                                                            | `winget configure -f .\\Workloads\\go\\configuration.winget --accept-configuration-agreements --disable-interactivity`         |\n| Java       | Microsoft Build of OpenJDK 25 LTS                                       | `winget configure -f .\\Workloads\\java\\configuration.winget --accept-configuration-agreements --disable-interactivity`       |\n| Rust       | Rust stable via rustup                                                  | `winget configure -f .\\Workloads\\rust\\configuration.winget --accept-configuration-agreements --disable-interactivity`       |\n| Python     | Python 3.13 + uv                                                       | `winget configure -f .\\Workloads\\python\\configuration.winget --accept-configuration-agreements --disable-interactivity`     |\n| WinForms   | .NET SDK 10 + Windows Forms desktop workload                            | `winget configure -f .\\Workloads\\winforms\\configuration.winget --accept-configuration-agreements --disable-interactivity`   |\n| WinUI 3    | .NET SDK 10 + Visual Studio Community + Windows App SDK \u002F WinUI 3 + WinAppCLI | `winget configure -f .\\Workloads\\winui\\configuration.winget --accept-configuration-agreements --disable-interactivity` |\n\nWant the PATH refresh in your current shell? Use the matching shim instead of calling `winget configure` directly:\n\n```powershell\n.\\Workloads\\python\\install.ps1\n```\n\n> **Heads up:** WinForms and WinUI 3 pull down several gigabytes of Visual Studio components. Fine on a real workstation, painful on a small VM.\n\n\u003Cbr\u002F>\n\n## 🎨 Command Palette extension (coming soon)\n\nA [PowerToys Command Palette](https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fpowertoys\u002Fcommand-palette\u002Foverview) extension lives under [`src\u002Ffuture\u002Fcmdpal\u002F`](.\u002Fsrc\u002Ffuture\u002Fcmdpal\u002F). It reads the same flow list as the rest of the repo and surfaces every flow as a launchable entry, so you don't have to remember which `configuration.winget` to point `winget` at.\n\nSee [`src\u002Ffuture\u002Fcmdpal\u002FREADME.md`](.\u002Fsrc\u002Ffuture\u002Fcmdpal\u002FREADME.md) for build and install instructions.\n\n\u003Cbr\u002F>\n\n## 🩺 Troubleshooting\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>\"Unrecognized command: configure\"\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nRun `winget configure --enable`. If `winget configure` is still not recognized after that, [`Workloads\u002F_common\u002Fassert-winget-configure.ps1`](.\u002FWorkloads\u002F_common\u002Fassert-winget-configure.ps1) tells you whether App Installer is too old, policy has disabled configuration, or something else needs fixing.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>A workload says it succeeded but \u003Ccode>python\u003C\u002Fcode> \u002F \u003Ccode>node\u003C\u002Fcode> \u002F the tool isn't on PATH\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nOpen a new terminal, or run the matching `install.ps1` shim to refresh PATH in the current session.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Windows Dev Config rebooted the machine and looks stuck\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nIt registered a `RunOnce` entry, so `winget configure` resumes once you sign back in. Give it a minute after login.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>Comfort Shell bootstrap fails because WSL is missing\u003C\u002Fstrong>\u003C\u002Fsummary>\n\nRun `.\\wsl-comfort\\install.ps1` on the Windows side instead. It installs WSL first.\n\n\u003C\u002Fdetails>\n\n\u003Cbr\u002F>\n\n## 🐛 Reporting issues\n\nHit a bug, a stale doc, or a setup that fails on your machine? Open an issue at [github.com\u002Fmicrosoft\u002FWindowsDeveloperConfig\u002Fissues](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FWindowsDeveloperConfig\u002Fissues). Include your Windows build (`winver`), the exact command you ran, and the failing output. This helps us triage faster.\n\n\u003Cbr\u002F>\n\n## ❤️ Contributing\n\nContributions of all kinds are welcome: bug reports, doc fixes, new workloads, voice-and-tone tweaks. Start with [`CONTRIBUTING.md`](.\u002FCONTRIBUTING.md), then read [`src\u002Fdocs\u002Fdevelopment.md`](.\u002Fsrc\u002Fdocs\u002Fdevelopment.md) for the CI matrix, the \"how to add a language\" walkthrough, and how the sign pipeline works.\n\n> **Note on the repo layout:** the [`src\u002F`](.\u002Fsrc\u002F) tree is the source of truth. The top-level `windows-dev-config\u002F`, `Workloads\u002F`, and `wsl-comfort\u002F` folders are Authenticode-signed release copies regenerated by the sign pipeline, so please don't edit them directly. Full details in [`src\u002Fdocs\u002Fdevelopment.md`](.\u002Fsrc\u002Fdocs\u002Fdevelopment.md#repo-layout-signed-vs-source).\n\nThe single source of truth for every flow (paths, build\u002Frun commands, ids, language metadata) is [`src\u002Fmanifest.yml`](.\u002Fsrc\u002Fmanifest.yml). The Command Palette extension, the CI harness, and the per-flow shims all read from it, so keep it in sync when you add or rename a flow.\n","Windows Developer Config 是一个用于自动化配置 Windows 开发环境的项目。它通过 PowerShell 脚本提供了一键式设置，包括安装开发工具、应用系统设置以及初始化 WSL（Windows Subsystem for Linux）等。项目具备幂等性，并且经过持续集成测试确保了配置的稳定性和一致性。适合需要快速搭建或标准化 Windows 开发工作站的场景，无论是个人开发者还是企业团队都能从中受益，极大地节省了手动配置的时间和精力。",2,"2026-06-11 04:09:40","CREATED_QUERY"]