Skip to content

Windows Developer Config — adoption playbook

Status as of 3 Jun 2026

Researched + analysed, NOT yet adopted. Live VM dry-run in progress in the CDX lab subscription. Decision: revisit after VM run + Sunday-morning W7080 adoption window.

What this is (real, not keynote summary)

Repo: microsoft/WindowsDeveloperConfig · GA'd at Build 2026 keynote (2 Jun 2026, AU/PT) · MIT-licensed.

Three flows live in the repo:

Flow What it does Command
windows-dev-config Full workstation in one shot. 14 WinGet packages + ~30 declarative scripts that touch registry, file explorer, terminal, taskbar, Edge, Sudo, Dev Mode, long paths, WSL. Force-reboots once to enable WSL platform, then a RunOnce task resumes post-login to install Ubuntu and finish. winget configure -f .\windows-dev-config\dev-config.winget --accept-configuration-agreements --disable-interactivity
wsl-comfort Pick-and-choose WSL polish (zsh/bash, Starship, fzf/rg/fd/bat/eza/zoxide/jq, Homebrew, clipboard shims, themed Windows Terminal profile). Interactive or -NonInteractive. .\wsl-comfort\install.ps1
Workloads 9 single-language stacks (TypeScript, PHP, .NET, Go, Java 25 LTS, Rust, Python, WinForms, WinUI 3). Each has configuration.winget + install.ps1 shim that also refreshes PATH in current session. .\Workloads\<lang>\install.ps1

Coming soon: PowerToys Command Palette extension that surfaces every flow as a launchable entry.

Exactly what dev-config.winget does

14 WinGet packages installed (all useLatest: true):

  1. Microsoft.WindowsTerminal — Windows Terminal (newer than what ships in-box)
  2. Microsoft.PowerShell — PowerShell 7
  3. Git.Git
  4. GitHub.Cligh
  5. GitHub.Copilot — GitHub Copilot for VS Code (extension)
  6. Microsoft.VisualStudioCode
  7. Microsoft.dotnet.SDK.10 — .NET SDK 10
  8. Python.Python.3.13
  9. astral-sh.uv — fast Python package manager
  10. OpenJS.NodeJS.LTSNode 24 (Node 24 IS the current LTS as of 2026)
  11. CoreyButler.NVMforWindows — NVM for version-switching
  12. JanDeDobbeleer.OhMyPosh — prompt theme
  13. Microsoft.winappcli — WinUI / WinApp CLI
  14. Microsoft.PowerToys

~30 declarative scripts that change behaviour:

  • Dark theme (forces AppsUseLightTheme=0 + SystemUsesLightTheme=0)
  • Installs Cascadia Code NF + Cascadia Mono NF fonts; sets Cascadia as Terminal default font
  • Sets PowerShell 7 as default Terminal profile
  • Enables Sudo (inline mode)sudo cmd works natively
  • Enables Developer Mode (sideload + dev features)
  • Enables Win32 long-path support (LongPathsEnabled=1)
  • Enables Remote Desktop
  • File Explorer: show extensions, show hidden files, show full path in titlebar, open to "This PC", disable all Quick Access (frequent folders/files/cloud), enable Git context menu, disable sync provider tips
  • Enables Do Not Disturb (disables ALL Windows notifications) ⚠️
  • Hides Widgets button, hides Bluetooth icon, enables "End Task" on right-click of taskbar icons
  • Disables web search in Start/Search, disables search highlights, disables Start menu recommendations
  • Disables the Widgets service entirely (sc stop Widgets)
  • Edge: blank new tab, disable first-run experience
  • Disables PowerToys AOT notifications
  • Sets up OhMyPosh in the PowerShell 7 profile
  • Creates a "GitHub Copilot" Terminal profile
  • Installs WinUI dotnet new templates
  • Adds win-dev-skills to Copilot plugin marketplace + installs the WinUI Copilot plugin
  • Enables WSL platform feature + Virtual Machine Platform → hard rebootRunOnce resumes → installs Ubuntu distro

Schema: DSC v3 (Desired State Configuration) — declarative, idempotent. Each resource has getScript / testScript / setScript. WinGet's configure verb walks the doc, runs each testScript, and only invokes setScript for resources currently out-of-state.

Why this matters for Sush (the unification opportunity)

Sush runs three high-leverage workstreams on top of identical-but-bespoke environments:

  1. Cosmos workC:\ssClawy\cosmos-atlas\ Astro + Wrangler + Hugo + Playwright QA
  2. Atlas (CLI) work — Copilot CLI + 3-file memory + MCPs + atlas-portfolio + a daily ritual stack (sync-brain · audit-wip · backup chain)
  3. Local AGTC dev workC:\ssClawy\aguidetocloud-revamp\ Hugo + C:\ssClawy\guided\ Astro + Wrangler + Cloudflare deploy + Practice Exam SLA gates

Each device he uses (W7080 Surface, future W365, any cloud devbox) currently needs ~3-4 hours of bespoke setup to get all three operational. Adopting dev-config.winget as the BASE layer + a Sush-bespoke OVERLAY + the existing OneDrive sync chain closes one of the biggest meta-bugs in the setup: the "works on W7080 but not on W365" tax.

Goal state per device: atlas-bootstrap → 25 min → all three workstreams operational + Atlas wakes up with full memory + Sush's voice.

This rule was already foreseen in the 29 May 2026 "copilot wrapper presence check" rule in ~/.copilot/copilot-instructions.md ("Sush will not remember to install this on new devices — Atlas remembers for him."). The Windows Developer Config GA is the expansion of that exact rule from "wrapper only" to "whole dev environment".

W7080 probe — 3 Jun 2026

Machine: SUR15COPILOT · Surface 15-inch · ARM64 silicon · Win11 build 26200.

Category Present on W7080 What MS config does Net effect
PowerShell 7 NOT installed (only Win PS 5.1) Force-installs ✅ Net new
Git git 2.53.0.windows.2 Force-upgrades to latest 🟢 Safe
GitHub CLI gh 2.88.1 Force-upgrades to latest 🟢 Safe
GitHub Copilot (VS Code ext) Installed (via VS Code) Reinstalls 🟢 Safe (no config change)
VS Code 1.122.1 Force-upgrades to latest 🟢 Safe (settings preserved in %APPDATA%)
.NET SDK 10 NOT installed (dotnet --version failed) Force-installs ✅ Net new
Python 3.13 Python 3.12.10 currently Force-installs 3.13 🟡 Upgrade — verify gsc-weekly.py, stripe-weekly.py, realtime-probe.py still work
uv 0.11.16 No-op (already present)
Node.js LTS v24.14.0 already Installs OpenJS.NodeJS.LTS (Node 24 IS the LTS in 2026) ✅ Match — no downgrade
NVM for Windows NOT installed Force-installs ✅ Net new — useful for cosmos/guided where version pinning may differ
Oh My Posh NOT installed Force-installs + wires into PS7 profile 🟡 New visible prompt change
Windows Terminal Built-in Reinstalls latest 🟢 Safe
WinApp CLI NOT installed Force-installs ✅ Net new (useful for WinUI 3 work — not currently in Sush's stack but harmless)
PowerToys INSTALLED Force-upgrades to latest 🟡 May reset config — back up %LOCALAPPDATA%\Microsoft\PowerToys\ first
Cascadia Code NF + Mono NF NOT installed Force-installs both, sets as Terminal default ✅ Net new
WSL NOT installed (zero presence) Force-installs WSL platform + Ubuntu + REBOOT 🔴 One-time hard reboot
Dark theme Already ON Forces ON ✅ No-op
Show extensions Already ON Forces ON ✅ No-op
Show hidden files OFF Forces ON 🟡 Visible change (mostly good for dev)
Long paths OFF Forces ON ✅ Net win — fewer Git long-path errors
Developer Mode OFF Forces ON ✅ Net win
Remote Desktop (state unknown) Force-enables 🟡 Surface attack — flag for IT/policy review
Sudo (inline) OFF Force-enables ✅ Net win
Do Not Disturb (state unknown) Force-enables — disables ALL Windows notifications 🔴 Watch this — will silence Atlas alerts, Teams pop-ups, calendar reminders
Widgets service running Disables entirely 🟢 Good (saves RAM)
Edge first-run / new-tab (state unknown) Sets blank new tab, disables first-run ✅ Cleaner
Copilot CLI INSTALLED (1.0.58) NOT touched ✅ Atlas untouched
OneDrive CopilotCLI_Sync + CopilotCLI_Backups Both present NOT touched ✅ Atlas memory chain untouched
Clawpilot + Frontier SE Both installed NOT touched
18 planet repos under C:\ssClawy All cloned + git-tracked NOT touched
Atlas HELM NOT installed on W7080 NOT touched ℹ️ Existing gap; belongs in atlas-overlay
Hugo 0.159.1 extended NOT covered ⚠️ Add to overlay
Wrangler NOT installed (uses npx wrangler?) NOT covered ⚠️ Add to overlay or rely on npx
Azure CLI 2.84.0 installed NOT covered ⚠️ Add to overlay

Net summary: MS config is mostly ADDITIVE on this device. Atlas ecosystem (wrapper, OneDrive sync, 18 planet repos, Clawpilot, Frontier SE) is 100% outside what MS config touches — zero collision risk for the canonical Atlas surface.

Gotchas (refined with real probe data)

The 8 originally surfaced (in trim-2026-05-cycle.md-style methodology), now reduced + revised after the probe:

# Gotcha Severity Mitigation
1 WSL install forces one hard reboot. RunOnce resumes WinGet, but YOUR in-flight work is gone. 🔴 Run only on a clean-state Sunday morning, AND/OR test on a fresh VM first (this playbook's CDX VM is exactly that).
2 Do Not Disturb force-enable silences ALL notifications. Atlas alerts, Teams DMs, calendar reminders all suppressed. 🔴 Either patch the overlay to un-set DND after install, or accept it consciously (Sush actually likes quiet dev mode — flag for explicit decision).
3 Requires admin elevation. winget configure will silently no-op (or partial-apply) as a standard user. 🔴 Bootstrap script wraps the call with #Requires -RunAsAdministrator.
4 PowerToys force-upgrade may reset config. FancyZones layouts, keyboard remaps live in %LOCALAPPDATA%\Microsoft\PowerToys\. 🟡 Back up that folder before run; restore if reset detected.
5 EMU vs personal git identity. Two GitHub identities (susanthgit personal vs ssutheesh_microsoft EMU). MS config doesn't touch git identity — good — but our overlay must respect the includeIf pattern. 🟡 Overlay script reads existing ~/.gitconfig and only sets identity if completely empty. Never overwrites.
6 Missing from MS default (must add to atlas-overlay.winget): Hugo (Hugo.Hugo.Extended), Wrangler (via npm i -g wrangler), Azure CLI (Microsoft.AzureCLI), Claude Desktop, Clawpilot, Frontier SE, Atlas HELM. ⚠️ Build atlas-overlay.winget covering these.
7 OneDrive sync-timing trap. If atlas-bootstrap.ps1 runs from OneDrive\CopilotCLI_Sync\ before OneDrive finishes initial sync on a brand-new device, supporting files may be missing → silent partial setup. ⚠️ Bootstrap waits on (Get-Process OneDrive).Responding and polls for a sentinel file in the sync folder.
8 5-Min Atlas Restore drill never tested live. Deadline already in ~/.copilot/copilot-instructions.md (2026-08-31). ⚠️ This adoption IS the trigger to do the drill. Kill two birds.
9 ARM64 fidelity. W7080 is Surface ARM64 (Qualcomm Snapdragon X). Most WinGet packages have ARM64 builds in 2026, BUT historically Microsoft.dotnet.SDK.10 and Microsoft.winappcli may emulate on ARM64 instead of running native. 🟡 Tested in this playbook's CDX VM (x64) for the FLOW; a separate local Hyper-V ARM64 VM test on the Surface is recommended before W7080 adoption for ARM64-specific package verification.
10 Remote Desktop force-enabled. May conflict with corp / Intune policy on the W7080. 🟡 Verify in gpedit.msc / Intune policy view before adopting; if policy disagrees, MS config will fight it on every run.
11 WinGet per-user MSIX registration only happens on FIRST INTERACTIVE LOGIN. Until then, winget is unusable for that user even though it's installed system-wide. Confirmed empirically in the CDX VM test below. 🔴 atlas-bootstrap.ps1 Step 0 auto-registers via Add-AppxPackage -RegisterByFamilyName. Must be invoked from an interactive shell (not Task Scheduler/SYSTEM/run-command).
12 SYSTEM context cannot invoke winget (no per-user MSIX). Blocks Task Scheduler, Custom Script Extension, run-command-as-SYSTEM, any service-account automation. 🔴 Same fix as #11 — bootstrap runs as the logged-in user. If you must run unattended, use a logon script (HKCU\...\Run) that fires when the user signs in.
13 az vm run-command pseudo-console blocks Add-AppxPackage and Install-Module. Even with --run-as-user, every cmdlet with a ShouldContinue prompt fails with Win32 internal error "Access is denied" 0x5 occurred while reading the console output buffer. 🔴 Means no viable cloud-side fresh-VM automation path for first-time winget setup. RDP-once-to-prime is required. Documented from this VM test.
14 Default rdp NSG rule is open to * on az vm create even with --nsg-rule NONE flag set. The VM is briefly internet-exposed on port 3389. 🔴 First action after az vm create: update the rule to your IP/32. Better: provision with NO network or with Bastion. Observed empirically.
15 Microsoft corp network blocks outbound RDP (port 3389) to public Azure IPs. Empirically confirmed: TCP 3389 to the CDX VM from W7080 (167.220.242.x corp IP) failed even with the NSG correctly allowing the source IP. Standard MS enterprise security policy. 🔴 Provision Azure Bastion in front of the VM and use native-client RDP tunneling (HTTPS via 443). Adds ~$0.19/hr Bastion cost. Or use Cloud PC / Bastion-only access pattern. Observed empirically in this session.
16 CDX tenant policy blocks shared-key auth on storage accounts AND blocks public blob access tenant-wide. Even az storage account update --allow-shared-key-access true is silently overridden. Breaks any "upload script for VM to pull from anonymous blob" pattern in CDX. 🟡 Use Entra ID auth (--auth-mode login) + grant yourself Storage Blob Data Contributor, AND use SAS tokens / private blob (not public — public is hard-disabled by CDX policy). Or use a non-CDX subscription for script hosting. Observed empirically.
17 az vm run-command --run-as-user X spawns a NEW session that doesn't inherit MSIX registration even when X has an active interactive RDP session at the same time. MSIX is per-session-token, not just per-user. Means even "RDP-prime first, then automate via run-command" workflow is dead for winget. 🔴 Confirms only path is: invoke winget from within the same interactive session as where the user logged in. RDP in, run script in that PS window — no automation handoff. Observed empirically this session.
18 Bastion-tunnel mstsc clipboard sync was intermittent in this session. Even with redirectclipboard:i:1 in the .rdp file, paste from W7080 into the VM didn't work reliably. May be a Bastion native-client limitation or RDP version mismatch. 🟡 Type commands manually (short ones), or use Bastion's browser-based RDP (different code path entirely), or — if you have a non-CDX sub — use a public blob URL for script hosting. Observed empirically.

Removed from earlier list: "Node v24 → Node 22 LTS downgrade" was a false alarm. Probe + .winget read confirmed: MS installs OpenJS.NodeJS.LTS which is Node 24 in 2026. Exact match to W7080.

(Rule #5 architecture gate fired; four paths surfaced; Path A picked. Full reasoning logged in session journal 7d91c294-....)

Layout

OneDrive\CopilotCLI_Sync\
  ├── install-copilot-wrapper.ps1                ← already exists (29 May 2026 rule)
  ├── atlas-bootstrap.ps1                        ← NEW · the master one-liner
  ├── windows-dev-config\
  │     ├── dev-config.winget                    ← VENDORED from microsoft/WindowsDeveloperConfig@<SHA>
  │     ├── README-VENDORED.md                   ← upstream SHA, date pinned, what we changed
  │     └── atlas-overlay.winget                 ← OUR additions (Hugo, Wrangler, Azure CLI, Claude Desktop, Clawpilot launcher, Frontier SE pointer, Atlas HELM if needed)
  ├── wsl-comfort\                               ← vendored (zsh + Starship + modern CLI tools — Sush picks subset)
  └── post-bootstrap\
        ├── 10-clone-planets.ps1                 ← C:\ssClawy\<repos> via git clone (idempotent: pull if exists)
        ├── 20-mcp-configs.ps1                   ← copy ~/.copilot/mcp-config.json + scripts from OneDrive
        ├── 30-git-identity.ps1                  ← respects includeIf; never overwrites
        ├── 40-register-rituals.ps1              ← sync-brain.ps1 in $PROFILE, audit-wip Task Scheduler entry
        └── 99-verify.ps1                        ← `copilot --version` · `gh auth status` · `az --version` · WIP audit · sync-brain dry-run

One-liner Sush types on a fresh device

iwr https://aka.ms/atlas-bootstrap | iex   # or run direct from OneDrive once Sync mounts

(The aka.ms/atlas-bootstrap shortlink would point at the OneDrive-public bootstrap script — to be created if we want true zero-friction. Otherwise: pwsh "$env:OneDrive\CopilotCLI_Sync\atlas-bootstrap.ps1".)

Why Path A, not the other three

Path Verdict Reason
A · Vendor + companion bootstrap ⭐ Pick Uses MS CI guarantees; SHA-bump review is a feature not a bug; zero fork-maintenance tax; mirrors existing OneDrive sync.
B · Fork & extend Pass Fork drift forever; customer-data paths risk leaking into commit history; heavyweight for a one-person setup.
C · Pure custom from scratch Pass Re-invents what MS now CI-tests; loses "MS does the work" leverage; violates Rule #4 (internal-first).
D · Wait for Command Palette extension Defer Atlas-adoption gated on someone else's roadmap; doesn't help today on the next fresh device. Revisit when CmdPal extension ships.

Concrete next-device experience (target state)

Step Time What happens
1. Fresh Windows 11 device Out of the box
2. Sign in with corp account, OneDrive starts syncing ~5 min OneDrive pulls CopilotCLI_Sync
3. Sush opens an elevated PS terminal, runs atlas-bootstrap 1 click Bootstrap begins
4. dev-config.winget runs ~20 min All 14 WinGet packages + scripts + WSL feature → reboot
5. RunOnce post-login ~2 min Ubuntu installs, config finishes
6. atlas-overlay.winget runs ~3 min Hugo, Wrangler, Azure CLI, Claude Desktop
7. install-copilot-wrapper.ps1 runs ~5 sec Copilot CLI wrapper + PATH
8. 3-file memory + MCP configs synced from OneDrive ~5 sec Atlas memory chain ready
9. 18 planet repos cloned/pulled under C:\ssClawy\ ~3 min All workstreams have code
10. Git identity respects includeIf pattern ~1 sec Personal + EMU both work
11. Sync-brain + audit-wip rituals registered ~5 sec Daily ritual stack live
12. 99-verify.ps1 runs full health check ~30 sec Green = done
Total ~30 min Atlas wakes up with full memory + voice + tools

Live VM dry-run (CDX lab, 3 Jun 2026)

Subscription: ME-M365CPI52224224-ssutheesh-1 (CDX lab, tenant 00b98149-...) Resource group: rg-wincfg-lab-20260603 VM: vm-wincfg-test · Standard_D2s_v5 · Win11 24H2 Pro (build 26100.8457.260507) Region: australiaeast Image: MicrosoftWindowsDesktop:windows-11:win11-24h2-pro:26100.8457.260507 NSG: Default rdp rule (priority 1000) shipped open to * (entire internet); locked down to 167.220.242.142/32

Phase 1: SYSTEM-context probe via az vm run-command invoke

Probe Result
Computer / OS / arch / user vm-wincfg-test · Win11 Pro build 26100 · AMD64 · nt authority\system
PowerShell 5.1.26100.8457 (May 2026 patch)
winget --version FAILED'winget' is not recognized as the name of a cmdlet
Download dev-config.winget from GitHub ✅ Succeeded (38017 bytes)
winget configure show FAILED (no winget)
winget configure test FAILED (no winget)

Phase 2: User-context probe via managed run-command (--run-as-user wincfgadmin)

Switched to the newer managed run-command API with --run-as-user wincfgadmin. WinGet still not on PATH. Diagnosis script revealed:

Probe Result
Identity vm-wincfg-test\wincfgadmin ✅ (correct user context)
Get-AppxProvisionedPackage for DesktopAppInstaller 2025.926.104.0 (system-wide provisioning EXISTS)
Get-AppxPackage Microsoft.DesktopAppInstaller for wincfgadmin NOT REGISTERED for this user
Direct invoke C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*\winget.exe --version Access denied (security boundary won't bypass per-user registration)

Phase 3: Workaround attempts (all FAILED via run-command, but reveal the architecture)

Workaround Result Why it failed
Add-AppxPackage -RegisterByFamilyName Microsoft.DesktopAppInstaller_8wekyb3d8bbwe Win32 internal error "Access is denied" 0x5 occurred while reading the console output buffer Cmdlet uses ShouldContinue prompt; run-command's pseudo-console can't read user input
Install-Module Microsoft.WinGet.Client -Force -Scope CurrentUser ❌ Same console-buffer error Same root cause — interactive confirmation step blocked
Repair-WinGetPackageManager (from PS module) ❌ Cmdlet not available Module install never succeeded (above)

Empirical conclusion (the real adoption ground truth)

WinGet on Windows is a per-user MSIX whose registration only completes on first interactive login. Until a user logs in via RDP/Console/Bastion at least once, that user cannot invoke winget — not via cmd, not via pwsh, not via the WindowsApps path, not via any automation hook. And az vm run-command cannot bridge the gap because its pseudo-console blocks every cmdlet that prompts.

This breaks several attractive automation paths the keynote didn't mention: - ❌ "Auto-bootstrap a fresh W365 device with winget configure on first boot via Intune script" — won't work; the W365 first-boot user must log in interactively before the script can call winget - ❌ "Run dev-config.winget from a Custom Script Extension or scheduled task running as SYSTEM" — winget is per-user, SYSTEM can't see it - ❌ "Drive winget configure from az vm run-command for a clean CI test" — even with --run-as-user, MSIX-register-on-prompt cmdlets fail - ✅ "Sush RDPs into a fresh device, double-clicks atlas-bootstrap.cmd" — this works because RDP login triggers MSIX registration automatically - ✅ "Bootstrap is added as a HKCU...\Run entry that fires the first time the user opens a session" — this works for the same reason

Implication for atlas-bootstrap.ps1 design

Adding this REQUIRED step at the top:

# Step 0 — MUST run in interactive user session (NOT scheduled task / run-command).
# This script will detect SYSTEM context and refuse to run.
if (([Security.Principal.WindowsIdentity]::GetCurrent()).IsSystem) {
  throw "atlas-bootstrap cannot run as SYSTEM. WinGet is per-user MSIX; needs interactive login. RDP in as your admin user and re-run."
}

# Step 0a — Auto-register WinGet for the current user if not already (idempotent)
$pkg = Get-AppxPackage -Name "Microsoft.DesktopAppInstaller" -ErrorAction SilentlyContinue
if (-not $pkg) {
  Write-Host "Registering WinGet MSIX for $(whoami)..."
  Add-AppxPackage -RegisterByFamilyName -MainPackage "Microsoft.DesktopAppInstaller_8wekyb3d8bbwe" -ForceApplicationShutdown
  # Wait for winget to be on PATH (PATH refresh)
  $env:Path = [Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [Environment]::GetEnvironmentVariable("Path","User")
}

# Step 0b — Verify winget is callable
if (-not (Get-Command winget -ErrorAction SilentlyContinue)) {
  throw "WinGet still not callable after MSIX registration. Manual intervention needed."
}

Cost + cleanup

VM was idle except for the ~10 min of probe scripts. Estimated cost: < $0.10 USD for the 2-hour window the VM was up. Resource group rg-wincfg-lab-20260603 should be torn down once the playbook has captured all learnings — single command:

az group delete --name rg-wincfg-lab-20260603 --yes --no-wait

Outstanding tests (for a future ARM64 fidelity session)

Once the W7080 bootstrap is built and the script handles MSIX registration: 1. Test on a local Hyper-V Win11 ARM64 VM (Sush's actual Surface architecture) — verify all 14 WinGet packages have ARM64 builds and install cleanly 2. Specifically watch: Microsoft.dotnet.SDK.10 (historically lagged on ARM64), Microsoft.winappcli (WinUI tooling), JanDeDobbeleer.OhMyPosh (Go-based, usually OK) 3. Verify Cascadia NF fonts install cleanly on ARM64 4. Time the WSL feature enable + reboot + Ubuntu install cycle on ARM64

Cross-pollination opportunities

These are bonuses the adoption naturally enables:

  1. 📝 Blog post for aguidetocloud.com"Build 2026: One command to a clean Windows dev box". Audience IS the bullseye. Walkthrough from fresh VM. Could land within a week.
  2. 🎓 Plain AI lesson — under /learn/windows-dev/. Wikipedia test passes cleanly.
  3. 🎥 YouTube walkthrough — fresh VM → 5-min screen-recorded. Evergreen.
  4. 💼 Connect bucket"Tools & systems" — when adopted, evidence of staying current.
  5. 🛟 Triggers the 5-Min Atlas Restore drill (already in deadlines, 2026-08-31). Two birds.

References

  • Repo: microsoft/WindowsDeveloperConfig (149★ at GA; signed Authenticode releases; src/ is editable source-of-truth, top-level folders are regenerated by the sign pipeline)
  • Build 2026 Windows Developer Blog post (2 Jun 2026)
  • WinGet Configuration docs
  • Soul-file rules this playbook respects: 🚨 #4 (internal-first), 🚨 #5 (architecture gate), 🚨 #6 (data-first), 🚨 #2 (no outbound work comms — N/A here but mentioned for the bootstrap script which never sends anything)
  • W7080 probe data: ~/.copilot/session-state/7d91c294-22d8-4619-a025-c0d034ff5c36/files/w7080-probe-2026-06-03.md
  • The vendored dev-config.winget at the version this playbook analysed: ~/.copilot/session-state/7d91c294-22d8-4619-a025-c0d034ff5c36/files/dev-config-fetched.winget

Status + next session pickup

  • Doc written: 3 Jun 2026 · session 7d91c294-...
  • VM dry-run: in progress at write time
  • Decision pending: adopt next Sunday morning on W7080 OR expand VM test to ARM64 Hyper-V first — depends on VM dry-run findings
  • Living doc: bump this file at every milestone (VM test results, atlas-overlay.winget v0.1, first adopted device, first cross-pollination ship)

Resume one-liner for next session:

Hey Atlas — read C:\ssClawy\learning-docs\docs\reference\windows-developer-config-playbook.md and pick up the next phase: vm-dry-run results + atlas-overlay.winget v0.1.