- Created pnpm workspace configuration to manage packages. - Added a placeholder .gitkeep file in the scripts directory. - Implemented a smoke test script to validate core API and web endpoints. - Established TypeScript base configuration for consistent compilation settings. - Introduced Turbo configuration for task management and build processes.
1.7 KiB
1.7 KiB
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/sharedwith 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 smokeskips web container for API-only workflows
Fixed
- Docker healthcheck IPv6 — changed
localhostto127.0.0.1in 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-referenceto dynamicimport()since the package is ESM-only - Test import — added missing
afterEachto vitest import inapi-docs.setup.spec.ts