new-windows-dev-pc
new-windows-dev-pc copied to clipboard
A comprehensive Windows developer setup automation repository with PowerShell 7+, Windows 11 optimizations, and mandatory WSL integration. Features streamlined configuration scripts, automated tool in...
Windows Developer Setup Automation
A comprehensive Windows developer setup automation repository featuring PowerShell 7+, Windows 11 optimizations, and mandatory WSL integration. Provides streamlined two-step installation, automated tool deployment, and Claude Code integration with 9+ specialized AI agents for modern development workflows.
๐ Key Features
- โก Two-Step Setup: Simple
install.ps1โconfigure.ps1process - ๐ง Mandatory WSL Integration: Ubuntu 22.04 development environment
- ๐ค 9 Claude Code AI Agents: Specialized experts for domain-specific development
- ๐ฆ 30+ Development Tools: Automated WinGet package installation
- ๐ 1Password Integration: Secure credential and environment variable management
- ๐ป Professional IDE Setup: VSCode (31+ extensions) + Visual Studio 2022 Professional
- ๐จ Enhanced Terminal Experience: Windows Terminal + PowerShell 7 + Oh My Posh themes
- ๐ Symbolic Link Management: Centralized configuration with live updates
๐ Table of Contents
- Prerequisites
- Installation and Setup
- Architecture and Components
- Configuration Details
- Claude Code Integration
- Usage Examples
- Directory Structure
- Troubleshooting
- Contributing Guidelines
๐ง Prerequisites
| Requirement | Details | Installation |
|---|---|---|
| Windows 10/11 | Windows 11 recommended for enhanced features | Pre-installed |
| Administrator Access | Required for system-level installations | Scripts handle elevation automatically |
| PowerShell 7+ | Modern cross-platform PowerShell | Auto-installed if missing |
| Internet Connection | Required for package downloads | Ensure stable connection |
| Developer Mode | Optional but recommended for symbolic links | Settings โ For developers |
๐ Installation and Setup
Two-Step Setup Process
Step 1: Install Development Tools & WSL Environment
# Run as Administrator (auto-elevation handled)
.\install.ps1
What this installs:
- โ WinGet Package Manager - Windows package management with comprehensive error handling
- โ 30+ Development Tools - IDEs, utilities, and development environments via WinGet
- โ WSL Environment - Ubuntu 22.04 with Node.js, .NET SDK, Azure CLI, 1Password CLI
- โ Cascadia Code Fonts - Programming fonts with ligatures and registry integration
- โ VSCode Extensions - 31+ curated extensions for full-stack development
- โ Global NPM Packages - Essential development packages via Fast Node Manager (fnm)
Step 2: Configure Complete Development Environment
# Interactive configuration wizard
.\configure.ps1
What this configures:
- โ Claude Code for WSL - Bash shell optimization with development tools
- โ 1Password Integration - Secure environment variables for Windows and WSL
- โ Git Identity Management - Separate identities for user and Claude Code commits
- โ Symbolic Link Creation - Centralized configuration management
- โ PowerShell Profile - Oh My Posh themes and productivity functions
- โ Interactive Guidance - Step-by-step explanations and confirmations
Advanced Configuration Options
# Automated deployment (skip confirmations)
.\configure.ps1 -SkipConfirmation
# Force overwrite existing configurations
.\configure.ps1 -Force
# Selective installation options
.\install.ps1 -SkipWinGet # Skip package installation
.\install.ps1 -SkipExtensions # Skip VSCode extensions
.\install.ps1 -SkipNpmPackages # Skip global npm packages
๐๏ธ Architecture and Components
Development Stack Overview
| Layer | Windows Environment | WSL Environment |
|---|---|---|
| Shell | PowerShell 7 with Oh My Posh | Bash with development tools |
| Terminal | Windows Terminal with themes | WSL terminal integration |
| Development | Visual Studio 2022 Professional | .NET SDK, Node.js |
| Code Editor | VSCode with 31+ extensions | WSL extension integration |
| AI Assistant | Claude Code with 9 agents | Bash-optimized Claude Code |
| Package Management | WinGet, Chocolatey | APT, NPM |
| Version Control | Git with VSCode integration | Git with Claude Code identity |
| Credential Management | 1Password CLI | 1Password WSL integration |
WSL Development Environment
The mandatory WSL integration provides a comprehensive Linux development environment:
System Tools
- Node.js LTS: Latest stable version via NodeSource repository
- .NET SDK: Microsoft .NET development platform for cross-platform development
- Azure CLI: Complete Azure command-line tools and authentication
- 1Password CLI: Secure credential retrieval and environment variable management
Development Tools
- Essential NPM Packages: prettier, markdownlint-cli, typescript, eslint
- Build Tools: make, build-essential, curl, wget, git
- Claude Code Integration: Bash shell with tool permissions and environment optimization
Installed Package Categories
| Category | Tools | Count | Notes |
|---|---|---|---|
| Windows & CLI | PowerToys, Windows Terminal, PowerShell 7, Oh My Posh | 4 | Enhanced Windows functionality |
| Development Environment | Git, Git LFS, GitHub CLI, .NET SDK, fnm, Azure CLI, Claude | 7 | Core development runtime |
| IDEs & Editors | Visual Studio 2022 Pro, VSCode, SSMS, Azure Data Studio, JetBrains Toolbox | 5 | Complete IDE ecosystem |
| Package Management | WinGet (auto-installed) | 1 | Package management foundation |
| Fonts | Cascadia Code with registry integration | 1 | Programming fonts with ligatures |
| VSCode Extensions | 31+ curated extensions | 31+ | Full-stack development support |
| Global NPM Packages | TypeScript, ESLint, Prettier, Markdownlint, Live Server | 5+ | Essential development tools |
โ๏ธ Configuration Details
Centralized Configuration Management
The setup creates symbolic links from system locations to repository files, enabling:
- Live Configuration Updates: Changes to repository files immediately affect system settings
- Version Control Integration: All configuration changes tracked in Git
- Multi-Machine Consistency: Same configurations across different development environments
- Easy Restoration: Simple repository checkout restores all settings
Configuration Components
| Component | Target Location | Repository Source | Features |
|---|---|---|---|
| Git Configuration | ~/.gitconfig |
settings/git/.gitconfig |
VSCode integration, helpful aliases |
| VSCode Settings | %APPDATA%\Code\User\ |
settings/vscode/ |
Settings, keybindings, 31+ extensions |
| PowerShell Profile | $PROFILE |
settings/pwsh/Microsoft.PowerShell_profile.ps1 |
Enhanced profile with 1Password |
| Oh My Posh Theme | ~/.theme.omp.json |
settings/pwsh/.theme.omp.json |
Developer-focused prompt theme |
| Windows Terminal | Multiple locations | settings/windows-terminal/settings.json |
Windows 11 optimizations |
| Claude Code | ~/.claude/ |
settings/claude/ |
WSL-optimized configuration |
| Hosts File | C:\Windows\System32\drivers\etc\hosts |
settings/etc/hosts |
Network configuration |
Enhanced Configuration Features
- Multi-Path Support: Automatically detects Windows Terminal installation methods (standard vs. Microsoft Store)
- Developer Mode Detection: Uses symbolic links without Administrator privileges when enabled
- Backup Management: Creates backups before overwriting existing configurations
- Error Recovery: Comprehensive error handling with clear recovery instructions
- Interactive Guidance: Step-by-step configuration with detailed explanations
๐ค Claude Code Integration
9 Specialized AI Agents
The repository includes comprehensive Claude Code configuration with domain-specific agents:
| Agent | Specialization | Key Capabilities |
|---|---|---|
| ๐ง azure-devops | Azure DevOps operations | Sprint management, YAML pipelines, work item lifecycle, API integration |
| โก csharp | Modern C# development | C# 12+ features, .NET 8+ frameworks, clean architecture, SOLID principles |
| ๐ markdown | Documentation creation | CommonMark standards, Azure DevOps wiki compatibility, automated formatting |
| ๐งช mstest | .NET unit testing | MSTest.Sdk, NSubstitute patterns, test coverage, CI/CD integration |
| โ๏ธ command-expert | CLI development | Command design patterns, argument parsing, automation scripting |
| ๐๏ธ agent-expert | Agent creation | Agent architecture, prompt engineering, integration patterns |
| ๐ feature-prompt | Feature development | Requirements engineering, acceptance criteria, stakeholder communication |
| ๐ mcp-expert | Model Context Protocol | MCP server configuration, protocol compliance, custom development |
| ๐ readme-maintainer | Documentation management | Hierarchical README updates, bottom-up processing, cross-reference validation |
WSL-Optimized Configuration
The Claude Code setup is optimized for WSL development:
{
"shell": "/bin/bash",
"env": {
"SHELL": "/bin/bash",
"CLAUDE_SHELL": "/bin/bash",
"WSL_DISTRO_NAME": "Ubuntu-22.04"
},
"terminal": {
"shell": "wsl",
"args": ["-d", "Ubuntu-22.04", "bash", "-l"]
},
"permissions": {
"allow": [
"Bash(prettier:*)",
"Bash(markdownlint:*)",
"Bash(git:*)",
"Bash(dotnet:*)",
"Bash(npm:*)"
]
}
}
MCP Server Configuration
Modern MCP servers configured for enhanced functionality:
- filesystem: File operations with directory access controls
- memory: Persistent conversation context and memory management
- sequential-thinking: Structured reasoning and problem-solving workflows
- context7: Advanced context management and intelligent retrieval
๐ Usage Examples
Common Development Workflows
Setting Up a New Project
# Navigate to your project directory
oss my-new-project
# Use Claude Code to initialize project structure
# Claude Code will automatically use appropriate agents based on project type
# Open in VSCode with all extensions and configuration
code .
# Start development with all tools configured
PowerShell Profile Features
# Quick navigation functions
oss [subdir] # Navigate to ~/src/oss/[subdir]
work [subdir] # Navigate to ~/src/ofm/[subdir]
# Visual Studio integration
sln # Open solution file in current directory
# VSCode extension management
backup-vs # Export currently installed extensions to repository
# Git configuration
Set-GitUser # Interactive Git user configuration
# 1Password integration
Set-1PEnvVar -Key "API_KEY" -Value "secret123" # Secure environment variable storage
Claude Code Agent Usage
# Agents automatically activate based on context and task
# Examples of agent specialization:
# C# development tasks โ csharp agent
# Azure DevOps operations โ azure-devops agent
# Documentation tasks โ markdown agent
# Unit testing โ mstest agent
# README management โ readme-maintainer agent
Advanced Setup Scripts
Azure Service Principal Setup
.\settings\az\setup-azure-service-principal.ps1
- Interactive Azure CLI authentication and connection
- Service principal creation with Contributor role assignment
- 1Password credential storage for secure environment variables
- Connection testing and validation with detailed feedback
1Password Environment Vault
.\settings\1password\setup-environment-vault.ps1
- Secure environment variable management across Windows and WSL
- CLI integration setup with service account configuration
- Vault creation and permission management
- PowerShell and WSL integration for seamless access
๐ Directory Structure
new-windows-dev-pc/
โโโ ๐ install.ps1 # Main installation script
โโโ ๐ configure.ps1 # Configuration script
โโโ ๐ LICENSE # MIT License
โโโ ๐ CLAUDE.md # Claude Code guidance
โโโ ๐ fonts/
โ โโโ ๐ฆ CascadiaCode.zip # Developer fonts with ligatures
โโโ ๐ installs/ # Installation modules
โ โโโ ๐ install-winget.ps1 # WinGet installation with fallbacks
โ โโโ ๐ npm-global.ps1 # Global npm packages
โ โโโ ๐ vscode.ps1 # VSCode extensions installer
โ โโโ ๐ winget.ps1 # WinGet package installer
โ โโโ ๐ wsl-tools.sh # WSL development environment
โ โโโ ๐ README.md # Installation documentation
โโโ ๐ prompts/ # Development workflow prompts
โ โโโ ๐ npm-global-packages-management.md
โโโ ๐ settings/ # Configuration files and scripts
โโโ ๐ 1password/ # Secure credential management
โ โโโ ๐ setup-environment-vault.ps1
โโโ ๐ az/ # Azure integration scripts
โ โโโ ๐ setup-azure-service-principal.ps1
โโโ ๐ claude/ # Claude Code configuration
โ โโโ ๐ configure-claude-windows-11.ps1 # Setup script
โ โโโ โ๏ธ settings.json # Windows configuration
โ โโโ โ๏ธ settings-wsl.json # WSL-optimized configuration
โ โโโ ๐ agents/ # 9 specialized AI agents
โ โโโ ๐ config/ # Configuration files
โ โโโ ๐ templates/ # Project templates
โ โโโ ๐ README.md # Claude Code documentation
โโโ ๐ etc/ # System configuration
โ โโโ ๐ hosts # Network hosts configuration
โ โโโ ๐ README.md # Hosts file management guide
โโโ ๐ git/ # Git configuration
โ โโโ ๐ configure-git-windows.ps1 # Configuration script
โ โโโ โ๏ธ .gitconfig # Git settings with VSCode integration
โ โโโ ๐ README.md # Git configuration guide
โโโ ๐ markdownlint/ # Markdown linting
โ โโโ ๐ configure-markdownlint-windows.ps1
โ โโโ โ๏ธ .markdownlint.json # Linting rules
โโโ ๐ npm/ # NPM configuration
โ โโโ ๐ global-packages # Global package list
โโโ ๐ nuget/ # NuGet configuration
โ โโโ ๐ configure-nuget-windows.ps1
โ โโโ โ๏ธ NuGet.Config # Package sources
โโโ ๐ pwsh/ # PowerShell configuration
โ โโโ ๐ configure-pwsh-windows.ps1 # Configuration script
โ โโโ โ๏ธ Microsoft.PowerShell_profile.ps1 # Enhanced profile
โ โโโ ๐จ .theme.omp.json # Oh My Posh theme
โ โโโ ๐ 1p-env-vars.ps1 # 1Password integration
โ โโโ ๐ README.md # PowerShell configuration guide
โโโ ๐ vscode/ # VSCode configuration
โ โโโ ๐ configure-vscode-windows.ps1 # Configuration script
โ โโโ โ๏ธ settings.json # VSCode settings
โ โโโ โ๏ธ keybindings.json # Custom keybindings
โ โโโ ๐ extensions # Extension list (31+)
โ โโโ ๐ README.md # VSCode configuration guide
โโโ ๐ windows-terminal/ # Windows Terminal configuration
โ โโโ ๐ configure-windows-terminal.ps1 # Configuration script
โ โโโ โ๏ธ settings.json # Terminal configuration
โ โโโ ๐ README.md # Terminal configuration guide
โโโ ๐ wsl/ # WSL-specific configuration
โ โโโ ๐ configure-1password-wsl.sh # 1Password CLI setup for WSL
โ โโโ ๐ 1p-env-vars.sh # Environment variable loading
โโโ ๐ visual-studio/ # Visual Studio configuration
โโโ โ๏ธ .vsconfig # Workload configuration
๐ Troubleshooting
Common Issues and Solutions
| Issue | Symptoms | Solution | Prevention |
|---|---|---|---|
| PowerShell Version | Configuration script won't run | Install PowerShell 7+ or run pwsh .\configure.ps1 |
Use $PSVersionTable to check version |
| Developer Mode | Symbolic link creation fails | Enable in Settings โ For developers | Enable before running scripts |
| UAC Elevation | Scripts fail with permissions | Click "Yes" when UAC prompt appears | Run PowerShell as Administrator |
| WSL Not Installed | WSL setup fails | Enable WSL feature, restart computer | Check wsl --list --verbose |
| 1Password Integration | Environment variables not working | Run .\settings\1password\setup-environment-vault.ps1 |
Verify OP CLI installation |
| VSCode Extensions | Extensions not installing | Ensure VSCode is in PATH, restart terminal | Check code --version |
| Claude Code WSL | Claude not working in WSL | Verify WSL tools installation | Check WSL development environment |
Advanced Troubleshooting Commands
# System diagnostics
Get-ExecutionPolicy # Check PowerShell execution policy
wsl --list --verbose # Check WSL status and version
winget --version # Verify WinGet installation
# Configuration validation
Get-Item ~/.gitconfig | Select-Object Target # Check Git config symlink
Test-Path $PROFILE # Verify PowerShell profile exists
code --list-extensions # List installed VSCode extensions
# Force reconfiguration
.\configure.ps1 -Force # Overwrite existing configurations
Detailed Documentation
Each component includes comprehensive documentation:
| Component | Documentation | Focus Areas |
|---|---|---|
| Installation Scripts | installs/README.md | Modular installation, execution order, WSL setup |
| Claude Code | settings/claude/README.md | 9 AI agents, WSL integration, security |
| Git Configuration | settings/git/README.md | VSCode integration, aliases, workflows |
| VSCode Setup | settings/vscode/README.md | 31+ extensions, productivity features |
| Terminal Configuration | settings/windows-terminal/README.md | Windows 11 features, themes |
| PowerShell Profile | settings/pwsh/README.md | 1Password integration, Oh My Posh |
| Network Configuration | settings/etc/README.md | Hosts file management, security |
๐ค Contributing Guidelines
Development Workflow
- Fork the Repository: Create your own fork for development
- Create Feature Branch: Use descriptive branch names (
feature/add-python-support) - Test Changes: Verify functionality across Windows 10/11 and WSL environments
- Update Documentation: Ensure README files reflect your changes
- Submit Pull Request: Provide clear description of changes and testing performed
Code Standards
PowerShell Scripts
- Use
PascalCasefor functions and$camelCasefor variables - Include comprehensive error handling with clear error messages
- Add help documentation with
Get-Helpcompatible comments - Test with PowerShell 5.1 and 7+ for compatibility
Documentation
- Follow CommonMark/GitHub Flavored Markdown standards
- Use consistent heading hierarchy and formatting
- Include code examples with syntax highlighting
- Update table of contents for structural changes
Configuration Files
- Validate JSON syntax before committing
- Use consistent indentation (2 spaces for JSON, 4 for PowerShell)
- Include comments where helpful (for non-JSON files)
- Test configuration changes in clean environment
Testing Guidelines
Minimum Testing Requirements
- Test on clean Windows 10 and Windows 11 installations
- Verify WSL integration works correctly
- Ensure all symbolic links are created properly
- Validate 1Password integration (if applicable)
- Test both fresh installations and updates
Regression Testing
- Verify existing functionality isn't broken
- Test edge cases and error conditions
- Validate rollback procedures work correctly
- Check cross-component interactions
Issue Reporting
When reporting issues, please include:
- Environment Details: Windows version, PowerShell version, WSL status
- Reproduction Steps: Clear steps to reproduce the issue
- Expected vs. Actual Behavior: What should happen vs. what does happen
- Error Messages: Full error text and stack traces
- Configuration: Relevant configuration files and settings
๐ Ready to Get Started?
Transform your Windows development environment in just two commands:
# Step 1: Install all development tools and WSL environment
.\install.ps1
# Step 2: Configure everything for optimal development workflow
.\configure.ps1
Result: A complete Windows + WSL development setup with Claude Code AI integration, 30+ development tools, 31+ VSCode extensions, and 9 specialized AI agents - all configured and ready to use! ๐