orders-api/ Pick any file or folder on the left to see what it is, why it exists, when you add it and the mistakes people make with it. Switch the stage to watch the project grow.
Top level, at Growing node_modules Installed packages, written by npm install. dist Compiled JavaScript from npm run build, what production runs. coverage Coverage report written by vitest run --coverage. src All application code. tsc compiles this folder into dist. tests Tests that cross layers: API tests through Supertest, plus factories and helpers. Unit tests sit next to the code. drizzle SQL migration files written by drizzle-kit generate. Committed and reviewed. scripts One-off and CI helper scripts that are not part of the running app. openapi.json The generated API contract, committed so changes show up in pull requests. .husky Git hooks managed by husky, created by npx husky init. .vscode Shared editor settings, recommended extensions and debug configurations. .devcontainer Dev Container config: Node, Docker access and extensions in a container, for VS Code or Codespaces. .env Your local secrets and settings: database URL, JWT secret, port. .env.example Every variable the app needs, with fake values. Committed. .gitignore Tells Git to skip node_modules, dist, .env and log files. .editorconfig Indentation, line endings and final newline rules every editor understands. .nvmrc The Node major the project uses (24), read by nvm, fnm and setup-node. compose.yaml Runs local PostgreSQL and Redis with one command: docker compose up -d. drizzle.config.ts Tells drizzle-kit where the schema is, where to write migrations and which database to use. vitest.config.ts Vitest settings: Node environment, setup files, coverage thresholds. eslint.config.js ESLint flat config with typescript-eslint's type-aware rules. .prettierrc.json Prettier settings: quotes, line width, trailing commas. commitlint.config.js Extends @commitlint/config-conventional for the commit-msg hook. package.json Project name, scripts and dependencies. npm init -y creates it. package-lock.json Exact versions of every installed package, written by npm install. Commit it. tsconfig.json TypeScript compiler settings. tsc --init writes a strict, minimal starting point. AGENTS.md Instructions for AI coding agents: commands, layout rules, conventions. CLAUDE.md Points Claude Code at AGENTS.md so both tools share one set of rules. README.md What the API does, how to run it, how to test it, how to deploy it.