@vadimcomanescu/nadicode-design-system 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/.agents/skills/seed/SKILL.md +38 -166
  2. package/.agents/skills/seed/references/animation.md +2 -2
  3. package/.agents/skills/seed/references/responsive.md +1 -1
  4. package/README.md +2 -2
  5. package/dist/catalog/components.js +4 -4
  6. package/dist/{chunk-7A2RXKGH.js → chunk-GJ557DGH.js} +1 -1
  7. package/dist/{chunk-7XLZCXUL.js → chunk-K4U67BVG.js} +1 -1
  8. package/dist/{chunk-TUJZMJXW.js → chunk-LK2L3C7D.js} +1 -1
  9. package/dist/{chunk-DSMGCFMJ.js → chunk-POFFOUQW.js} +2 -5
  10. package/dist/components/blocks/HeroBlock.js +2 -2
  11. package/dist/components/page-kits/LandingPageKit.js +3 -3
  12. package/dist/components/page-kits/ServiceSuitePageKit.js +3 -3
  13. package/dist/components/ui/AvatarUpload.js +1 -1
  14. package/dist/components/ui/MouseEffect.js +1 -1
  15. package/eslint-rules/nadicode/config.js +1 -0
  16. package/eslint-rules/nadicode/index.js +2 -0
  17. package/eslint-rules/nadicode/rules/__tests__/require-catalog-import.test.js +111 -0
  18. package/eslint-rules/nadicode/rules/no-has-svg-selector.js +1 -1
  19. package/eslint-rules/nadicode/rules/require-catalog-import.js +59 -0
  20. package/package.json +1 -338
  21. package/scripts/ds-check.mjs +0 -10
  22. package/scripts/sync-seed-skill.mjs +0 -3
  23. package/.agents/skills/seed/contract.md +0 -104
  24. package/.agents/skills/seed/intent-map.md +0 -320
  25. package/.agents/skills/seed/recipes/agency-home.md +0 -311
  26. package/.agents/skills/seed/recipes/agents-chat.md +0 -305
  27. package/.agents/skills/seed/recipes/analytics.md +0 -253
  28. package/.agents/skills/seed/recipes/auth.md +0 -254
  29. package/.agents/skills/seed/recipes/blog-content.md +0 -307
  30. package/.agents/skills/seed/recipes/checkout.md +0 -311
  31. package/.agents/skills/seed/recipes/company-about.md +0 -276
  32. package/.agents/skills/seed/recipes/company-contact.md +0 -234
  33. package/.agents/skills/seed/recipes/crud-form.md +0 -233
  34. package/.agents/skills/seed/recipes/crud-list-detail.md +0 -230
  35. package/.agents/skills/seed/recipes/dashboard.md +0 -354
  36. package/.agents/skills/seed/recipes/digital-workers.md +0 -314
  37. package/.agents/skills/seed/recipes/error-pages.md +0 -199
  38. package/.agents/skills/seed/recipes/marketing-landing.md +0 -293
  39. package/.agents/skills/seed/recipes/marketing-shell.md +0 -156
  40. package/.agents/skills/seed/recipes/navigation-shell.md +0 -786
  41. package/.agents/skills/seed/recipes/onboarding.md +0 -258
  42. package/.agents/skills/seed/recipes/pricing.md +0 -271
  43. package/.agents/skills/seed/recipes/service-detail.md +0 -302
  44. package/.agents/skills/seed/recipes/settings.md +0 -252
  45. package/.agents/skills/seed/references/blocks.md +0 -128
  46. package/.agents/skills/seed/references/components.md +0 -287
  47. package/.agents/skills/seed/references/icons.md +0 -169
  48. package/.agents/skills/seed/references/nextjs.md +0 -49
  49. package/.agents/skills/seed/references/tokens.md +0 -88
@@ -625,16 +625,6 @@ function checkSeedSkillContract() {
625
625
  "seed-skill-missing",
626
626
  ".agents/skills/seed/SKILL.md must exist so agents know how to use the design system.",
627
627
  );
628
- expectFile(
629
- [join(root, ".agents", "skills", "seed", "contract.md")],
630
- "seed-skill-contract-missing",
631
- ".agents/skills/seed/contract.md must exist so agents know the DS rules.",
632
- );
633
- expectFile(
634
- [join(root, ".agents", "skills", "seed", "intent-map.md")],
635
- "seed-skill-intent-map-missing",
636
- ".agents/skills/seed/intent-map.md must exist so agents can map intents to recipes.",
637
- );
638
628
  }
639
629
 
640
630
  function checkForbiddenDuplicatedDocs() {
@@ -16,9 +16,6 @@ const targetRoot = resolve(targetArg);
16
16
  const targetDir = join(targetRoot, ".agents", "skills", "seed");
17
17
  const syncedPaths = [
18
18
  "SKILL.md",
19
- "contract.md",
20
- "intent-map.md",
21
- "recipes",
22
19
  "references",
23
20
  ];
24
21
 
@@ -1,104 +0,0 @@
1
- # Seed Contract
2
-
3
- Binary rules for consumer apps using the Seed Design System. Every rule is non-negotiable.
4
-
5
- ## Scope
6
-
7
- - Apply only to the explicit migration scope you were given.
8
- - Do not edit files outside scope unless the build is blocked by a required wiring step.
9
-
10
- ## Component Catalog
11
-
12
- The catalog is the single starting point for component discovery. Read it via the `./catalog` subpath export for the authoritative list of components, variant names, props, and tiers. Get actual React components from `./catalog/components`. Verify component names and variant values against the catalog. Do not guess variant names or prop values.
13
-
14
- ```ts
15
- // Discovery (server-safe)
16
- import { seedComponentDefinitions } from "@vadimcomanescu/nadicode-design-system/catalog"
17
-
18
- // Components (client)
19
- import { seedComponents } from "@vadimcomanescu/nadicode-design-system/catalog/components"
20
- ```
21
-
22
- ## Import Rules
23
-
24
- 1. Import Seed primitives, blocks, charts, icons, and text effects from `@vadimcomanescu/nadicode-design-system/*` subpaths. Do not vendor or recreate DS runtime files inside the scaffold.
25
- 2. Never import icons from `lucide-react` directly. Import from `@vadimcomanescu/nadicode-design-system/icons` or the matching `@vadimcomanescu/nadicode-design-system/icons/<name>` subpath.
26
- 3. If a needed primitive is missing, stop and report it. Do not invent ad-hoc replacements.
27
-
28
- ## Token Rules
29
-
30
- 4. Semantic tokens only (`bg-background`, `bg-surface`, `text-text-primary`, `border-border`, etc.).
31
- 5. Never use raw Tailwind palette classes (`bg-zinc-900`, `text-gray-500`).
32
- 6. Never use `text-foreground`, `text-muted-foreground`, or `border-error`.
33
- 7. Never use `bg-black/80` for overlays. Use `bg-overlay/80`.
34
-
35
- ## Container Rules
36
-
37
- 8. Use glass tiers for containers: `.glass-panel`, `.glass-floating`, or `.glass-overlay`.
38
-
39
- ## Form Rules
40
-
41
- 9. Stacked labels only (`Label` above control). Never inline or floating labels.
42
-
43
- ## Admin UI Rules
44
-
45
- 10. No arbitrary text sizes (`text-[10px]`, `text-[11px]`). Use `Heading`, `Typography`, or the standard Tailwind scale (`text-xs`, `text-sm`).
46
- 11. No ad-hoc `chat-*` classes. Conversation UIs must compose existing Seed primitives and motion tokens.
47
- 12. Admin chat features must include all three agentic layers:
48
- - Conversation: `Conversation`, `ChatMessage`, `ChatResponse`, `ChatGreeting`, `ChatThinkingMessage`, `ChatShimmer`, `ConversationThread`, or `AgentMessageBubble`
49
- - Tooling: `ChatToolCall`, `ChatPromptInput`, `ChatActions`, `ChatSuggestion`, `ToolCallCard`, or `ThinkingIndicator`
50
- - Traceability: `ChatReasoning`, `ChatChainOfThought`, `ChatSources`, `ChatPlan`, `ChatQueue`, `ChatConfirmation`, `ChatBranch`, `SourceCitation`, `AgentTimeline`, `WorkflowGraph`, or `HandoffIndicator`
51
- 13. Admin sidebar navigation must include IA grouping with `SidebarGroupLabel`. No flat unlabeled menus.
52
- 14. Admin analytics must use Seed chart primitives (`AreaChart`, `BarChart`, `LineChart`, `PieChart`, `ChartContainer`). No pseudo-charts from raw `<div>` bars.
53
- ## Page Composition
54
-
55
- 16. Page architecture MUST match a `page_intent` from `intent-map.md`.
56
- 17. If an intent is missing from the catalog, stop and report it. Do not improvise.
57
- 18. Routes without a mapped intent + recipe are invalid.
58
-
59
- ## Brand Customization Rules
60
-
61
- 19. Always override ALL default copy. Never ship generic English defaults from block components.
62
- 20. Always map brand colors to semantic tokens. Never hardcode hex values in components.
63
- 21. Always verify contrast ratios after color override (WCAG AA: 4.5:1 body, 3:1 large text).
64
- 22. Glass intensity must match brand personality. See `references/brand-override.md` for presets.
65
- 23. Always update `src/site.config.ts` (name, description, tagline, nav) before building pages.
66
-
67
- ## Dashboard Rules
68
-
69
- 24. Dashboard KPI cards must use `MetricCard`, not ad-hoc Card + value compositions.
70
- 25. Chart components must not be rendered without an empty-data guard (`data.length > 0` or `ChartCard`).
71
- 26. Chart color configs must use `var(--color-chart-N)` tokens, never hex/rgb/hsl literals.
72
- 27. Import chart primitives from `@vadimcomanescu/nadicode-design-system/charts` or the matching `@vadimcomanescu/nadicode-design-system/charts/<chart-name>` subpath. Do not import `recharts` directly into scaffold app code.
73
-
74
- ## ESLint Rule Reference
75
-
76
- These rules are enforced at lint time (Layer 1):
77
-
78
- | Rule | Severity | What it catches |
79
- |------|----------|-----------------|
80
- | `nadicode/no-raw-recharts-import` | error | Direct `recharts` imports outside chart wrappers |
81
- | `nadicode/require-chart-empty-handler` | error | Chart rendered without data-length guard |
82
- | `nadicode/no-arbitrary-chart-color` | error | Hex/rgb/hsl in chart config instead of tokens |
83
- | `nadicode/require-dashboard-loading-skeleton` | warn | Dashboard routes missing Skeleton import |
84
- | `nadicode/require-stagger-on-metric-grid` | warn | 3+ MetricCard grid without StaggerChildren |
85
-
86
- ## i18n Test Mocking
87
-
88
- The consumer app owns `next-intl` setup, including `src/i18n/request.ts`, locale routing, `NextIntlClientProvider`, `timeZone`, and `now`. Seed only supplies DS message catalogs plus merge helpers.
89
-
90
- Consumer tests that render Seed components using `useTranslations` must provide merged messages. Use `mergeSeedMessages()` from `@vadimcomanescu/nadicode-design-system/lib/merge-messages` in `src/i18n/request.ts` to combine package-backed DS catalogs such as `@vadimcomanescu/nadicode-design-system/messages/<locale>` with `messages/<locale>.json` (consumer keys) and pass the result to your test's `NextIntlClientProvider`.
91
- When a test only needs the Seed theme/provider wrapper, import `SeedTestProvider` from `@vadimcomanescu/nadicode-design-system/test`. The showcase app may keep using `@/test/SeedTestProvider` for in-repo tests.
92
- Do not copy DS catalog files into the app.
93
-
94
- ## Done Criteria
95
-
96
- All of these must pass before a task is complete:
97
-
98
- ```bash
99
- npx tsc --noEmit
100
- npm run build
101
- npm run lint
102
- npm run test
103
- npm run ds:check
104
- ```
@@ -1,320 +0,0 @@
1
- # Intent Map
2
-
3
- THE lookup table for "what components do I use for X?" Every page in a consumer app must map to one of these 20 intents. If your page does not match any intent, stop and report it.
4
-
5
- For each intent: **Required** components must be present, **Allowed** may be used, **Forbidden** must never appear. **Blocks** are pre-composed sections. **States** are the UI states the page must handle.
6
-
7
- ---
8
-
9
- ### marketing-landing
10
-
11
- | Classification | Values |
12
- |----------------|--------|
13
- | Routes | `/`, `/landing` |
14
- | Shell | marketing-shell |
15
- | Required | HeaderBlock, FooterBlock, Button, Badge, Typography, ScrollFadeIn |
16
- | Allowed | HeroBlock, HeroSectionBlock, FeatureBlock, FeatureGridBlock, FAQBlock, CallToActionBlock, TestimonialsBlock, LogoCloud, StatsMarketingBlock, SocialProofBlock, ComparisonBlock, BannerBlock, AnnouncementBanner, InfiniteSlider, AnimatedGradientText, CountingNumber, PricingBlock, BentoGrid, ShaderBackground, Card, Separator |
17
- | Forbidden | Sidebar, DataTable, Form, FormWizard, AgentTeamPanel, AgentTerminal, SettingsLayout |
18
- | Blocks | HeroBlock, HeroSectionBlock, FeatureBlock, FeatureGridBlock, FAQBlock, CallToActionBlock, TestimonialsBlock, LogoCloud, StatsMarketingBlock, SocialProofBlock, ComparisonBlock, BannerBlock, HeaderBlock, FooterBlock, NewsletterBlock |
19
- | States | default, mobile-navigation |
20
- | Recipe | `recipes/marketing-landing.md` |
21
-
22
- ---
23
-
24
- ### dashboard
25
-
26
- | Classification | Values |
27
- |----------------|--------|
28
- | Routes | `/dashboard` |
29
- | Shell | app-shell |
30
- | Required | MetricCard, ChartCard, Card, Badge, Typography, Breadcrumb, Button, Skeleton, Empty, StaggerChildren |
31
- | Allowed | Sparkline, TrendIndicator, SlidingNumber, CountingNumber, ProgressRing, DataFreshness, AreaChart, BarChart, LineChart, PieChart, HeatmapChart, AgentMetricsCard, Tabs, Select, Progress, Timeline, DateRangePicker, DataTable, Tooltip, ScrollFadeIn, StatusDot |
32
- | Forbidden | HeroBlock, PricingBlock, FormWizard, AuthLayout, TextReveal, AnimatedGradientText, AuroraEffect, MeteorShower |
33
- | Blocks | StatsBlock, ChartBlock, ChartCollectionBlock, ActivityFeedBlock, BarChartBlock, InteractiveAreaChartBlock |
34
- | States | loading, empty, has-data, error |
35
- | Recipe | `recipes/dashboard.md` |
36
-
37
- ---
38
-
39
- ### crud-list-detail
40
-
41
- | Classification | Values |
42
- |----------------|--------|
43
- | Routes | `/[entity]`, `/[entity]/[id]` |
44
- | Shell | app-shell |
45
- | Required | DataTable, Pagination, Input, Select, Button, Badge, Card, Sheet, AlertDialog, Typography, Breadcrumb, Skeleton, Empty |
46
- | Allowed | Table, Dialog, Tabs, DropdownMenu, ContextMenu, Tooltip, Checkbox |
47
- | Forbidden | HeroBlock, PricingBlock, FormWizard, AreaChart, BarChart, AuroraEffect, TextReveal |
48
- | Blocks | DataGridBlock, DirectoryBlock |
49
- | States | loading, empty, has-data, error, filtering |
50
- | Recipe | `recipes/crud-list-detail.md` |
51
-
52
- ---
53
-
54
- ### kanban-board
55
-
56
- | Classification | Values |
57
- |----------------|--------|
58
- | Routes | `/runs`, `/board`, `/pipeline`, `/[entity]/board` |
59
- | Shell | app-shell |
60
- | Required | KanbanBoard, KanbanColumn, KanbanColumnHeader, KanbanItem, KanbanHandle, Badge, Typography, Empty, Button |
61
- | Allowed | Avatar, StatusDot, Tooltip, DropdownMenu, Sheet, Dialog, Skeleton, Tabs, Select, Input |
62
- | Forbidden | DataTable, HeroBlock, PricingBlock, FormWizard, AreaChart, AuroraEffect, AgentTeamPanel |
63
- | Blocks | KanbanDemoBlock |
64
- | States | loading, empty, has-data, error, dragging |
65
- | Recipe | See SKILL.md "Kanban Board" section |
66
-
67
- ---
68
-
69
- ### crud-form
70
-
71
- | Classification | Values |
72
- |----------------|--------|
73
- | Routes | `/[entity]/new`, `/[entity]/[id]/edit` |
74
- | Shell | app-shell |
75
- | Required | Form, FormField, FormItem, FormLabel, FormControl, FormMessage, Input, Button, Card, Typography, Breadcrumb, AlertDialog, Alert, Spinner, Skeleton |
76
- | Allowed | Field, Label, Textarea, Select, Switch, Checkbox, DatePicker, Combobox, TagInput, RadioGroup, Slider, FileUpload, InputOTP, NativeSelect, InputGroup, Tooltip |
77
- | Forbidden | DataTable, HeroBlock, AreaChart, BarChart, AuroraEffect, AgentTeamPanel |
78
- | Blocks | CreateBlock |
79
- | States | pristine, dirty, submitting, success, validation-error |
80
- | Recipe | `recipes/crud-form.md` |
81
-
82
- ---
83
-
84
- ### settings
85
-
86
- | Classification | Values |
87
- |----------------|--------|
88
- | Routes | `/settings`, `/settings/[section]` |
89
- | Shell | app-shell |
90
- | Required | Card, Button, Input, Switch, Select, Typography, Breadcrumb, Tabs, AlertDialog, AvatarUpload, Form, Skeleton, Sonner |
91
- | Allowed | PasswordInput, Checkbox, RadioGroup, Label, Badge, Tooltip, Separator |
92
- | Forbidden | DataTable, HeroBlock, AreaChart, AuroraEffect, AgentTeamPanel, TextReveal |
93
- | Blocks | SettingsLayout |
94
- | States | loading, default, dirty, saving, saved, error |
95
- | Recipe | `recipes/settings.md` |
96
-
97
- ---
98
-
99
- ### auth
100
-
101
- | Classification | Values |
102
- |----------------|--------|
103
- | Routes | `/login`, `/signup`, `/reset-password`, `/verify` |
104
- | Shell | auth-shell |
105
- | Required | Card, Label, Input, PasswordInput, Button, Alert, Logo, BrandIcons, Separator, Typography, Spinner |
106
- | Allowed | InputOTP, Checkbox, ShaderBackground |
107
- | Forbidden | Sidebar, DataTable, NavigationMenu, AreaChart, AuroraEffect |
108
- | Blocks | AuthLayout, LoginBlock, SignUpBlock, PasswordRecoveryBlock, ResetPasswordBlock, TwoFactorChallengeBlock, TwoFactorSetupBlock, AccountLockedBlock, AuthSuccessBlock |
109
- | States | default, submitting, error, success |
110
- | Recipe | `recipes/auth.md` |
111
-
112
- ---
113
-
114
- ### onboarding
115
-
116
- | Classification | Values |
117
- |----------------|--------|
118
- | Routes | `/onboarding`, `/onboarding/[step]` |
119
- | Shell | onboarding-shell |
120
- | Required | Progress, Button, Card, Typography, Logo, ConfettiBurst, SuccessCheck |
121
- | Allowed | FormWizard, Input, AvatarUpload, Select, Checkbox, RadioGroup, TagInput, Label, Form, FormField, Stepper, Step, Badge, Separator |
122
- | Forbidden | Sidebar, DataTable, NavigationMenu, HeroBlock, AgentTeamPanel |
123
- | Blocks | OnboardingBlock, WizardBlock |
124
- | States | step-active, step-valid, step-error, complete |
125
- | Recipe | `recipes/onboarding.md` |
126
-
127
- ---
128
-
129
- ### pricing
130
-
131
- | Classification | Values |
132
- |----------------|--------|
133
- | Routes | `/pricing` |
134
- | Shell | marketing-shell |
135
- | Required | Card, Badge, Button, Switch, Typography, Separator, ScrollFadeIn |
136
- | Allowed | PricingBlock, ComparisonBlock, Table, Tooltip, ToggleGroup, Tabs, Accordion, CountingNumber, FAQBlock, CallToActionBlock, HeaderBlock, FooterBlock, CheckoutForm |
137
- | Forbidden | Sidebar, DataTable, FormWizard, AgentTeamPanel, AuroraEffect |
138
- | Blocks | PricingBlock, FAQBlock, CallToActionBlock, ComparisonBlock, HeaderBlock, FooterBlock |
139
- | States | default, annual-toggle, cta-loading |
140
- | Recipe | `recipes/pricing.md` |
141
-
142
- ---
143
-
144
- ### analytics
145
-
146
- | Classification | Values |
147
- |----------------|--------|
148
- | Routes | `/analytics` |
149
- | Shell | app-shell |
150
- | Required | Card, Badge, Typography, Breadcrumb, Button, DateRangePicker, Tabs, Select, Skeleton, Empty |
151
- | Allowed | AreaChart, BarChart, LineChart, PieChart, RadarChart, RadialBarChart, HeatmapChart, DataTable, CountingNumber, Tooltip, Progress, Input |
152
- | Forbidden | HeroBlock, FormWizard, AuthLayout, AgentTeamPanel, AuroraEffect, TextReveal |
153
- | Blocks | StatsBlock, ChartBlock, ChartCollectionBlock, BarChartBlock, InteractiveAreaChartBlock, HeatmapChartBlock, UsageDonutBlock, DataGridBlock |
154
- | States | loading, empty, has-data, error, date-filtered |
155
- | Recipe | `recipes/analytics.md` |
156
-
157
- ---
158
-
159
- ### agents-chat
160
-
161
- | Classification | Values |
162
- |----------------|--------|
163
- | Routes | `/agents`, `/voice-agents`, `/chat` |
164
- | Shell | app-shell |
165
- | Required | Conversation, ChatMessage, ChatResponse, ChatPromptInput, ChatToolCall, ChatActions, ChatGreeting, ChatThinkingMessage, ChatShimmer, ChatReasoning, ChatConfirmation, ChatSuggestion, ChatSources, ChatBranch, ChatChainOfThought, ChatPlan, ChatQueue, ChatPromptInputAttachments, AgentTeamPanel, AgentStatus, AgentMessageBubble, ThinkingIndicator, ToolCallCard, ApprovalCard, CodeDiffViewer, ArtifactCard, AgentTerminal, ContextMeter, Tabs, Button, ScrollArea, Sheet |
166
- | Allowed | ConversationThread, AgentTimeline, AgentMetricsCard, WorkflowGraph, HandoffIndicator, MemoryInspector, SourceCitation, StreamingText, Badge, Avatar, AgentAvatar, Resizable, Textarea |
167
- | Forbidden | HeroBlock, PricingBlock, FormWizard, DataTable, AuroraEffect, MeteorShower |
168
- | Blocks | AgentConversationBlock, ChatLayout |
169
- | States | empty, loading, running, thinking, blocked-approval, failed, complete |
170
- | Recipe | `recipes/agents-chat.md` |
171
-
172
- ---
173
-
174
- ### error
175
-
176
- | Classification | Values |
177
- |----------------|--------|
178
- | Routes | `/404`, `/500` |
179
- | Shell | fallback-shell |
180
- | Required | Button, Typography, Logo |
181
- | Allowed | Card, NotFoundBlock |
182
- | Forbidden | Sidebar, DataTable, NavigationMenu, AreaChart, FormWizard, AuroraEffect |
183
- | Blocks | NotFoundBlock |
184
- | States | not-found, server-error |
185
- | Recipe | `recipes/error-pages.md` |
186
-
187
- ---
188
-
189
- ### navigation-shell
190
-
191
- | Classification | Values |
192
- |----------------|--------|
193
- | Routes | `(layout)` |
194
- | Shell | app-shell |
195
- | Required | Sidebar, SidebarProvider, SidebarTrigger, SidebarInset, SidebarContent, SidebarGroup, SidebarGroupLabel, SidebarMenu, SidebarMenuItem, SidebarMenuButton, Breadcrumb, SearchCommand, Dialog, ThemeToggle, Button, Avatar |
196
- | Allowed | SidebarMenuSub, SidebarMenuSubItem, SidebarMenuSubButton, SidebarRail, NotificationCenter, Badge, StyleToggle, Tooltip, DropdownMenu, ScrollArea, ContextMenu, Menubar |
197
- | Forbidden | HeroBlock, FooterBlock, AreaChart, Form, AgentTeamPanel |
198
- | Blocks | NavUser, AppBreadcrumb, AppSearch, WorkspaceSwitcher |
199
- | States | (none) |
200
- | Recipe | `recipes/navigation-shell.md` |
201
-
202
- ---
203
-
204
- ### blog-content
205
-
206
- | Classification | Values |
207
- |----------------|--------|
208
- | Routes | `/blog`, `/blog/[slug]`, `/changelog` |
209
- | Shell | marketing-shell |
210
- | Required | Card, Badge, Avatar, Typography, Pagination, Separator, Select, Button, ScrollFadeIn |
211
- | Allowed | Tabs, Input, Breadcrumb, Tooltip, HeaderBlock, FooterBlock |
212
- | Forbidden | Sidebar, DataTable, FormWizard, AgentTeamPanel, AreaChart |
213
- | Blocks | HeaderBlock, FooterBlock, ChangelogBlock, NewsletterBlock, CodeBlock |
214
- | States | loading, has-data, category-filtered |
215
- | Recipe | `recipes/blog-content.md` |
216
-
217
- ---
218
-
219
- ### checkout
220
-
221
- | Classification | Values |
222
- |----------------|--------|
223
- | Routes | `/checkout`, `/checkout/success` |
224
- | Shell | marketing-shell |
225
- | Required | CheckoutForm, Card, Input, InputGroup, Button, Typography, Separator, Logo, Form, Alert, Spinner, ConfettiBurst, SuccessCheck |
226
- | Allowed | CheckoutFormDemo, Label, Select, NativeSelect, Badge, Tooltip |
227
- | Forbidden | Sidebar, NavigationMenu, DataTable, AgentTeamPanel, AreaChart, AuroraEffect, HeroBlock |
228
- | Blocks | (none) |
229
- | States | default, submitting, processing, error, success |
230
- | Recipe | `recipes/checkout.md` |
231
-
232
- ---
233
-
234
- ### marketing-shell
235
-
236
- | Classification | Values |
237
- |----------------|--------|
238
- | Routes | `(marketing)` route group layout |
239
- | Shell | marketing-shell (this IS the definition) |
240
- | Required | HeaderBlock, FooterBlock, Logo, Button, ThemeToggle |
241
- | Allowed | BannerBlock, AnnouncementBanner, SkipNav |
242
- | Forbidden | Sidebar, SidebarProvider, DataTable, Form, FormWizard, AgentTeamPanel, AgentTerminal, SettingsLayout |
243
- | Blocks | HeaderBlock, FooterBlock |
244
- | States | default, mobile-navigation |
245
- | Recipe | `recipes/marketing-shell.md` |
246
-
247
- ---
248
-
249
- ### agency-home
250
-
251
- | Classification | Values |
252
- |----------------|--------|
253
- | Routes | `/`, `/home` |
254
- | Shell | marketing-shell |
255
- | Required | HeaderBlock, FooterBlock, Button, Badge, ScrollFadeIn, ProcessFlowBlock, FeatureGridBlock, StatsMarketingBlock |
256
- | Allowed | HeroBlock, HeroSectionBlock, TestimonialsBlock, LogoCloud, FAQBlock, CallToActionBlock, SocialProofBlock, InfiniteSlider, CountingNumber, ShaderBackground, Card, BentoGrid, AnimatedGradientText, Separator |
257
- | Forbidden | Sidebar, DataTable, Form, FormWizard, AgentTeamPanel, AgentTerminal, SettingsLayout |
258
- | Blocks | HeroBlock, HeroSectionBlock, FeatureGridBlock, ProcessFlowBlock, StatsMarketingBlock, TestimonialsBlock, LogoCloud, FAQBlock, CallToActionBlock, HeaderBlock, FooterBlock |
259
- | States | default, mobile-navigation |
260
- | Recipe | `recipes/agency-home.md` |
261
-
262
- ---
263
-
264
- ### digital-workers
265
-
266
- | Classification | Values |
267
- |----------------|--------|
268
- | Routes | `/digital-workers`, `/agents`, `/platform` |
269
- | Shell | marketing-shell |
270
- | Required | HeaderBlock, FooterBlock, Button, Badge, ScrollFadeIn, AgentProfileGridBlock |
271
- | Allowed | HeroBlock, HeroSectionBlock, FeatureBlock, FeatureGridBlock, WorkflowGraph, IntegrationsBlock, FAQBlock, CallToActionBlock, StatsMarketingBlock, Card, BentoGrid, ShaderBackground, LogoCloud, InfiniteSlider, Separator |
272
- | Forbidden | Sidebar, DataTable, Form, FormWizard, SettingsLayout, AgentTeamPanel |
273
- | Blocks | AgentProfileGridBlock, FeatureBlock, IntegrationsBlock, FAQBlock, CallToActionBlock, HeaderBlock, FooterBlock |
274
- | States | default, mobile-navigation |
275
- | Recipe | `recipes/digital-workers.md` |
276
-
277
- ---
278
-
279
- ### service-detail
280
-
281
- | Classification | Values |
282
- |----------------|--------|
283
- | Routes | `/services/[slug]`, `/products/[slug]`, `/agents/[slug]` |
284
- | Shell | marketing-shell |
285
- | Required | HeaderBlock, FooterBlock, Button, Badge, ScrollFadeIn, SolutionShowcaseBlock |
286
- | Allowed | ProcessFlowBlock, FeatureBlock, FeatureGridBlock, StatsMarketingBlock, TestimonialsBlock, FAQBlock, CallToActionBlock, HeroBlock, HeroSectionBlock, Card, ShaderBackground, BentoGrid, LogoCloud, InfiniteSlider, CountingNumber, Separator |
287
- | Forbidden | Sidebar, DataTable, AgentTeamPanel, SettingsLayout, FormWizard |
288
- | Blocks | SolutionShowcaseBlock, ProcessFlowBlock, FeatureBlock, FeatureGridBlock, StatsMarketingBlock, TestimonialsBlock, FAQBlock, CallToActionBlock, HeaderBlock, FooterBlock |
289
- | States | default, mobile-navigation |
290
- | Recipe | `recipes/service-detail.md` |
291
-
292
- ---
293
-
294
- ### company-about
295
-
296
- | Classification | Values |
297
- |----------------|--------|
298
- | Routes | `/about`, `/manifesto`, `/chi-siamo` |
299
- | Shell | marketing-shell |
300
- | Required | HeaderBlock, FooterBlock, Button, Badge, ScrollFadeIn, TeamBlock |
301
- | Allowed | FeatureBlock, FeatureGridBlock, StatsMarketingBlock, LogoCloud, CallToActionBlock, HeroBlock, HeroSectionBlock, Card, ShaderBackground, TestimonialsBlock, InfiniteSlider, Separator |
302
- | Forbidden | Sidebar, DataTable, Form, FormWizard, AgentTeamPanel, PricingBlock, SettingsLayout |
303
- | Blocks | TeamBlock, FeatureGridBlock, StatsMarketingBlock, LogoCloud, CallToActionBlock, HeaderBlock, FooterBlock |
304
- | States | default, mobile-navigation |
305
- | Recipe | `recipes/company-about.md` |
306
-
307
- ---
308
-
309
- ### company-contact
310
-
311
- | Classification | Values |
312
- |----------------|--------|
313
- | Routes | `/contact`, `/contatti` |
314
- | Shell | marketing-shell |
315
- | Required | HeaderBlock, FooterBlock, Button, ScrollFadeIn, ContactBlock |
316
- | Allowed | FAQBlock, Card, FeatureGridBlock, Badge, HeroBlock, HeroSectionBlock, CallToActionBlock, Separator |
317
- | Forbidden | Sidebar, DataTable, FormWizard, AgentTeamPanel, PricingBlock, SettingsLayout |
318
- | Blocks | ContactBlock, FAQBlock, HeaderBlock, FooterBlock |
319
- | States | default, form-submitting, form-success, form-error |
320
- | Recipe | `recipes/company-contact.md` |