diff --git a/docs/development/non-container.md b/docs/development/non-container.md index 33a5483..1956391 100644 --- a/docs/development/non-container.md +++ b/docs/development/non-container.md @@ -17,6 +17,7 @@ The workspace is a pnpm monorepo with three package groups: | --- | --- | --- | | `apps/` | `apps/server` (`@personal-blog/server`) | Public server application. Serves the application health endpoint (E00-S02-T03) gated on the startup migration run (E00-S03-T06); the Fastify 5 application shell lands in a later story. | | `packages/` | `packages/core` (`@personal-blog/core`) | Application core (site identity, content primitives). Bootstrap placeholder. | +| `packages/` | `packages/config` (`@personal-blog/config`) | Configuration service. Owns the TypeBox/Ajv configuration schema for the validated config fields (E00-S04-T01); the environment adapter (E00-S04-T04), field-specific startup errors (E00-S04-T02) and secret redaction (E00-S04-T03) land in later tasks. | | `packages/` | `packages/database-postgres` (`@personal-blog/database-postgres`) | PostgreSQL database adapter package. Single owner of the `pg`/Kysely driver imports (E00-S03-T02); the migration ledger (`schema_migrations`, E00-S03-T03), the migration advisory lock (E00-S03-T04) and the migration runner with its failure diagnostic (E00-S03-T05) are implemented here. The server depends on this package to run the startup migrations behind its readiness gate (E00-S03-T06). | | `extensions/` | `extensions/example` (`@personal-blog/example-extension`) | Example extension exercising the `extensions/` group. Bootstrap placeholder. | @@ -76,8 +77,8 @@ pnpm typecheck `pnpm build` runs `tsc -p tsconfig.json` in each package in topological order and emits `dist/` (JavaScript + type declarations + source maps) per package. Expected result: `apps/server/dist/`, `packages/core/dist/`, -`packages/database-postgres/dist/` and `extensions/example/dist/` are -produced, all packages report `Done`, exit 0. +`packages/config/dist/`, `packages/database-postgres/dist/` and +`extensions/example/dist/` are produced, all packages report `Done`, exit 0. `dist/` is git-ignored; rebuild whenever you change `src/`. ## Run @@ -127,8 +128,8 @@ This is also the suite that enforces the dependency-boundary rule. git clone https://git.stevanovic.co.uk/Fabrika/PersonalBlog.git && cd PersonalBlog corepack enable pnpm install --frozen-lockfile # exit 0, lockfile untouched -pnpm build # 4/4 packages emit dist/, exit 0 -pnpm typecheck # 4/4 packages pass --noEmit, exit 0 +pnpm build # 5/5 packages emit dist/, exit 0 +pnpm typecheck # 5/5 packages pass --noEmit, exit 0 pnpm test # 10/10 pass, exit 0 pnpm --filter @personal-blog/server start # serves GET /health on port 3000, stays up ```