Skip to content

Latest commit

 

History

95 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TADA Windows Setup

Windows PC setup automation for TADA backend developers.

On a Mac? See mac/README.md for the macOS setup.


πŸ‘‰ Which step are you on?

🟒 First time? Start here β€” Fresh Windows PC, never ran this script before

πŸ”„ Just rebooted? Continue here β€” Already ran the script, rebooted, now what?


First time setup

  1. Open PowerShell as Administrator

    • Fastest: Win + X β†’ Terminal (Admin)
    • Or: Win key β†’ type powershell β†’ click Run as Administrator
  2. Paste this and press Enter:

irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/setup.ps1?t=$(Get-Random)" | iex
  1. The script will install everything automatically. When it's done, it will ask you to reboot.
  2. After reboot, this page will open in your browser. Go to After reboot below.

After reboot

The hard part is done! All your apps and tools are already installed. Now we just need to finish WSL setup.

  1. Open PowerShell as Administrator again

    • Win + X β†’ Terminal (Admin)
  2. Paste the same command again:

irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/setup.ps1?t=$(Get-Random)" | iex
  1. 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
  2. Grab a coffee and wait for it to finish.


Reset

To undo everything and start fresh:

irm "https://raw.githubusercontent.com/easi6dev/public-start-here/main/reset.ps1?t=$(Get-Random)" | iex

What gets installed

Windows β€” GUI Apps

  • 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.)

Windows β€” CLI Tools

  • 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-server to run)

Windows β€” Developer Settings (auto-configured)

  • File extensions visible β€” Prevents .wslconfig.txt mistakes
  • Hidden files visible β€” Shows .git, .env, .vscode in 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.)

WSL Ubuntu 24.04 β€” Services

  • 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)

WSL Ubuntu 24.04 β€” Runtime Version Managers

  • 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

WSL Ubuntu 24.04 β€” Shell

  • 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)

WSL Ubuntu 24.04 β€” CLI Tools (via brew)

  • gh β€” GitHub CLI
  • ktlint β€” Kotlin linter
  • ripgrep, fd, fzf, bat β€” Fast search and file tools
  • zoxide, git-delta, eza, sd β€” Terminal productivity tools

Optional extras

Mac-style keyboard (Ctrl ↔ Alt swap)

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)" | iex

After running, restart PowerToys (system tray β†’ right-click β†’ Restart). To undo, open PowerToys > Keyboard Manager > delete all remappings.

Manual steps after setup

  1. Set credential environment variables β€” GITHUB_USERNAME, GITHUB_TOKEN
  2. Enable Docker Desktop WSL integration β€” Settings > Resources > WSL Integration > Ubuntu-24.04
  3. Configure Cloudflare WARP β€” Follow the team VPN setup guide

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages