Local Development
Install dependencies
nvm use
npm install
Run in development mode
Uses ts-node — no compile step needed:
npm run dev
Build and run compiled output
npm run build
npm start
The server listens on port 8888 by default. Override with PORT:
PORT=9000 npm start
Run tests
npm test
Coverage thresholds are enforced at 80% statements/functions/lines and 75% branches. The report is written to coverage/ after each run.
Lint
npm run lint
ESLint runs with @typescript-eslint/recommended rules. console calls are errors — use the pino logger instead.
Pre-commit hooks
Husky runs lint-staged automatically before every commit. Any staged src/**/*.ts file is checked with ESLint and tsc --noEmit. The commit is blocked if either fails.