Windows PC setup automation for TADA backend developers.
On a Mac? See
mac/README.mdfor the macOS setup.
π’ First time? Start here β Fresh Windows PC, never ran this script before
π Just rebooted? Continue here β Already ran the script, rebooted, now what?
-
Open PowerShell as Administrator
- Fastest:
Win + Xβ Terminal (Admin) - Or:
Winkey β typepowershellβ click Run as Administrator
- Fastest:
-
Paste this and press Enter:
irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/setup.ps1?t=$(Get-Random)" | iex- The script will install everything automatically. When it's done, it will ask you to reboot.
- After reboot, this page will open in your browser. Go to After reboot below.
The hard part is done! All your apps and tools are already installed. Now we just need to finish WSL setup.
-
Open PowerShell as Administrator again
Win + Xβ Terminal (Admin)
-
Paste the same command again:
irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/setup.ps1?t=$(Get-Random)" | iex-
Don't worry β everything already installed will be skipped automatically. Only these remain:
- WSL Ubuntu 24.04 services (PostgreSQL, MongoDB, Redis, RabbitMQ, ActiveMQ)
- CLI tools in WSL (gh, rg, fd, bat, etc.)
- GitHub authentication + backend repo cloning
-
Grab a coffee and wait for it to finish.
To undo everything and start fresh:
irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/reset.ps1?t=$(Get-Random)" | iex- IntelliJ IDEA Ultimate β Primary IDE for Kotlin/Spring backend development
- DataGrip β Database IDE for querying PostgreSQL, MongoDB, Redis
- JetBrains Toolbox β Manages JetBrains IDE installations and updates
- Fork β Git GUI client for visual branch management and diffs
- Docker Desktop β Container runtime, uses WSL 2 backend on Windows
- Claude β AI assistant desktop app
- Slack β Team communication
- Figma β UI/UX design collaboration tool
- Google Chrome β Web browser for development and testing
- Postman β API testing and debugging tool
- MongoDB Compass β GUI for browsing and querying MongoDB databases
- Android Studio β IDE for Android app development and emulator
- 1Password β Password manager
- Cloudflare WARP β VPN client (team configuration required separately)
- PowerToys β Microsoft productivity tools (PowerToys Run, FancyZones, Color Picker, etc.)
- PowerShell 7 β Modern cross-platform PowerShell (faster than built-in 5.1)
- Git β Version control
- Node.js LTS β JavaScript runtime, required for Claude Code and frontend tools
- OpenJDK 21 β Java runtime for Kotlin/Spring Boot projects
- GitHub CLI (gh) β GitHub operations from the terminal (auth, PRs, repo management)
- jq β JSON processor for parsing API responses in scripts
- AWS CLI β AWS service management (S3, ECR, ECS, etc.)
- Python 3.12 β Python runtime for scripting and tooling
- uv β Ultra-fast Python package manager (pip/venv replacement)
- ripgrep (rg) β Fast text search across files (grep replacement)
- fd β Fast file finder (find replacement)
- fzf β Fuzzy finder for interactive file/history search
- bat β File viewer with syntax highlighting (cat replacement)
- zoxide β Smart directory jumper that learns your habits (cd replacement)
- delta β Syntax-highlighted git diff viewer
- eza β Modern file lister with colors and git status (ls replacement)
- sd β Intuitive find-and-replace tool (sed replacement)
- ktlint β Kotlin code linter and formatter
- Claude Code β AI coding assistant CLI (native install)
- statusLine via ccstatusline (npm global, pinned) β shows branch, git changes, context %, model & usage meters; no per-person setup needed
- flipper-server β Mobile debugging tool, browser-based (
npx flipper-serverto run)
- File extensions visible β Prevents
.wslconfig.txtmistakes - Hidden files visible β Shows
.git,.env,.vscodein Explorer - Full path in title bar β Shows absolute path in Explorer window
- Explorer opens to "This PC" β Drives view instead of recent files
- Developer Mode enabled β Create symlinks without admin privileges
- Long Paths enabled β Removes 260-char path limit (node_modules, Java)
- ExecutionPolicy RemoteSigned β Allows running local dev scripts (nvm, venv, etc.)
- PostgreSQL 16 β Primary relational database, with PostGIS extension
- MongoDB 8.0 β Document database for flexible schema storage
- Redis β In-memory cache and message broker
- RabbitMQ β Message queue with delayed message exchange plugin and management UI
- ActiveMQ β Message broker for legacy service communication (installed via brew)
- nvm β Node.js version manager (
nvm install 20,nvm use 18) - Node.js LTS β Installed via nvm, easily switchable per project
- uv β Python version and package manager (
uv python install 3.12,uv venv) - Python 3.12 β Installed via uv, no separate pyenv needed
- zsh β Default shell (replaces bash)
- oh-my-zsh β Zsh framework with themes and plugin management
- zsh-autosuggestions β Fish-like command suggestions as you type
- zsh-syntax-highlighting β Real-time syntax highlighting in terminal
- Claude Code statusLine β ccstatusline config symlinked to the Windows
~/.config/ccstatusline/settings.json, so both environments share one file (edit once, both update)
- gh β GitHub CLI
- ktlint β Kotlin linter
- ripgrep, fd, fzf, bat β Fast search and file tools
- zoxide, git-delta, eza, sd β Terminal productivity tools
If you're used to Mac keyboard shortcuts, this configures PowerToys to:
- Ctrl β Alt swap β Use your thumb for shortcuts (like Command on Mac)
- Caps Lock β ν/μ β Tap to switch Korean/English
- Left Alt + Space β ν/μ β Mac-style IME toggle
irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/optional/mac-keyboard.ps1?t=$(Get-Random)" | iexAfter running, restart PowerToys (system tray β right-click β Restart). To undo, open PowerToys > Keyboard Manager > delete all remappings.
- Set credential environment variables β
GITHUB_USERNAME,GITHUB_TOKEN - Enable Docker Desktop WSL integration β Settings > Resources > WSL Integration > Ubuntu-24.04
- Configure Cloudflare WARP β Follow the team VPN setup guide