docs(ws3): record session 1c completion (boundaries enforcement)
- ARCH-CONSOLIDATION-2026-04.md: add Sessie 1c entry under WS-3 voortgang - CLAUDE.md: add Frontend import boundaries section - BACKLOG.md: add four follow-up tickets - TECH-AXIOS-STORE-COUPLING - TECH-DELETE-DEAD-VIEWS - TECH-WS3-BOUNDARIES-SUBZONES - TECH-WS3-BOUNDARIES-ROUTER-ZONE Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
18
CLAUDE.md
18
CLAUDE.md
@@ -268,6 +268,24 @@ you are using available components rather than building custom ones.
|
||||
- Never: TypeScript `any` type (use proper types, generics, or `unknown` with type guards)
|
||||
- Never: import axios directly in a component (use `src/lib/axios.ts` via a composable)
|
||||
|
||||
## Frontend import boundaries (apps/app/)
|
||||
|
||||
`apps/app/` enforces a layered import architecture via
|
||||
`eslint-plugin-boundaries`. Ten zones (`types` → `utils` → `lib` →
|
||||
`plugins` / `composables` / `stores` / `navigation` → `components` →
|
||||
`layouts` → `pages`); each zone may only import from the zones below
|
||||
it in the matrix. Vendored `@core/` and `@layouts/` are exempt.
|
||||
Cross-zone violations are lint errors, not warnings.
|
||||
|
||||
Matrix details + rationale: `dev-docs/WS-3-SESSION-1C-AUDIT.md`.
|
||||
Config: `apps/app/.eslintrc.cjs`.
|
||||
|
||||
When adding a new file: pick the zone first. If your file imports
|
||||
from a zone the matrix forbids, the structural answer is usually to
|
||||
hoist a type to `types/` or extract a helper to `utils/` /
|
||||
`composables/` — not to disable the rule. Per-line disables are
|
||||
allowed only with a `TODO TECH-*` reference to a backlog item.
|
||||
|
||||
## Order of work for each new module
|
||||
|
||||
1. Create and run migration(s)
|
||||
|
||||
Reference in New Issue
Block a user