11ai Publications CMS
Build the exact white-label content model and browsing flow defined in references/implementation.md. Read that file before changing application code.
Workflow
- Inspect the target repository, framework, routing, styling system, and existing content. Preserve established conventions unless they conflict with required behavior.
- Map existing fields and routes to the reference contract when retrofitting.
- Implement one root publication registry, one chapter registry per publication, and one Markdown content module per chapter. Do not introduce a database or hosted CMS unless requested.
- Add build-time validation for identifiers, ISO dates, unique slugs and IDs, derived routes, and chapter content.
- Build publication library, publication detail, and chapter reader routes. Keep route resolution on the server and catalog controls in focused client components.
- Implement query search, AND-tag filtering, relevance/newest/oldest sorting, clear filters, and empty states.
- Add an accessible
list | cardstoggle to both browsers. Initialize it tolist; never silently persist another default. - Render safe Markdown from the chapter's single
contentfield with editorial typography and optional leading-H1 removal. - Derive previous/next chapters from array position rather than numeric ID arithmetic.
- Generate route metadata/static params when supported.
- Verify typecheck, lint, build, keyboard navigation, mobile layout, and both display modes.
Non-negotiable behavior
- Keep the product white-label: use project configuration and user-provided copy, never source-project names, domains, authors, or prose.
- Treat this as a Git-managed publishing CMS.
- Use one filtering/sorting result set for both renderers.
- Keep one semantic navigation target per result; do not nest an anchor/button inside a separately clickable container.
- Default every chapter to one optional
content?: stringfield. Use the legacy tiered fields only when the user explicitly requests tiered access; authorize that variant on the server. - Preserve new/restriction/tag/count/description/date signals in both layouts.
- Prefer project-native primitives. With shadcn, compose Input, Select, ToggleGroup, Badge, Button, Empty, Tabs, Breadcrumb, Card, and Item.
Delivery
Report implemented routes, content authoring path, validation rules, default view, and verification commands. Surface deliberately deferred authentication or hosted-editor work.