Onboarding Basics
10 examples for day-one setup: Node LTS, package manager, Docker, local Postgres/Redis - so a new teammate runs the API before lunch.
Search across all documentation pages
10 examples for day-one setup: Node LTS, package manager, Docker, local Postgres/Redis - so a new teammate runs the API before lunch.
Clone the team repo and confirm the stack contract before installing dependencies.
git clone git@github.com:your-org/your-api.git
cd your-api
node -v # expect v24.18.0
cat package.json | grep '"engines"'Target stack for this section:
{
"engines": { "node": "24.18.0", "npm": ">=10.0.0" },
"packageManager": "npm@10.8.0"
}Tooling: Node.js 24.18.0 (Active LTS), TypeScript 5.6+, Fastify 5 or Nest 11 per service ADR.
# fnm example
fnm install 24.18.0
fnm use 24.18.0
node -v # v24.18.0
npm -v # 10.x# .nvmrc
24.18.0npm ci - wrong Node causes native module ABI errorsengines in package.json should match .nvmrcRelated: Installing & Version Management
npm cinpm ci, not npm install, on fresh clone to match CI exactlycorepack enable && pnpm install --frozen-lockfile insteadcp .env.example .env# .env.example (committed)
NODE_ENV=development
PORT=3000
DATABASE_URL=postgres://app:app@localhost:5432/app_dev
REDIS_URL=redis://localhost:6379
LOG_LEVEL=debug.env with real secretsRelated: Configuration Basics
# docker-compose.yml
services:
postgres:
image: postgres:16
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: app
POSTGRES_DB: app_dev
ports: ["5432:5432"]
redis:
image: redis:7-alpine
ports: ["6379:6379"]docker compose up -d
npm run db:migratedocker compose down -v wipes data - warn new hiresnpm run dev
curl -sf http://localhost:3000/health | jq .
curl -sf http://localhost:3000/ready | jq .ready fails, check DATABASE_URL and Postgres container logsRelated: CLI Basics for Node
npm test
npm run typecheck
npm run lintEvery repo should document:
## Quick start
1. fnm use / nvm use
2. npm ci
3. cp .env.example .env
4. docker compose up -d && npm run db:migrate
5. npm run dev
6. npm testcd your-monorepo
npm ci # root installs workspaces
npm run build --workspaces --if-present
cd services/orders-api
npm run devpackage.json defines workspacesRelated: Workspaces & Monorepos
// .vscode/launch.json (excerpt)
{
"type": "node",
"request": "launch",
"name": "Debug API",
"runtimeArgs": ["--import", "tsx"],
"args": ["src/server.ts"]
}console.log for learning async flow## New hire: Alex - start 2026-07-09
Buddy: Jordan (backend, 2 years)
Day 1: Machine setup + health green + codebase tour Tier 1
Day 2: Tiny doc PR (fix README path)
Day 3-5: First feature PR with pairingUse whatever CONTRIBUTING.md says. Do not let new hires pick their own manager on day one.
If the org provides GitHub Codespaces or remote dev with Postgres/Redis, document that path equally in CONTRIBUTING.md.
Stack versions: This page was written for Node.js 24.18.0 (Active LTS), npm 10+, TypeScript 5.6+, Express 5, Fastify 5, and NestJS 11.
Reviewed by Chris St. John·Last updated Jul 16, 2026