@react-spa-scaffold/mcp 0.4.1 → 1.1.0

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 (53) hide show
  1. package/README.md +41 -19
  2. package/dist/features/registry.d.ts.map +1 -1
  3. package/dist/features/registry.js +59 -25
  4. package/dist/features/registry.js.map +1 -1
  5. package/dist/features/types.d.ts +1 -0
  6. package/dist/features/types.d.ts.map +1 -1
  7. package/dist/features/versions.json +1 -1
  8. package/dist/server.d.ts.map +1 -1
  9. package/dist/server.js +2 -1
  10. package/dist/server.js.map +1 -1
  11. package/dist/tools/get-example.js +1 -1
  12. package/dist/tools/get-scaffold.d.ts +1 -0
  13. package/dist/tools/get-scaffold.d.ts.map +1 -1
  14. package/dist/tools/get-scaffold.js +33 -17
  15. package/dist/tools/get-scaffold.js.map +1 -1
  16. package/dist/utils/examples.d.ts.map +1 -1
  17. package/dist/utils/examples.js +19 -16
  18. package/dist/utils/examples.js.map +1 -1
  19. package/dist/utils/paths.d.ts +2 -1
  20. package/dist/utils/paths.d.ts.map +1 -1
  21. package/dist/utils/paths.js +15 -2
  22. package/dist/utils/paths.js.map +1 -1
  23. package/dist/utils/scaffold.d.ts +6 -1
  24. package/dist/utils/scaffold.d.ts.map +1 -1
  25. package/dist/utils/scaffold.js +86 -13
  26. package/dist/utils/scaffold.js.map +1 -1
  27. package/package.json +1 -1
  28. package/templates/CLAUDE.md +4 -2
  29. package/templates/docs/API_REFERENCE.md +0 -1
  30. package/templates/docs/INTERNATIONALIZATION.md +26 -0
  31. package/templates/gitignore +33 -0
  32. package/templates/package.json +1 -1
  33. package/templates/src/components/shared/RegisterForm/RegisterForm.tsx +91 -0
  34. package/templates/src/components/shared/RegisterForm/index.ts +1 -0
  35. package/templates/src/components/shared/index.ts +1 -0
  36. package/templates/src/components/ui/card.tsx +70 -0
  37. package/templates/src/components/ui/input.tsx +19 -0
  38. package/templates/src/components/ui/label.tsx +19 -0
  39. package/templates/src/hooks/index.ts +1 -1
  40. package/templates/src/hooks/useRegisterForm.ts +36 -0
  41. package/templates/src/lib/index.ts +1 -11
  42. package/templates/src/lib/validations.ts +6 -13
  43. package/templates/src/pages/Home.tsx +29 -10
  44. package/templates/tests/unit/components/RegisterForm.test.tsx +105 -0
  45. package/templates/tests/unit/hooks/useRegisterForm.test.tsx +153 -0
  46. package/templates/tests/unit/lib/validations.test.ts +22 -33
  47. package/templates/tests/unit/stores/preferencesStore.test.ts +81 -0
  48. package/templates/vitest.config.ts +1 -1
  49. package/templates/src/hooks/useContactForm.ts +0 -33
  50. package/templates/src/lib/constants.ts +0 -8
  51. package/templates/src/lib/format.ts +0 -119
  52. package/templates/tests/unit/hooks/useContactForm.test.ts +0 -60
  53. package/templates/tests/unit/lib/format.test.ts +0 -100
package/README.md CHANGED
@@ -50,9 +50,18 @@ Add to your MCP client config:
50
50
 
51
51
  | Client | Config Location |
52
52
  | -------------- | ----------------------------------------------------------------- |
53
+ | Claude Code | `.mcp.json` (project) or `~/.claude/settings.json` (global) |
53
54
  | Claude Desktop | `~/Library/Application Support/Claude/claude_desktop_config.json` |
54
55
  | VS Code | `.vscode/mcp.json` |
55
- | Claude Code | `.claude/settings.json` |
56
+
57
+ **Quick Start (Claude Code):**
58
+
59
+ ```bash
60
+ mkdir my-app && cd my-app
61
+ echo '{"mcpServers":{"react-spa-scaffold":{"command":"npx","args":["-y","@react-spa-scaffold/mcp@latest"]}}}' > .mcp.json
62
+ ```
63
+
64
+ Open in Claude Code and start scaffolding.
56
65
 
57
66
  <details>
58
67
  <summary>Local Development Setup</summary>
@@ -94,20 +103,23 @@ Or point directly to the built file:
94
103
 
95
104
  ## Available Features
96
105
 
97
- 10 feature modules that can be combined:
98
-
99
- | Feature | Description | Required |
100
- | ---------- | --------------------------------------------- | -------- |
101
- | `core` | React 19 + TypeScript + Vite 7 + Tailwind CSS | Always |
102
- | `routing` | React Router 7 with lazy loading | Optional |
103
- | `ui` | Shadcn/UI + icons + theming + toasts | Optional |
104
- | `forms` | React Hook Form + Zod validation | Optional |
105
- | `state` | Zustand with persistence | Optional |
106
- | `api` | TanStack Query + API client | Optional |
107
- | `i18n` | LinguiJS internationalization | Optional |
108
- | `testing` | Vitest + Playwright + MSW | Optional |
109
- | `devtools` | ESLint + Prettier + Husky | Optional |
110
- | `ci` | GitHub Actions + Lighthouse | Optional |
106
+ 13 feature modules that can be combined:
107
+
108
+ | Feature | Description | Required |
109
+ | --------------- | --------------------------------------------- | -------- |
110
+ | `core` | React 19 + TypeScript + Vite 7 + Tailwind CSS | Always |
111
+ | `mobile` | Responsive design utilities + viewport hooks | Optional |
112
+ | `routing` | React Router 7 with lazy loading | Optional |
113
+ | `ui` | Shadcn/UI + icons + animations + toasts | Optional |
114
+ | `theming` | Light/dark/system theme (requires state) | Optional |
115
+ | `forms` | React Hook Form + Zod validation | Optional |
116
+ | `state` | Zustand with persistence + theme state | Optional |
117
+ | `api` | TanStack Query + API client | Optional |
118
+ | `i18n` | LinguiJS internationalization | Optional |
119
+ | `testing` | Vitest + Playwright + MSW | Optional |
120
+ | `devtools` | ESLint + Prettier + Husky | Optional |
121
+ | `ci` | GitHub Actions + Lighthouse | Optional |
122
+ | `observability` | Sentry error tracking | Optional |
111
123
 
112
124
  ## Tools
113
125
 
@@ -156,8 +168,10 @@ const result = await client.callTool('get_example', {
156
168
  | API | `api-client` |
157
169
  | Testing | `test-component`, `test-hook`, `test-store`, `msw-handler` |
158
170
  | i18n | `trans-component`, `t-function`, `use-language-hook` |
159
- | Utilities | `zod-schema`, `storage-utility`, `format-utility` |
160
- | UI | `theme-toggle`, `seo-component` |
171
+ | Utilities | `zod-schema`, `storage-utility` |
172
+ | Mobile | `mobile-context`, `use-media-query`, `use-touch-sizes` |
173
+ | UI | `seo-component` |
174
+ | Theming | `theme-toggle` |
161
175
 
162
176
  <details>
163
177
  <summary>Full Pattern Reference</summary>
@@ -210,13 +224,21 @@ const result = await client.callTool('get_example', {
210
224
 
211
225
  - `zod-schema` — Validation schema
212
226
  - `storage-utility` — localStorage utilities
213
- - `format-utility` — Formatting utilities
227
+
228
+ **Mobile:**
229
+
230
+ - `mobile-context` — Viewport detection context
231
+ - `use-media-query` — Media query hook with breakpoints
232
+ - `use-touch-sizes` — Touch-aware sizing hook
214
233
 
215
234
  **UI:**
216
235
 
217
- - `theme-toggle` — Theme toggle component
218
236
  - `seo-component` — SEO meta tags
219
237
 
238
+ **Theming:**
239
+
240
+ - `theme-toggle` — Theme toggle component
241
+
220
242
  </details>
221
243
 
222
244
  ## Resources
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/features/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAmgB3D,eAAO,MAAM,QAAQ,EAAE,eAatB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,WAAW,EAA4B,CAAC,MAAM,OAAO,QAAQ,CAAC,EAAE,CAAC;AAE9E,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/features/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAsiB3D,eAAO,MAAM,QAAQ,EAAE,eActB,CAAC;AAEF,4BAA4B;AAC5B,eAAO,MAAM,WAAW,EAA4B,CAAC,MAAM,OAAO,QAAQ,CAAC,EAAE,CAAC;AAE9E,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -15,11 +15,10 @@ const core = {
15
15
  'Tailwind CSS v4 with Vite plugin',
16
16
  'Inter variable font (@fontsource-variable/inter)',
17
17
  'Environment validation with Zod (src/lib/env.ts)',
18
- 'Format utilities - date, number, currency, bytes (src/lib/format.ts)',
19
18
  'cn() class merge utility (clsx + tailwind-merge)',
20
19
  'Basic SEO component (React 19 native head hoisting)',
21
20
  'App configuration (src/lib/config.ts)',
22
- 'Constants and type definitions',
21
+ 'Type definitions',
23
22
  'ErrorBoundary component with reset functionality',
24
23
  ],
25
24
  dependencies: {
@@ -47,9 +46,7 @@ const core = {
47
46
  'src/index.css',
48
47
  'src/vite-env.d.ts',
49
48
  'src/lib/config.ts',
50
- 'src/lib/constants.ts',
51
49
  'src/lib/env.ts',
52
- 'src/lib/format.ts',
53
50
  'src/lib/utils.ts',
54
51
  'src/lib/index.ts',
55
52
  'src/types/index.ts',
@@ -65,16 +62,24 @@ const core = {
65
62
  'tsconfig.app.json',
66
63
  'tsconfig.node.json',
67
64
  '.env.example',
65
+ '.gitignore',
68
66
  'public/favicon.svg',
69
67
  ],
70
- patterns: ['component-shared', 'hook-effect', 'error-boundary'],
68
+ patterns: ['component-shared', 'hook-effect', 'error-boundary', 'seo-component'],
71
69
  scripts: {
72
70
  dev: 'vite',
73
71
  build: 'tsc -b && vite build',
74
72
  preview: 'vite preview',
75
73
  typecheck: 'tsc --noEmit',
76
74
  },
77
- configFiles: ['vite.config.ts', 'tsconfig.json', 'tsconfig.app.json', 'tsconfig.node.json'],
75
+ configFiles: [
76
+ 'vite.config.ts',
77
+ 'tsconfig.json',
78
+ 'tsconfig.app.json',
79
+ 'tsconfig.node.json',
80
+ '.gitignore',
81
+ 'src/index.css',
82
+ ],
78
83
  };
79
84
  // ═══════════════════════════════════════════════════════════════════════════
80
85
  // MOBILE FEATURE
@@ -108,7 +113,7 @@ const routing = {
108
113
  includes: [
109
114
  'React Router 7',
110
115
  'Lazy-loaded pages with React.lazy()',
111
- 'Route constants with TypeScript types (src/lib/routes.ts)',
116
+ 'Route constants with TypeScript types (generated based on features)',
112
117
  '404 Not Found page',
113
118
  'App.tsx with Suspense fallback',
114
119
  'PageLoading component for transitions',
@@ -118,7 +123,7 @@ const routing = {
118
123
  },
119
124
  devDependencies: {},
120
125
  files: [
121
- 'src/lib/routes.ts',
126
+ // routes.ts is generated dynamically (see routesTs in scaffold output)
122
127
  'src/pages/Home.tsx',
123
128
  'src/pages/NotFound.tsx',
124
129
  'src/pages/index.ts',
@@ -133,7 +138,7 @@ const routing = {
133
138
  // ═══════════════════════════════════════════════════════════════════════════
134
139
  const ui = {
135
140
  name: 'UI Components',
136
- description: 'Shadcn/UI + icons + animations + toasts + theming',
141
+ description: 'Shadcn/UI + icons + animations + toasts',
137
142
  required: false,
138
143
  includes: [
139
144
  'Shadcn/UI component system (radix-nova style)',
@@ -146,8 +151,6 @@ const ui = {
146
151
  'DropdownMenu component',
147
152
  'Loading, Skeleton, Spinner components',
148
153
  'VisuallyHidden and SkipLink (accessibility)',
149
- 'Theme toggle (light/dark/system)',
150
- 'useThemeEffect hook',
151
154
  'components.json for shadcn CLI',
152
155
  ],
153
156
  dependencies: {
@@ -169,14 +172,11 @@ const ui = {
169
172
  'src/components/ui/spinner.tsx',
170
173
  'src/components/ui/sonner.tsx',
171
174
  'src/components/ui/visually-hidden.tsx',
172
- 'src/components/shared/ThemeToggle/ThemeToggle.tsx',
173
- 'src/components/shared/ThemeToggle/index.ts',
174
175
  'src/components/layout/Header.tsx',
175
176
  'src/components/layout/index.ts',
176
- 'src/hooks/useThemeEffect.ts',
177
177
  'components.json',
178
178
  ],
179
- patterns: ['component-ui', 'button-variants', 'forward-ref-component', 'theme-toggle'],
179
+ patterns: ['component-ui', 'button-variants', 'forward-ref-component'],
180
180
  scripts: {},
181
181
  configFiles: ['components.json'],
182
182
  };
@@ -185,16 +185,15 @@ const ui = {
185
185
  // ═══════════════════════════════════════════════════════════════════════════
186
186
  const forms = {
187
187
  name: 'Form Handling',
188
- description: 'React Hook Form + Zod validation + error components',
188
+ description: 'React Hook Form + Zod validation + working demo form',
189
189
  required: false,
190
190
  includes: [
191
- 'React Hook Form',
192
- 'Zod schema validation',
193
- '@hookform/resolvers for Zod integration',
191
+ 'React Hook Form with Zod validation',
192
+ '@hookform/resolvers for schema integration',
193
+ 'RegisterForm component with validation demo (displayed on HomePage)',
194
194
  'Form error components (FieldErrorMessage, FormErrorSummary, RootFormError)',
195
- 'Example useContactForm hook',
196
- 'Example validation schemas (contact, register)',
197
- 'Type-safe form data inference',
195
+ 'useRegisterForm custom hook pattern',
196
+ 'Zod schema with refine() for cross-field validation',
198
197
  ],
199
198
  dependencies: {
200
199
  '@hookform/resolvers': '^5.0.1',
@@ -202,8 +201,17 @@ const forms = {
202
201
  // zod already in core
203
202
  },
204
203
  devDependencies: {},
205
- files: ['src/lib/validations.ts', 'src/hooks/useContactForm.ts', 'src/components/ui/form-error.tsx'],
206
- patterns: ['zod-schema', 'use-form-hook', 'form-error-component'],
204
+ files: [
205
+ 'src/lib/validations.ts',
206
+ 'src/hooks/useRegisterForm.ts',
207
+ 'src/components/ui/form-error.tsx',
208
+ 'src/components/ui/input.tsx',
209
+ 'src/components/ui/label.tsx',
210
+ 'src/components/ui/card.tsx',
211
+ 'src/components/shared/RegisterForm/RegisterForm.tsx',
212
+ 'src/components/shared/RegisterForm/index.ts',
213
+ ],
214
+ patterns: ['zod-schema', 'hook-form', 'form-error-component', 'register-form'],
207
215
  scripts: {},
208
216
  };
209
217
  // ═══════════════════════════════════════════════════════════════════════════
@@ -364,7 +372,7 @@ const testing = {
364
372
  e2e: 'playwright test',
365
373
  'e2e:ui': 'playwright test --ui',
366
374
  },
367
- configFiles: ['vitest.config.ts', 'playwright.config.ts'],
375
+ configFiles: ['vitest.config.ts', 'playwright.config.ts', 'src/test-setup.ts'],
368
376
  };
369
377
  // ═══════════════════════════════════════════════════════════════════════════
370
378
  // DEVELOPER TOOLING FEATURE
@@ -487,6 +495,31 @@ const observability = {
487
495
  },
488
496
  };
489
497
  // ═══════════════════════════════════════════════════════════════════════════
498
+ // THEMING FEATURE
499
+ // ═══════════════════════════════════════════════════════════════════════════
500
+ const theming = {
501
+ name: 'Theming',
502
+ description: 'Light/dark/system theme toggle with CSS variables (requires state feature)',
503
+ required: false,
504
+ includes: [
505
+ 'Light/dark/system theme modes',
506
+ 'useThemeEffect hook (applies .dark class to document)',
507
+ 'ThemeToggle component',
508
+ 'System preference detection (prefers-color-scheme)',
509
+ 'Zustand persistence via preferencesStore',
510
+ 'Multi-tab sync via storage events',
511
+ ],
512
+ dependencies: {},
513
+ devDependencies: {},
514
+ files: [
515
+ 'src/hooks/useThemeEffect.ts',
516
+ 'src/components/shared/ThemeToggle/ThemeToggle.tsx',
517
+ 'src/components/shared/ThemeToggle/index.ts',
518
+ ],
519
+ patterns: ['theme-toggle', 'hook-effect'],
520
+ scripts: {},
521
+ };
522
+ // ═══════════════════════════════════════════════════════════════════════════
490
523
  // FEATURE REGISTRY EXPORT
491
524
  // ═══════════════════════════════════════════════════════════════════════════
492
525
  export const FEATURES = {
@@ -502,6 +535,7 @@ export const FEATURES = {
502
535
  devtools,
503
536
  ci,
504
537
  observability,
538
+ theming,
505
539
  };
506
540
  /** All valid feature IDs */
507
541
  export const FEATURE_IDS = Object.keys(FEATURES);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/features/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/features/registry.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ export interface ScaffoldResult {
40
40
  claudeMd: string;
41
41
  viteEnvDts: string;
42
42
  envTs: string;
43
+ routesTs?: string;
43
44
  docs: Record<string, string>;
44
45
  }
45
46
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/features/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC;IACF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "@react-spa-scaffold/eslint-config": "^1.0.0",
2
+ "@react-spa-scaffold/eslint-config": "^1.1.0",
3
3
  "@react-spa-scaffold/prettier-config": "^1.0.0",
4
4
  "@react-spa-scaffold/tsconfig": "^1.0.0"
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA0DnE;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAoFrC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA2DnE;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAoFrC"}
package/dist/server.js CHANGED
@@ -37,7 +37,8 @@ Usage:
37
37
 
38
38
  Tips:
39
39
  - Core feature is always included automatically
40
- - Features are independent - select only what you need
40
+ - Features are mostly independent - select only what you need
41
+ - Theming feature automatically includes state (requires Zustand)
41
42
  - Check docs://conventions before generating code
42
43
  `.trim();
43
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ Available patterns:
67
67
  - Tests: test-component, test-hook, test-store, msw-handler
68
68
  - Validation: zod-schema, form-error-component
69
69
  - i18n: trans-component, t-function, language-switcher
70
- - Utils: storage-utility, format-utility
70
+ - Utils: storage-utility
71
71
  - Theme: theme-toggle
72
72
  - SEO: seo-component
73
73
 
@@ -37,6 +37,7 @@ export declare function getScaffold(input: GetScaffoldInput): Promise<{
37
37
  claudeMd: string;
38
38
  viteEnvDts: string;
39
39
  envTs: string;
40
+ routesTs: string | undefined;
40
41
  docs: Record<string, string>;
41
42
  examples: Record<string, CodeExample[]> | undefined;
42
43
  instructions: string;
@@ -1 +1 @@
1
- {"version":3,"file":"get-scaffold.d.ts","sourceRoot":"","sources":["../../src/tools/get-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEtH,eAAO,MAAM,iBAAiB;;;;iBAuB5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDxD;AA0CD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;CAyCrC,CAAC"}
1
+ {"version":3,"file":"get-scaffold.d.ts","sourceRoot":"","sources":["../../src/tools/get-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAmE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEtH,eAAO,MAAM,iBAAiB;;;;iBAuB5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDxD;AA2CD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;CAwDrC,CAAC"}
@@ -72,12 +72,14 @@ export async function getScaffold(input) {
72
72
  claudeMd: scaffold.claudeMd,
73
73
  viteEnvDts: scaffold.viteEnvDts,
74
74
  envTs: scaffold.envTs,
75
+ routesTs: scaffold.routesTs, // Only present when routing feature is selected
75
76
  docs: scaffold.docs,
76
77
  examples,
77
- instructions: generateInstructions(projectName, scaffold.setupCommands),
78
+ instructions: generateInstructions(projectName, scaffold.setupCommands, resolvedFeatures),
78
79
  };
79
80
  }
80
- function generateInstructions(projectName, setupCommands) {
81
+ function generateInstructions(projectName, setupCommands, features) {
82
+ const hasRouting = features.includes('routing');
81
83
  return `## Setup Instructions
82
84
 
83
85
  1. Create project directory:
@@ -92,29 +94,28 @@ function generateInstructions(projectName, setupCommands) {
92
94
  4. Create src/vite-env.d.ts using the provided viteEnvDts content
93
95
 
94
96
  5. Create src/lib/env.ts using the provided envTs content
97
+ ${hasRouting ? '\n6. Create src/lib/routes.ts using the provided routesTs content\n' : ''}
98
+ 7. Create CLAUDE.md using the provided claudeMd content
95
99
 
96
- 6. Create CLAUDE.md using the provided claudeMd content
100
+ 8. Create docs/ directory with the provided docs content
97
101
 
98
- 7. Create docs/ directory with the provided docs content
99
-
100
- 8. Run setup commands:
102
+ 9. Run setup commands:
101
103
  \`\`\`bash
102
104
  ${setupCommands.join('\n ')}
103
105
  \`\`\`
104
106
 
105
- 9. Start development:
107
+ 10. Start development:
106
108
  \`\`\`bash
107
109
  npm run dev
108
110
  \`\`\`
109
111
 
112
+ ## SEO Setup
113
+ - SEO component is always included (from core feature)
114
+
110
115
  ## Notes
111
116
  - Core feature is always included
112
- - Auto-included features are dependencies of selected features
113
117
  - Use get_example tool to get code patterns for each file type
114
- - CLAUDE.md content is dynamically generated based on selected features
115
- - vite-env.d.ts content is dynamically generated based on selected features
116
- - env.ts content is dynamically generated based on selected features
117
- - docs/ content is filtered based on selected features`;
118
+ - CLAUDE.md, vite-env.d.ts, env.ts content is dynamically generated based on selected features`;
118
119
  }
119
120
  export const getScaffoldToolDefinition = {
120
121
  name: 'get_scaffold',
@@ -127,17 +128,32 @@ Given a list of features, returns:
127
128
  - Config files needed
128
129
  - Documentation files (filtered by selected features)
129
130
  - Setup commands to run after creation
131
+ - Generated file contents (env.ts, routes.ts, etc.) based on selected features
130
132
 
131
133
  The AI agent should use this information to:
132
134
  1. Create the project directory
133
135
  2. Write package.json
134
- 3. Create all files using get_example for patterns
135
- 4. Create docs/ with provided documentation
136
- 5. Run setup commands
136
+ 3. Create generated files (viteEnvDts, envTs, routesTs) using provided content
137
+ 4. Create all other files using get_example for patterns
138
+ 5. Create docs/ with provided documentation
139
+ 6. Run setup commands
140
+
141
+ Feature dependencies (auto-included):
142
+ - theming → state (for Zustand persistence)
143
+
144
+ SEO Component (always included from core):
145
+ - Import in App.tsx: import { SEO } from '@/components/shared';
146
+ - Add <SEO description="..." /> in App.tsx for site-wide default meta tags
147
+ - Individual pages can override with page-specific SEO props
148
+ - Use get_example with pattern 'seo-component' for implementation details
149
+
150
+ When forms feature is selected:
151
+ - RegisterForm component is displayed on HomePage
152
+ - No additional routing required
137
153
 
138
154
  Example usage:
139
- - features: ["routing", "ui", "forms", "testing"]
140
- - This will auto-include: core, state (ui requires it)`,
155
+ - features: ["routing", "ui", "theming", "testing"]
156
+ - This will auto-include: core, state`,
141
157
  inputSchema: {
142
158
  type: 'object',
143
159
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"get-scaffold.js","sourceRoot":"","sources":["../../src/tools/get-scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-scaffold.js","sourceRoot":"","sources":["../../src/tools/get-scaffold.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../src/utils/examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AA2WD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA4BjF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAWnF"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../src/utils/examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AA8WD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA4BjF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAWnF"}
@@ -69,13 +69,14 @@ const PATTERN_MAP = {
69
69
  ],
70
70
  },
71
71
  'hook-form': {
72
- file: 'src/hooks/useContactForm.ts',
72
+ file: 'src/hooks/useRegisterForm.ts',
73
73
  description: 'React Hook Form + Zod validation hook',
74
74
  keyPoints: [
75
75
  'zodResolver for Zod integration',
76
- 'Type-safe with inferred ContactFormData',
77
- 'Returns form object + handlers',
76
+ 'Type-safe with inferred RegisterFormData',
77
+ 'Returns form object + handlers + reset',
78
78
  'Extracts commonly used state (isSubmitting, errors)',
79
+ 'Uses schema with refine() for cross-field validation',
79
80
  ],
80
81
  },
81
82
  'hook-effect': {
@@ -252,10 +253,10 @@ const PATTERN_MAP = {
252
253
  description: 'Zod validation schemas with type inference',
253
254
  keyPoints: [
254
255
  'z.object() for form schemas',
255
- 'Chained validations (min, max, email)',
256
+ 'Chained validations (min, max, email, regex)',
256
257
  'Custom error messages',
257
258
  'Type inference with z.infer<>',
258
- 'refine() for cross-field validation',
259
+ 'refine() for cross-field validation (password confirmation)',
259
260
  ],
260
261
  },
261
262
  // i18n patterns
@@ -301,17 +302,6 @@ const PATTERN_MAP = {
301
302
  'clearAppStorage for all prefixed keys',
302
303
  ],
303
304
  },
304
- 'format-utility': {
305
- file: 'src/lib/format.ts',
306
- description: 'Locale-aware formatting utilities',
307
- keyPoints: [
308
- 'Intl.DateTimeFormat for dates',
309
- 'Intl.NumberFormat for numbers/currency',
310
- 'Intl.RelativeTimeFormat for relative time',
311
- 'formatBytes for file sizes',
312
- 'Accepts locale parameter',
313
- ],
314
- },
315
305
  // Form error patterns
316
306
  'form-error-component': {
317
307
  file: 'src/components/ui/form-error.tsx',
@@ -323,6 +313,19 @@ const PATTERN_MAP = {
323
313
  'Integrates with react-hook-form types',
324
314
  ],
325
315
  },
316
+ // Form component patterns
317
+ 'register-form': {
318
+ file: 'src/components/shared/RegisterForm/RegisterForm.tsx',
319
+ description: 'Complete form component with validation',
320
+ keyPoints: [
321
+ 'Uses useRegisterForm custom hook',
322
+ 'Inline error display with FieldErrorMessage',
323
+ 'form.register() for input binding',
324
+ 'Disabled submit during isSubmitting',
325
+ 'Lingui Trans for i18n labels',
326
+ 'Demonstrates cross-field validation UX',
327
+ ],
328
+ },
326
329
  // Theme patterns
327
330
  'theme-toggle': {
328
331
  file: 'src/components/shared/ThemeToggle/ThemeToggle.tsx',