Day 1: Environment Setup
Abstract
Setting up a robust development environment is the first step towards mastering modern web development. In this article, we will guide you through the essential tools and configurations needed to create an efficient and productive workspace. From installing code editors and version control systems to configuring package managers and build tools, you’ll learn how to prepare your environment for building cutting-edge web applications.
Prerequisites
Before diving into the environment setup, ensure you have the following prerequisites in place:
- A computer with internet access
- Basic knowledge of operating systems (Windows, macOS, or Linux)
- Familiarity with command-line interfaces (CLI)
Setting Up Your Development Environment
Choose the instructions matching your primary OS; each workflow follows the same steps so teams stay in sync. Check below for Windows, macOS, and Linux workflows (choose one).
Windows Workflow
1. Install VS Code
- Open: https://code.visualstudio.com/
- Click Download for Windows and save the
.exe. - Run the installer:
- Check Add to PATH and Register Code as an editor.
- Optionally enable Add “Open with Code” action in context menus.
- Launch VS Code from Start menu or by running
codein a new terminal (you may need to restart the terminal).
Docs: https://code.visualstudio.com/docs/setup/windows
2. Configure VS Code Extensions
In VS Code:
- Open Extensions panel (
Ctrl+Shift+X). - Install:
- ESLint:
dbaeumer.vscode-eslint - Prettier - Code formatter:
esbenp.prettier-vscode - tailwindcss-intellisense:
bradlc.vscode-tailwindcss - Any framework-specific extensions (React) as needed.
- ESLint:
- Set default formatter:
Ctrl+,→ searchdefault formatter→ chooseesbenp.prettier-vscode.- Enable: Format on Save.
Docs:
- ESLint: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
- Prettier: https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
- Tailwind CSS IntelliSense: https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss
3. Install Terminal & Shell
- Install Windows Terminal:
- From Microsoft Store or: https://aka.ms/terminal
- Recommended shells:
- PowerShell (built-in) or Git Bash (installed with Git).
- Set default profile in Windows Terminal settings to your preferred shell.
- (Optional) Customize prompt with Oh My Posh: https://ohmyposh.dev/docs/windows
- Checkout this Youtube tutorial: https://youtu.be/-G6GbXGo4wo?si=wnyjc0MjwW_bdtT8
4. Install Git & Connect to GitHub
-
Download Git for Windows: https://git-scm.com/download/win
-
Run installer with defaults (includes Git Bash).
-
Configure identity in a terminal:
Terminal window git config --global user.name "Your Name"git config --global user.email "you@example.com" -
Generate SSH key:
Terminal window ssh-keygen -t ed25519 -C "you@example.com"Press Enter to accept defaults, then add the key to GitHub: https://docs.github.com/en/authentication/connecting-to-github-with-ssh
-
Optional: install GitHub CLI: https://cli.github.com/ Then run:
Terminal window gh auth login
5. Install Node.js & Package Managers
-
Install nvm for Windows: https://github.com/coreybutler/nvm-windows
-
In a new terminal:
Terminal window nvm install --ltsnvm use --ltsnode -vnpm -v -
Install
pnpmoryarn(optional):Terminal window npm install -g pnpmpnpm -v# ornpm install -g yarnyarn -v
Node docs: https://nodejs.org/en/learn/getting-started/introduction-to-nodejs
6. Install Browsers & DevTools
- Install:
- Chrome: https://www.google.com/chrome/
- Edge (usually preinstalled): https://www.microsoft.com/edge
- Firefox: https://www.mozilla.org/firefox/
- Add framework devtools from Chrome Web Store:
7. Project Scaffolding Checklist
-
In a terminal:
Terminal window mkdir modern-web-playgroundcd modern-web-playground -
Initialize Git & npm:
Terminal window git initnpm init -ynpm install -D typescript eslint prettier -
Create config files:
-
.editorconfig: https://editorconfig.org/#example-file -
.nvmrc(optional, store Node version):Terminal window node -v > .nvmrc -
README.mddescribing tools and versions.
-
8. Validate the Setup
-
Initialize TypeScript:
Terminal window npx tsc --init -
Create
index.js:Terminal window echo "console.log('Hello from Windows');" > index.jsnode index.js -
Add basic ESLint config (
.eslintrc.json) or usenpx eslint --init(see: https://eslint.org/docs/latest/use/getting-started). -
Run:
Terminal window npx eslint . -
Create a GitHub repo and push: https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository
macOS Workflow
1. Install VS Code
- Go to: https://code.visualstudio.com/
- Click Download for macOS.
- Open the downloaded
.zipand drag Visual Studio Code.app to Applications. - Add
codeto PATH:- Open VS Code →
Cmd+Shift+P→ typeShell Command: Install 'code' command in PATH→ press Enter.
- Open VS Code →
Docs: https://code.visualstudio.com/docs/setup/mac
2. Configure VS Code Extensions
- Open VS Code → Extensions (
Cmd+Shift+X). - Install:
- ESLint:
dbaeumer.vscode-eslint - Prettier - Code formatter:
esbenp.prettier-vscode - tailwindcss-intellisense:
bradlc.vscode-tailwindcss - Any framework-specific extensions (React) as needed.
- ESLint:
- Set default formatter:
Cmd+,→ searchdefault formatter→ chooseesbenp.prettier-vscode.- Enable: Format on Save.
Docs:
- ESLint: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
- Prettier: https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
- Tailwind CSS IntelliSense: https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss
3. Install Terminal & Shell
- Use built-in Terminal.app or install iTerm2: https://iterm2.com/
- Default shell is
zsh. - Optional prompt & plugins:
- Oh My Zsh: https://ohmyz.sh/
- Starship: https://starship.rs/guide/
4. Install Git & Connect to GitHub
-
Install Xcode Command Line Tools:
Terminal window xcode-select --installor install Git via Homebrew: https://brew.sh/ →
brew install git. -
Configure Git:
Terminal window git config --global user.name "Your Name"git config --global user.email "you@example.com" -
Generate SSH key:
Terminal window ssh-keygen -t ed25519 -C "you@example.com"Add the public key to GitHub: https://docs.github.com/en/authentication/connecting-to-github-with-ssh
-
Optional GitHub CLI:
Terminal window brew install ghgh auth login
5. Install Node.js & Package Managers
-
Install Homebrew (if not installed): https://brew.sh/
Terminal window /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Install
nvm:Terminal window brew install nvmmkdir -p ~/.nvmFollow the on-screen instructions to add
nvminit lines to your shell profile. -
Install Node LTS:
Terminal window nvm install --ltsnvm use --ltsnode -vnpm -v -
Optional package managers:
Terminal window npm install -g pnpmpnpm -v# ornpm install -g yarnyarn -v
Node docs: https://nodejs.org/en/learn/getting-started/introduction-to-nodejs
6. Install Browsers & DevTools
- Install browsers:
- Chrome: https://www.google.com/chrome/
- Firefox: https://www.mozilla.org/firefox/
- Add framework devtools from Chrome Web Store:
7. Project Scaffolding Checklist
-
In Terminal/iTerm2:
Terminal window mkdir modern-web-playgroundcd modern-web-playground -
Initialize Git & npm:
Terminal window git initnpm init -ynpm install -D typescript eslint prettier -
Add
.editorconfig,.nvmrc, andREADME.mdas described in the Windows workflow.
8. Validate the Setup
-
Initialize TypeScript:
Terminal window npx tsc --init -
Create
index.js:Terminal window echo "console.log('Hello from macOS');" > index.jsnode index.js -
Add basic ESLint config (
.eslintrc.json) or usenpx eslint --init(see: https://eslint.org/docs/latest/use/getting-started). -
Run:
Terminal window npx eslint . -
Create a GitHub repo and push: https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository
Linux Workflow
1. Install VS Code
-
Choose your distro package:
.debfor Debian/Ubuntu.rpmfor Fedora/RHEL- Or use Snap/Flatpak
-
Install (Ubuntu example):
Terminal window sudo apt install ./code_<version>.deb# orsudo snap install code --classic
Docs: https://code.visualstudio.com/docs/setup/linux
2. Configure VS Code Extensions
- Open VS Code → Extensions (
Ctrl+Shift+X). - Install:
- ESLint:
dbaeumer.vscode-eslint - Prettier - Code formatter:
esbenp.prettier-vscode - tailwindcss-intellisense:
bradlc.vscode-tailwindcss - Any framework-specific extensions (React) as needed.
- ESLint:
- Set default formatter:
Ctrl+,→ searchdefault formatter→ chooseesbenp.prettier-vscode.- Enable: Format on Save.
Docs:
- ESLint: https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
- Prettier: https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
- Tailwind CSS IntelliSense: https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss
3. Install Terminal & Shell
- Use your default terminal (GNOME Terminal, KDE Konsole, kitty, etc.).
- Shell:
bashorzsh. - Optional prompt:
- Starship: https://starship.rs/guide/
4. Install Git & Connect to GitHub
-
Install Git via your package manager, e.g.:
Terminal window sudo apt update && sudo apt install git# orsudo dnf install git -
Configure identity:
Terminal window git config --global user.name "Your Name"git config --global user.email "you@example.com" -
Generate SSH key:
Terminal window ssh-keygen -t ed25519 -C "you@example.com"Add it to GitHub: https://docs.github.com/en/authentication/connecting-to-github-with-ssh
-
Optional GitHub CLI:
Terminal window # Ubuntutype -p curl >/dev/null || sudo apt install curl -ycurl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpgsudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/nullsudo apt updatesudo apt install ghgh auth login
(Adjust per distro: https://github.com/cli/cli#linux)
5. Install Node.js & Package Managers
-
Install
nvm:Terminal window curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash# restart shell or:source ~/.nvm/nvm.sh -
Node LTS:
Terminal window nvm install --ltsnvm use --ltsnode -vnpm -v -
Optional package managers:
Terminal window npm install -g pnpmpnpm -v# ornpm install -g yarnyarn -v
Node docs: https://nodejs.org/en/learn/getting-started/introduction-to-nodejs
6. Install Browsers & DevTools
- Install:
- Chrome: https://www.google.com/chrome/
- Chromium/Firefox via package manager.
- Add framework devtools from Chrome Web Store:
7. Project Scaffolding Checklist
-
In your terminal:
Terminal window mkdir modern-web-playgroundcd modern-web-playground -
Initialize project:
Terminal window git initnpm init -ynpm install -D typescript eslint prettier -
Add
.editorconfig,.nvmrc, andREADME.mdas in Windows/macOS.
8. Validate the Setup
-
Initialize TypeScript:
Terminal window npx tsc --init -
Create
index.js:Terminal window echo "console.log('Hello from Linux');" > index.jsnode index.js -
Add basic ESLint config (
.eslintrc.json) or usenpx eslint --init(see: https://eslint.org/docs/latest/use/getting-started). -
Run:
Terminal window npx eslint . -
Create a GitHub repo and push: https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository
Next Steps
With your environment ready, proceed to Day 2 to explore modern frontend tooling, module bundlers, and framework bootstrapping.