From e5b1ea720e7c496f733a2cef3b9c64f147260369 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Tue, 5 May 2026 09:34:03 +0200 Subject: [PATCH] docs(adr): update 002/003/005 with vertical-refactor notes; supersede 004 --- docs/decisions/adr-002-di-framework.md | 4 ++++ docs/decisions/adr-003-cms-separation.md | 8 ++++++++ docs/decisions/adr-004-dual-mode-client.md | 4 ++++ docs/decisions/adr-005-atomic-design.md | 4 ++++ 4 files changed, 20 insertions(+) diff --git a/docs/decisions/adr-002-di-framework.md b/docs/decisions/adr-002-di-framework.md index 2fc8ddf..b2a70bb 100644 --- a/docs/decisions/adr-002-di-framework.md +++ b/docs/decisions/adr-002-di-framework.md @@ -24,3 +24,7 @@ InversifyJS with symbol-based resolution + targeted agent documentation. - Requires reflect-metadata + decorator config in tsconfig - Symbol indirection harder to trace than plain functions - Extra dependency (inversify + reflect-metadata) + +## Update (2026-05-04) + +The vertical-feature refactor preserved InversifyJS but moved from a single shared container in `packages/core/src/di/` to **per-feature containers** in each feature package (`packages//src/di/container.ts`). See ADR-008. diff --git a/docs/decisions/adr-003-cms-separation.md b/docs/decisions/adr-003-cms-separation.md index c2e480f..21f6ed1 100644 --- a/docs/decisions/adr-003-cms-separation.md +++ b/docs/decisions/adr-003-cms-separation.md @@ -25,3 +25,11 @@ apps/cms → @repo/cms-core → @repo/core/application (hooks) ``` No cycles because cms-client never imports from cms-core or core. + +## Status: Partially superseded by v2 (2026-05-04) + +v1 advocated `@repo/cms-core` as a single CMS package. v2 splits this into: +- `@repo/core-cms` — composition only (assembles feature CMS schemas) +- Each feature owns its own collections/globals under `packages//src/integrations/cms/` + +Rationale: vertical-feature ownership scales better; CMS schema lives with the business code that needs it. See ADR-006. diff --git a/docs/decisions/adr-004-dual-mode-client.md b/docs/decisions/adr-004-dual-mode-client.md index 459b6af..cdb6459 100644 --- a/docs/decisions/adr-004-dual-mode-client.md +++ b/docs/decisions/adr-004-dual-mode-client.md @@ -16,3 +16,7 @@ Apps need to access Payload CMS data. Payload 3.x offers both Local API (direct) - **HTTP mode (fallback):** REST API for external consumers without access to a Payload process. - Payload instance is injected at app startup, not imported — keeps cms-client standalone. - Both modes share the same `PayloadClient` interface — consumers don't know which mode is active. + +## Status: Superseded by ADR-007 (2026-05-04) + +The dual-mode client wrapper was deleted. Feature payload-backed repositories now call `getPayload({ config })` directly with the assembled config injected via constructor. See ADR-007 for rationale. diff --git a/docs/decisions/adr-005-atomic-design.md b/docs/decisions/adr-005-atomic-design.md index 8960e46..bfbc89f 100644 --- a/docs/decisions/adr-005-atomic-design.md +++ b/docs/decisions/adr-005-atomic-design.md @@ -18,3 +18,7 @@ Atomic Design (atoms/molecules/organisms/templates) + shadcn/ui + Storybook. - shadcn/ui provides excellent base atoms that map naturally to atomic levels - Storybook sidebar mirrors the hierarchy via story titles - Pages live in apps (not UI package) — they connect to real data + +## Update (2026-05-04) + +Atomic Design now applies to `@repo/core-ui/` only — generic primitives (atoms, molecules, generic organisms, templates). Feature-specific components (e.g., `ArticleCard`, `HeaderNavMenu`) live in the owning feature's `ui/` folder per the vertical-feature architecture. See ADR-006.