Context file for Claude Code to configure a complete Windows development environment.
- Windows 10 (build 19041+) or Windows 11
- Admin access
- Internet connection
# Install Windows Terminal
winget install Microsoft.WindowsTerminal# Install PowerShell 7
winget install Microsoft.PowerShellAfter installation, open Windows Terminal and set PowerShell 7 as default profile.
# Set execution policy
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser# Install Scoop
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression# Add extras bucket
scoop bucket add extras
scoop bucket add nerd-fonts# Install via Scoop
scoop install git curl wget jq yq tree# Install modern CLI replacements
scoop install bat eza ripgrep fzf tldr# Install Oh My Posh
winget install JanDeDobbeleer.OhMyPosh# Install Nerd Font
scoop install nerd-fonts/FiraCode-NF# Create/open profile
notepad $PROFILEAdd these lines to the profile:
# Oh My Posh
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\catppuccin.omp.json" | Invoke-Expression
# PSReadLine (better autocomplete)
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
# Aliases
Set-Alias -Name cat -Value bat
Set-Alias -Name ls -Value eza
Set-Alias -Name g -Value git
Set-Alias -Name c -Value code
# Functions
function ll { eza -la --icons }# Set identity (REPLACE with actual values)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"# Set defaults
git config --global core.editor "code --wait"
git config --global init.defaultBranch main
git config --global core.autocrlf true# Useful aliases
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"# Install
winget install GitHub.cli# Login
gh auth login# Verify
gh auth status# Generate SSH key (REPLACE email)
ssh-keygen -t ed25519 -C "your@email.com"# Start ssh-agent service
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent# Add key
ssh-add $env:USERPROFILE\.ssh\id_ed25519# Copy public key to clipboard
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboard
# Then add to GitHub: Settings → SSH Keys → New# Install WSL with Ubuntu
wsl --installAfter restart:
# Verify
wsl --version# Inside WSL - Update packages
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential curl wget git unzip# Install fnm
winget install Schniz.fnmAdd to PowerShell profile (notepad $PROFILE):
fnm env --use-on-cd --shell power-shell | Out-String | Invoke-Expression# Restart PowerShell, then install Node
fnm install --lts
fnm default lts-latest# Verify
node --version
npm --version# Install global packages
npm install -g pnpm yarn# Install pyenv-win
scoop install pyenv# Install Python
pyenv install 3.12.0
pyenv global 3.12.0# Install uv (fast package manager)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# Verify
python --version
uv --version# Install Docker Desktop
winget install Docker.DockerDesktopAfter installation:
- Open Docker Desktop
- Enable WSL 2 backend in Settings → General
- Enable integration with your WSL distro in Settings → Resources → WSL Integration
# Verify
docker --version
docker run hello-world# Install VS Code
winget install Microsoft.VisualStudioCode# Install essential extensions
code --install-extension ms-python.python
code --install-extension dbaeumer.vscode-eslint
code --install-extension esbenp.prettier-vscode
code --install-extension bradlc.vscode-tailwindcss
code --install-extension eamodio.gitlens
code --install-extension github.copilot
code --install-extension ms-vscode-remote.remote-wsl# Utilities
winget install Microsoft.PowerToys
winget install voidtools.Everything
winget install 7zip.7zip
# Database client
winget install TablePlus.TablePlus
# Alternative editor
winget install Anysphere.Cursor# Google Cloud SDK
winget install Google.CloudSDK# Initialize gcloud (interactive)
gcloud init# Kubernetes CLI
winget install Kubernetes.kubectl# Kubernetes context manager (optional)
scoop install kubectx# API testing
winget install Postman.Postman# Tunneling for local development
winget install Ngrok.Ngrok# Configure ngrok (requires free account at ngrok.com)
ngrok config add-authtoken YOUR_AUTH_TOKEN# MongoDB GUI
winget install MongoDB.Compass.FullWrite-Host "=== Verification ===" -ForegroundColor Green
git --version
gh --version
node --version
npm --version
python --version
uv --version
docker --version
code --version
Write-Host "=== All OK ===" -ForegroundColor Green- Restart Windows Terminal to apply all changes
- Open Docker Desktop and complete setup
- Configure Windows Terminal font to "FiraCode Nerd Font"
- Configure VS Code settings sync (if desired)
To save your setup for future use:
# Export winget packages
winget export -o winget-packages.json
# Export Scoop packages
scoop export > scoop-packages.jsonTo restore on a new machine:
winget import -i winget-packages.json
scoop import scoop-packages.json