# Changelog All notable changes to this project will be documented in this file. ## [0.1.0-alpha.0] — 2026-03-12 ### Added - **Monorepo scaffold** — pnpm workspaces with `packages/api`, `packages/web`, `packages/shared` - **NestJS 11 API shell** — Fastify 5 adapter, health endpoint (`GET /api/health`), ConfigModule with env validation - **Next.js 15.5.x frontend shell** — App Router, next-intl i18n, Tailwind CSS v4, shadcn/ui base config - **Prisma 7 schema shell** — PostgreSQL datasource, placeholder model for client generation - **Shared types package** — `@davinci/shared` with barrel exports, build via TypeScript - **Turborepo** — build caching and task orchestration across packages - **Vitest** — test runner for all packages (replaces Jest) - **ESLint flat config** — TypeScript + Prettier integration, single root config - **Prettier** — consistent formatting with pre-commit hooks (Husky + lint-staged) - **Docker** — multi-stage Dockerfile (nginx + NestJS + Next.js), docker-compose for dev - **nginx** — internal routing `/api/*` → :3001, `/*` → :3000 - **Makefile** — developer command interface matching architecture spec - **README** — quickstart, project structure, environment variables - **smoke-test.sh SKIP_WEB** — `SKIP_WEB=1 make smoke` skips web container for API-only workflows ### Fixed - **Docker healthcheck IPv6** — changed `localhost` to `127.0.0.1` in docker-compose healthcheck URLs (Alpine wget resolves localhost → ::1 IPv6, Fastify listens on IPv4 only) - **Scalar ESM import (TS1479)** — converted static import of `@scalar/fastify-api-reference` to dynamic `import()` since the package is ESM-only - **Test import** — added missing `afterEach` to vitest import in `api-docs.setup.spec.ts`