Set up your dev environment
Editors, terminals, Node versions, env vars, and the tooling that makes you fast instead of fighting your own machine.
Beginner
- Terminal commands for everyday development read The handful of terminal commands you actually use day to day, plus paths and flags, without the become-a-Linux-wizard detour. 16 min
- Set up VS Code for a project read Setting up VS Code for real projects: the extensions worth installing, format on save, and why user settings and workspace settings are different. 12 min
- Package managers and lockfiles read What npm, pnpm, and Yarn actually do, the role of package.json and lockfiles, npm install versus npm ci, and why deleting a lockfile is goblin behavior. 13 min
- Manage Node.js versions read Why the Node.js version matters, how to check and pin it with .nvmrc, engines, nvm, fnm, or Volta, and the bugs a mismatch causes. 12 min
- Environment variables explained read Learn what environment variables are, where they live, how to use them safely, and how not to accidentally leak your secrets. 4 min
- Automate commands with project scripts read The scripts block in package.json, the standard scripts every project should have, and running frontend and backend together. 11 min
- Set up ESLint and Prettier read The difference between a linter and a formatter, why ESLint and Prettier sometimes fight, format on save, project config, and running them in CI. 11 min
- Set up logs and breakpoints read Debugging as a process, not a panic ritual: logs, devtools, the Network tab, stack traces, breakpoints, VS Code launch configs, and a checklist. 15 min
- Run a database locally read Why real apps need a local database, how to run Postgres and Redis with Docker Compose, connection strings, seeds, migrations, resets, and the bugs in between. 14 min
- Save your setup with dotfiles read The dot-prefixed config files that keep a project consistent across machines: which to commit, which to keep local, and how they stop projects from rotting. 12 min