Commit Graph

186 Commits

Author SHA1 Message Date
0ede53998f docs(agents): add per-package AGENTS.md for eslint-config + typescript-config 2026-05-05 09:59:08 +02:00
440315a4c1 docs(agents): add per-package AGENTS.md for all feature packages 2026-05-05 09:58:42 +02:00
956b38fb00 docs(agents): add per-package AGENTS.md for all core-* packages 2026-05-05 09:37:47 +02:00
19805fb0df docs(claude): update Read First + add vertical feature conventions 2026-05-05 09:37:11 +02:00
1a2a293b84 docs(agents): rewrite root AGENTS.md for vertical feature architecture 2026-05-05 09:36:44 +02:00
588f47affa docs(plans): delete six stale 2026-04-06 plan docs (superseded by 2026-05-04-plan-{1..6}) 2026-05-05 09:34:44 +02:00
8dac1929dc docs(adr): add ADRs 006-009 for vertical refactor 2026-05-05 09:34:33 +02:00
e5b1ea720e docs(adr): update 002/003/005 with vertical-refactor notes; supersede 004 2026-05-05 09:34:03 +02:00
a4d6fa0cb5 docs(guides): rewrite testing-strategy for vertical features (per-feature DI, colocated tests, Playwright) 2026-05-05 09:33:23 +02:00
49d74adc35 docs(guides): rewrite adding-a-feature for vertical canonical pattern 2026-05-05 09:33:02 +02:00
590543fb65 docs(architecture): rewrite dependency-flow for vertical features + boundary rules 2026-05-05 09:32:25 +02:00
f6e86cf55e docs(architecture): rewrite overview for vertical feature architecture 2026-05-05 09:32:10 +02:00
d4969d2fb5 docs(architecture): copy refactor design spec into in-tree reference 2026-05-05 09:31:41 +02:00
520749c4e3 build: add root test:e2e task aggregating per-app Playwright suites 2026-05-05 09:29:37 +02:00
a7b9890db5 test(web-tanstack): add Playwright scaffold + skipped home spec 2026-05-05 09:26:19 +02:00
106e5c2737 test(web-next): add Playwright config + smoke specs (home, about, blog 404) 2026-05-05 09:25:42 +02:00
22bee5362f feat(eslint-config): add boundaries plugin enforcing app→feature→core graph
- Install eslint-plugin-boundaries@^4.2.2 to enforce three-tag boundary model
- Configure element types: app, core-composition (core-api/core-cms), core, feature, tooling
- Enforce unidirectional dependency graph: apps→features→core, core-composition→features
- Add eslint.config.js to all 17 packages and apps (required for ESLint 9 flat config)
- Fix pre-existing linting issues to achieve clean lint pass

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 09:21:01 +02:00
acae859773 chore: delete legacy packages (api, api-client, cms-client, cms-core, core, ui) 2026-05-05 09:13:08 +02:00
f17f24e8f9 build(cms): drop legacy @repo/cms-core dep (now uses @repo/core-cms only) 2026-05-05 09:11:46 +02:00
346e77ed0c build(storybook): migrate from @repo/ui to @repo/core-ui 2026-05-05 09:11:23 +02:00
a7d37d8a0f feat(core-ui): migrate atoms/molecules/templates from packages/ui 2026-05-05 09:10:45 +02:00
1f0a6e73bf docs(plan): add Plan 6 (cleanup + enforcement + e2e + docs)
20 tasks in 5 phases: A) migrate ui→core-ui, repoint apps/cms+storybook,
delete 6 legacy packages; B) eslint-plugin-boundaries with three-tag
model + composition exceptions; C) Playwright in both apps with smoke
specs + root test:e2e task; D) full doc rewrite (overview, dependency
flow, guides, root+per-package AGENTS.md, 4 new ADRs, 4 updated/
superseded ADRs, delete 6 stale plans); E) all-green final check.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 09:09:41 +02:00
f1da728482 feat(web-tanstack): consume marketingPages.siteSettings + navigation.header via tRPC client 2026-05-05 09:02:50 +02:00
a9e64569eb build(web-tanstack): swap deps + use TanstackTrpcProvider against shared backend 2026-05-05 09:01:47 +02:00
1308fe4644 fix: enable overrideAccess=true for public Payload repository reads
All public pages (site settings, header, pages, articles) now bypass
Payload's access control checks when reading, as they should be publicly
accessible without authentication. This fixes 403 Forbidden errors on
homepage and article rendering.
2026-05-05 08:59:18 +02:00
7809f21151 feat(web-next): render /blog/[slug] article detail via blog.articleBySlug 2026-05-05 08:55:41 +02:00
293d855d06 feat(web-next): render /about marketing page via marketingPages.pageBySlug 2026-05-05 08:54:41 +02:00
5f0a66581a feat(web-next): render homepage with siteSettings + header + article list 2026-05-05 08:54:20 +02:00
8403bfee7f feat(web-next): wire tRPC route handler against core-api + new TrpcProvider 2026-05-05 08:54:04 +02:00
bd1a348340 feat(web-next): add server bindAllProduction() aggregator with idempotent guard 2026-05-05 08:53:03 +02:00
9d5f4fca33 build(web-next): swap deps to core-* + feature packages, transpile new workspaces 2026-05-05 08:52:37 +02:00
5620fae116 feat(navigation): add bindProductionNavigation(config) DI helper 2026-05-05 08:50:47 +02:00
02aee1ec23 feat(marketing-pages): add bindProductionMarketingPages(config) DI helper 2026-05-05 08:50:30 +02:00
ef42abb3e1 feat(auth): add bindProductionAuth(config) helper (no-op pending payload-users repo) 2026-05-05 08:50:08 +02:00
f981266fd5 feat(blog): add bindProductionBlog(config) DI helper for app boot 2026-05-05 08:49:55 +02:00
cdd7513032 docs(plan-5): add superjson transformer to httpBatchLink in both providers
Server uses superjson via core-shared/trpc/init's initTRPC config.
Client httpBatchLink must match or complex types (Date, Map, Set)
silently break on the wire. Caught during execution.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 08:48:49 +02:00
b14db95cfb feat(core-trpc): add Next.js + TanStack provider components 2026-05-05 08:47:07 +02:00
8d80361785 feat(core-trpc): add typed React tRPC client + getQueryClient 2026-05-05 08:46:24 +02:00
a3b72f5a7f docs(plan): add Plan 5 (app + UI integration)
17 tasks: populate core-trpc with React client + per-framework providers;
add bindProduction(config) helpers to each payload-backed feature;
swap web-next deps from @repo/api/api-client/ui to core-* + features;
wire tRPC route handler with idempotent bindAllProduction(); render
example pages (home with nav + site name + article list, /about,
/blog/[slug]); parallel-prove framework portability in web-tanstack.
First plan that produces browser-rendered output.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 08:43:04 +02:00
fbaac002a3 feat(core-cms): regenerate types — now includes Pages, SiteSettings, Header 2026-05-05 08:38:21 +02:00
1ad5b801f7 feat(core-api): compose marketingPages + navigation routers into appRouter 2026-05-05 08:36:29 +02:00
158e2bab5a feat(core-cms): compose pages + siteSettings + header into payload config 2026-05-05 08:35:54 +02:00
014dbc81ec feat(navigation): add controller + tRPC router + header global + barrel 2026-05-05 08:34:37 +02:00
19f32ec94d feat(navigation): add Header entity + use-case + mock/payload repos + DI container 2026-05-05 08:34:14 +02:00
f71025b14a feat(navigation): scaffold empty package with feature tag + path aliases 2026-05-05 08:33:44 +02:00
36e7515717 feat(marketing-pages): add ui/query + barrel + feature test 2026-05-05 08:32:08 +02:00
7b64415020 feat(marketing-pages): add tRPC router with pageBySlug + siteSettings 2026-05-05 08:31:49 +02:00
a44142b875 feat(marketing-pages): add pages collection + siteSettings global 2026-05-05 08:31:37 +02:00
23e7885fc4 feat(marketing-pages): add pages controller (getBySlug + getSiteSettings) 2026-05-05 08:31:24 +02:00
5ffffe4905 feat(marketing-pages): add Payload-backed pages + site-settings repos (constructor-injected config) 2026-05-05 08:31:12 +02:00