@auto-engineer/react-gen 1.135.0 → 1.137.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 (85) hide show
  1. package/dist/src/agents/create-codegen-agent.d.ts +5 -0
  2. package/dist/src/agents/create-codegen-agent.d.ts.map +1 -0
  3. package/dist/src/agents/create-codegen-agent.js +30 -0
  4. package/dist/src/agents/create-codegen-agent.js.map +1 -0
  5. package/dist/src/agents/create-constants-agent.d.ts.map +1 -1
  6. package/dist/src/agents/create-constants-agent.js +25 -8
  7. package/dist/src/agents/create-constants-agent.js.map +1 -1
  8. package/dist/src/agents/create-landing-page-agent.d.ts.map +1 -1
  9. package/dist/src/agents/create-landing-page-agent.js +3 -4
  10. package/dist/src/agents/create-landing-page-agent.js.map +1 -1
  11. package/dist/src/agents/create-narrative-agent.d.ts.map +1 -1
  12. package/dist/src/agents/create-narrative-agent.js +4 -5
  13. package/dist/src/agents/create-narrative-agent.js.map +1 -1
  14. package/dist/src/agents/create-pipeline.d.ts +1 -0
  15. package/dist/src/agents/create-pipeline.d.ts.map +1 -1
  16. package/dist/src/agents/create-pipeline.js +4 -2
  17. package/dist/src/agents/create-pipeline.js.map +1 -1
  18. package/dist/src/agents/create-router-agent.d.ts.map +1 -1
  19. package/dist/src/agents/create-router-agent.js +3 -4
  20. package/dist/src/agents/create-router-agent.js.map +1 -1
  21. package/dist/src/agents/create-theme-agent.d.ts.map +1 -1
  22. package/dist/src/agents/create-theme-agent.js +3 -4
  23. package/dist/src/agents/create-theme-agent.js.map +1 -1
  24. package/dist/src/agents/create-validation-agent.d.ts.map +1 -1
  25. package/dist/src/agents/create-validation-agent.js +3 -4
  26. package/dist/src/agents/create-validation-agent.js.map +1 -1
  27. package/dist/src/commands/generate-react-app.d.ts.map +1 -1
  28. package/dist/src/commands/generate-react-app.js +2 -1
  29. package/dist/src/commands/generate-react-app.js.map +1 -1
  30. package/dist/src/prompts/build-narrative-context.d.ts +1 -1
  31. package/dist/src/prompts/build-narrative-context.d.ts.map +1 -1
  32. package/dist/src/prompts/build-narrative-context.js +25 -6
  33. package/dist/src/prompts/build-narrative-context.js.map +1 -1
  34. package/dist/src/prompts/narrative-system.d.ts +1 -1
  35. package/dist/src/prompts/narrative-system.d.ts.map +1 -1
  36. package/dist/src/prompts/narrative-system.js +15 -8
  37. package/dist/src/prompts/narrative-system.js.map +1 -1
  38. package/dist/src/prompts/router-system.d.ts +1 -1
  39. package/dist/src/prompts/router-system.d.ts.map +1 -1
  40. package/dist/src/prompts/router-system.js +2 -2
  41. package/dist/src/prompts/validation-system.d.ts +1 -1
  42. package/dist/src/prompts/validation-system.d.ts.map +1 -1
  43. package/dist/src/prompts/validation-system.js +5 -2
  44. package/dist/src/prompts/validation-system.js.map +1 -1
  45. package/dist/src/tools/check-imports.d.ts.map +1 -1
  46. package/dist/src/tools/check-imports.js +7 -2
  47. package/dist/src/tools/check-imports.js.map +1 -1
  48. package/dist/src/tools/list-files.d.ts.map +1 -1
  49. package/dist/src/tools/list-files.js +2 -0
  50. package/dist/src/tools/list-files.js.map +1 -1
  51. package/dist/src/tools/load-skills.d.ts +8 -0
  52. package/dist/src/tools/load-skills.d.ts.map +1 -0
  53. package/dist/src/tools/load-skills.js +28 -0
  54. package/dist/src/tools/load-skills.js.map +1 -0
  55. package/dist/src/tools/write-file.d.ts.map +1 -1
  56. package/dist/src/tools/write-file.js +10 -0
  57. package/dist/src/tools/write-file.js.map +1 -1
  58. package/dist/src/types.d.ts +19 -19
  59. package/dist/src/types.d.ts.map +1 -1
  60. package/dist/src/types.js +4 -4
  61. package/dist/src/types.js.map +1 -1
  62. package/dist/starter/codegen.ts +17 -0
  63. package/dist/starter/package.json +5 -1
  64. package/dist/starter/pnpm-lock.yaml +2382 -85
  65. package/dist/starter/src/App.tsx +1 -1
  66. package/dist/starter/src/gql/execute.ts +9 -0
  67. package/dist/starter/src/gql/fragment-masking.ts +82 -0
  68. package/dist/starter/src/gql/gql.ts +6 -0
  69. package/dist/starter/src/gql/graphql.ts +37 -0
  70. package/dist/starter/src/gql/index.ts +2 -0
  71. package/dist/starter/src/main.tsx +1 -1
  72. package/dist/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +2 -2
  74. package/starter/codegen.ts +17 -0
  75. package/starter/package.json +5 -1
  76. package/starter/pnpm-lock.yaml +2382 -85
  77. package/starter/src/App.tsx +1 -1
  78. package/starter/src/gql/execute.ts +9 -0
  79. package/starter/src/gql/fragment-masking.ts +82 -0
  80. package/starter/src/gql/gql.ts +6 -0
  81. package/starter/src/gql/graphql.ts +37 -0
  82. package/starter/src/gql/index.ts +2 -0
  83. package/starter/src/main.tsx +1 -1
  84. package/dist/starter/package-lock.json +0 -7590
  85. package/starter/package-lock.json +0 -7590
@@ -11,23 +11,30 @@ Key rules you MUST follow:
11
11
  - shadcn/ui components must be customized — never use default unstyled state.
12
12
 
13
13
  ## TECHNICAL CONSTRAINTS
14
- - queries.ts ALREADY exists with GraphQL constantsimport from "./queries", NEVER define your own.
15
- - ALWAYS use graphqlClient from "@/lib/graphql-client" with @tanstack/react-query.
16
- - NEVER import { request } from "graphql-request" directly ALWAYS use the shared graphqlClient instance.
17
- CORRECT: import { graphqlClient } from "@/lib/graphql-client"; graphqlClient.request(QUERY, vars)
18
- WRONG: import { request } from "graphql-request"; request("/graphql", QUERY, vars)
14
+ - queries.ts and mutations.ts ALREADY exist with typed GraphQL operationstheir content is shown below. Import from "./queries" or "./mutations".
15
+ - NEVER create new GraphQL operations or query strings. ALL operations you need are already in queries.ts/mutations.ts.
16
+ - NEVER write to queries.ts or mutations.ts they are protected and will be rejected.
17
+ - If a slice has no request field, it does not need a GraphQL call — build it as a static/local component.
18
+ - ALWAYS use execute() from "@/gql/execute" with @tanstack/react-query. Types are inferred automatically.
19
+ - NEVER manually define response or variable types for GraphQL operations — they are inferred from the typed operations.
20
+ - NEVER import { request } from "graphql-request" or use graphqlClient.request() directly — ALWAYS use the typed execute() function.
21
+ CORRECT: import { execute } from "@/gql/execute"; import { MY_QUERY } from './queries.js'; execute(MY_QUERY, { id })
22
+ WRONG: import { graphqlClient } from "@/lib/graphql-client"; graphqlClient.request<ManualType>(QUERY, vars)
23
+ WRONG: import { request } from "graphql-request"; request("/graphql", QUERY, vars)
19
24
  - Use shadcn/ui components from "@/components/ui/..." (customized) — never raw HTML elements.
20
25
  - Use react-hook-form + zod when you need forms.
21
26
  - Tailwind CSS only — no .css files.
22
27
  - Use lucide-react for icons.
23
28
  - Use toast from "sonner" for feedback.
24
29
  - Skip "react" type slices — they are server-only.
25
- - Don't write App.tsx, main.tsx, index.css, anything in src/lib/ or src/components/ui/.
26
- - BEFORE generating, call read_file on queries.ts to see the available constants.
30
+ - Don't write App.tsx, main.tsx, index.css, anything in src/lib/, src/gql/, or src/components/ui/.
27
31
 
28
32
  ## FILE STRUCTURE
29
33
  - Feature components: src/features/<narrative-slug>/
30
- - REQUIRED: src/features/<narrative-slug>/index.ts — must have a default export of the main page/view component.
34
+ - REQUIRED: src/features/<narrative-slug>/index.ts — must re-export all components as NAMED exports.
35
+ - NEVER use default exports anywhere. ALL exports must be named exports (export function X, export const X).
36
+ - Example index.ts: export { WorkoutLogForm } from './WorkoutLogForm.js';
37
+ - Page files: src/pages/<NarrativeName>Page.tsx — export function <NarrativeName>Page() { ... }
31
38
 
32
39
  ## DESIGN QUALITY — MANDATORY
33
40
  The output must look like a premium SaaS product. Be creative with layouts — don't default to the same structure every time.
@@ -1 +1 @@
1
- {"version":3,"file":"narrative-system.js","sourceRoot":"","sources":["../../../src/prompts/narrative-system.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FAkDqD,CAAC"}
1
+ {"version":3,"file":"narrative-system.js","sourceRoot":"","sources":["../../../src/prompts/narrative-system.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FAyDqD,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const ROUTER_SYSTEM_PROMPT = "You are a senior design engineer. Create the app shell (App.tsx) that wires up routing and navigation for the generated features. Use write_file to create it.\n\n## MANDATORY SKILL COMPLIANCE\nYou have ACTIVE SKILLS injected below. They are hard requirements, not suggestions. Violations will be rejected.\n\n## PROCESS\n1. Call list_files to see what feature components have been generated.\n2. Call read_file on each feature's index.ts to find their exports.\n3. Call read_file on src/components/landing-page.tsx to see the landing page (already generated).\n4. Write src/App.tsx \u2014 the router shell with polished navigation.\n\n## APP.TSX\n- Wrap in <BrowserRouter> from react-router-dom (main.tsx does NOT provide a router).\n- \"/\" MUST render <LandingPage /> from \"@/components/landing-page\" \u2014 NEVER a redirect.\n- Navigation: design a TOP header (NOT a sidebar) that fits this app's identity. Include app name with a relevant icon, links to features.\n Use: sticky top-0 z-10 bg-background/80 backdrop-blur-sm border-b\n- Do NOT use a sidebar layout. Use a horizontal top navigation bar.\n- Each feature gets its own route.\n- Catch-all 404 using <NotFound /> from \"@/components/not-found\".\n- Wrap content in QueryClientProvider from @tanstack/react-query.\n- Export default function App.\n\n## AVAILABLE IMPORTS\n- react-router-dom: BrowserRouter, Routes, Route, Link, NavLink\n- lucide-react: any icon\n- @/components/ui/*: Button, Card, CardHeader, CardTitle, CardContent, CardDescription, Badge, Separator\n- @/lib/utils: cn() helper\n- @/components/not-found: NotFound\n- @/components/landing-page: default export LandingPage\n- @tanstack/react-query: QueryClient, QueryClientProvider\n\nDO NOT modify main.tsx, landing-page.tsx, or any feature files. You may ONLY write src/App.tsx.\n\nAfter writing App.tsx, call exit_loop to finish.";
1
+ export declare const ROUTER_SYSTEM_PROMPT = "You are a senior design engineer. Create the app shell (App.tsx) that wires up routing and navigation for the generated features. Use write_file to create it.\n\n## MANDATORY SKILL COMPLIANCE\nYou have ACTIVE SKILLS injected below. They are hard requirements, not suggestions. Violations will be rejected.\n\n## PROCESS\n1. Call list_files to see what feature components have been generated.\n2. Call read_file on each feature's index.ts to find their exports.\n3. Call read_file on src/components/landing-page.tsx to see the landing page (already generated).\n4. Write src/App.tsx \u2014 the router shell with polished navigation.\n\n## APP.TSX\n- Wrap in <BrowserRouter> from react-router-dom (main.tsx does NOT provide a router).\n- \"/\" MUST render <LandingPage /> from \"@/components/landing-page\" \u2014 NEVER a redirect.\n- Navigation: design a TOP header (NOT a sidebar) that fits this app's identity. Include app name with a relevant icon, links to features.\n Use: sticky top-0 z-10 bg-background/80 backdrop-blur-sm border-b\n- Do NOT use a sidebar layout. Use a horizontal top navigation bar.\n- Each feature gets its own route.\n- Catch-all 404 using <NotFound /> from \"@/components/not-found\".\n- Wrap content in QueryClientProvider from @tanstack/react-query.\n- Export as named export: export function App() { ... }. NEVER use default exports.\n\n## AVAILABLE IMPORTS\n- react-router-dom: BrowserRouter, Routes, Route, Link, NavLink\n- lucide-react: any icon\n- @/components/ui/*: Button, Card, CardHeader, CardTitle, CardContent, CardDescription, Badge, Separator\n- @/lib/utils: cn() helper\n- @/components/not-found: NotFound\n- @/components/landing-page: LandingPage (named export)\n- @tanstack/react-query: QueryClient, QueryClientProvider\n\nDO NOT modify main.tsx, landing-page.tsx, or any feature files. You may ONLY write src/App.tsx.\n\nAfter writing App.tsx, call exit_loop to finish.";
2
2
  //# sourceMappingURL=router-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router-system.d.ts","sourceRoot":"","sources":["../../../src/prompts/router-system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,40DAiCgB,CAAC"}
1
+ {"version":3,"file":"router-system.d.ts","sourceRoot":"","sources":["../../../src/prompts/router-system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,i4DAiCgB,CAAC"}
@@ -18,7 +18,7 @@ You have ACTIVE SKILLS injected below. They are hard requirements, not suggestio
18
18
  - Each feature gets its own route.
19
19
  - Catch-all 404 using <NotFound /> from "@/components/not-found".
20
20
  - Wrap content in QueryClientProvider from @tanstack/react-query.
21
- - Export default function App.
21
+ - Export as named export: export function App() { ... }. NEVER use default exports.
22
22
 
23
23
  ## AVAILABLE IMPORTS
24
24
  - react-router-dom: BrowserRouter, Routes, Route, Link, NavLink
@@ -26,7 +26,7 @@ You have ACTIVE SKILLS injected below. They are hard requirements, not suggestio
26
26
  - @/components/ui/*: Button, Card, CardHeader, CardTitle, CardContent, CardDescription, Badge, Separator
27
27
  - @/lib/utils: cn() helper
28
28
  - @/components/not-found: NotFound
29
- - @/components/landing-page: default export LandingPage
29
+ - @/components/landing-page: LandingPage (named export)
30
30
  - @tanstack/react-query: QueryClient, QueryClientProvider
31
31
 
32
32
  DO NOT modify main.tsx, landing-page.tsx, or any feature files. You may ONLY write src/App.tsx.
@@ -1,2 +1,2 @@
1
- export declare const VALIDATION_SYSTEM_PROMPT = "You are a TypeScript build validator for a generated React application. Your job is to ensure the project compiles and meets quality standards.\n\n## Process\n1. Run `run_tsc` to check for TypeScript errors\n2. Run `run_eslint` to check for lint errors\n3. Run `check_imports` to detect banned import patterns (e.g. direct graphql-request usage)\n4. If there are errors from ANY of the above:\n a. Use `read_file` to read the problematic files\n b. Fix errors using `write_file`\n c. Common fixes: missing imports, wrong types, type-only imports needing `import type`, unused variables\n5. If ALL THREE checks pass with 0 errors, call `exit_loop`\n\n## Rules for fixing\n- Do NOT change GraphQL request strings \u2014 they come from the domain model\n- Do NOT remove component functionality \u2014 only fix type/lint errors\n- Do NOT create .css files \u2014 convert any CSS to Tailwind classes\n- shadcn/ui imports: `import { Component } from \"@/components/ui/component\"`\n- If a component uses raw HTML inputs/tables/buttons, replace them with shadcn/ui equivalents\n- Add `import type` for type-only imports if verbatimModuleSyntax is enabled\n- CRITICAL: If any file imports `request` from \"graphql-request\" directly, replace it with `graphqlClient` from \"@/lib/graphql-client\". The standalone request() function bypasses the shared client configuration. Fix pattern:\n WRONG: import { request } from \"graphql-request\"; ... request(\"/graphql\", QUERY, vars)\n CORRECT: import { graphqlClient } from \"@/lib/graphql-client\"; ... graphqlClient.request(QUERY, vars)\n- CRITICAL: The \"/\" route in App.tsx MUST render a LandingPage component, NEVER a <Navigate> redirect. If App.tsx redirects \"/\" away, replace the redirect with the LandingPage component.\n- NEVER modify or rewrite src/components/landing-page.tsx \u2014 it is pre-generated and must not be changed.\n\n## Exit condition\nCall `exit_loop` ONLY when tsc, eslint, AND check_imports ALL report 0 errors.";
1
+ export declare const VALIDATION_SYSTEM_PROMPT = "You are a TypeScript build validator for a generated React application. Your job is to ensure the project compiles and meets quality standards.\n\n## Process\n1. Run `run_tsc` to check for TypeScript errors\n2. Run `run_eslint` to check for lint errors\n3. Run `check_imports` to detect banned import patterns (e.g. direct graphql-request usage)\n4. If there are errors from ANY of the above:\n a. Use `read_file` to read the problematic files\n b. Fix errors using `write_file`\n c. Common fixes: missing imports, wrong types, type-only imports needing `import type`, unused variables\n5. If ALL THREE checks pass with 0 errors, call `exit_loop`\n\n## Rules for fixing\n- Do NOT change GraphQL request strings \u2014 they come from the domain model\n- Do NOT remove component functionality \u2014 only fix type/lint errors\n- Do NOT create .css files \u2014 convert any CSS to Tailwind classes\n- shadcn/ui imports: `import { Component } from \"@/components/ui/component\"`\n- If a component uses raw HTML inputs/tables/buttons, replace them with shadcn/ui equivalents\n- Add `import type` for type-only imports if verbatimModuleSyntax is enabled\n- CRITICAL: All GraphQL calls MUST use `execute()` from \"@/gql/execute\" with typed operations from queries.ts/mutations.ts. Fix pattern:\n WRONG: import { request } from \"graphql-request\"; ... request(\"/graphql\", QUERY, vars)\n WRONG: import { graphqlClient } from \"@/lib/graphql-client\"; ... graphqlClient.request<Type>(QUERY, vars)\n CORRECT: import { execute } from \"@/gql/execute\"; import { MY_QUERY } from \"./queries\"; ... execute(MY_QUERY, vars)\n- Do NOT modify files in src/gql/ \u2014 they are generated by graphql-codegen.\n- Do NOT modify queries.ts or mutations.ts in feature directories \u2014 they are generated from the domain model.\n- CRITICAL: The \"/\" route in App.tsx MUST render a LandingPage component, NEVER a <Navigate> redirect. If App.tsx redirects \"/\" away, replace the redirect with the LandingPage component.\n- NEVER modify or rewrite src/components/landing-page.tsx \u2014 it is pre-generated and must not be changed.\n\n## Exit condition\nCall `exit_loop` ONLY when tsc, eslint, AND check_imports ALL report 0 errors.";
2
2
  //# sourceMappingURL=validation-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation-system.d.ts","sourceRoot":"","sources":["../../../src/prompts/validation-system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,28DA0B4C,CAAC"}
1
+ {"version":3,"file":"validation-system.d.ts","sourceRoot":"","sources":["../../../src/prompts/validation-system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,urEA6B4C,CAAC"}
@@ -17,9 +17,12 @@ export const VALIDATION_SYSTEM_PROMPT = `You are a TypeScript build validator fo
17
17
  - shadcn/ui imports: \`import { Component } from "@/components/ui/component"\`
18
18
  - If a component uses raw HTML inputs/tables/buttons, replace them with shadcn/ui equivalents
19
19
  - Add \`import type\` for type-only imports if verbatimModuleSyntax is enabled
20
- - CRITICAL: If any file imports \`request\` from "graphql-request" directly, replace it with \`graphqlClient\` from "@/lib/graphql-client". The standalone request() function bypasses the shared client configuration. Fix pattern:
20
+ - CRITICAL: All GraphQL calls MUST use \`execute()\` from "@/gql/execute" with typed operations from queries.ts/mutations.ts. Fix pattern:
21
21
  WRONG: import { request } from "graphql-request"; ... request("/graphql", QUERY, vars)
22
- CORRECT: import { graphqlClient } from "@/lib/graphql-client"; ... graphqlClient.request(QUERY, vars)
22
+ WRONG: import { graphqlClient } from "@/lib/graphql-client"; ... graphqlClient.request<Type>(QUERY, vars)
23
+ CORRECT: import { execute } from "@/gql/execute"; import { MY_QUERY } from './queries.js'; ... execute(MY_QUERY, vars)
24
+ - Do NOT modify files in src/gql/ — they are generated by graphql-codegen.
25
+ - Do NOT modify queries.ts or mutations.ts in feature directories — they are generated from the domain model.
23
26
  - CRITICAL: The "/" route in App.tsx MUST render a LandingPage component, NEVER a <Navigate> redirect. If App.tsx redirects "/" away, replace the redirect with the LandingPage component.
24
27
  - NEVER modify or rewrite src/components/landing-page.tsx — it is pre-generated and must not be changed.
25
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"validation-system.js","sourceRoot":"","sources":["../../../src/prompts/validation-system.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;iFA0ByC,CAAC"}
1
+ {"version":3,"file":"validation-system.js","sourceRoot":"","sources":["../../../src/prompts/validation-system.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFA6ByC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-imports.d.ts","sourceRoot":"","sources":["../../../src/tools/check-imports.ts"],"names":[],"mappings":"AA0GA,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM;;;;GA8CvD"}
1
+ {"version":3,"file":"check-imports.d.ts","sourceRoot":"","sources":["../../../src/tools/check-imports.ts"],"names":[],"mappings":"AA+GA,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM;;;;GA8CvD"}
@@ -6,7 +6,12 @@ const BANNED_LINE_PATTERNS = [
6
6
  {
7
7
  regex: /import\s*\{[^}]*\brequest\b[^}]*\}\s*from\s*["']graphql-request["']/,
8
8
  pattern: 'import { request } from "graphql-request"',
9
- fix: 'Replace with: import { graphqlClient } from "@/lib/graphql-client"; then use graphqlClient.request(QUERY, vars)',
9
+ fix: 'Replace with: import { execute } from "@/gql/execute"; then use execute(TYPED_QUERY, vars)',
10
+ },
11
+ {
12
+ regex: /graphqlClient\.request\s*</,
13
+ pattern: 'graphqlClient.request<Type>() — manual type parameter bypasses codegen types',
14
+ fix: 'Replace with: import { execute } from "@/gql/execute"; execute(TYPED_QUERY, vars) — types are inferred automatically.',
10
15
  },
11
16
  {
12
17
  regex: /<Route\s[^>]*path\s*=\s*["']\/["'][^>]*element\s*=\s*\{?\s*<Navigate\b/,
@@ -18,7 +23,7 @@ function walkDir(dir, ext) {
18
23
  const results = [];
19
24
  for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
20
25
  const full = path.join(dir, entry.name);
21
- if (entry.isDirectory() && entry.name !== 'node_modules' && entry.name !== 'ui') {
26
+ if (entry.isDirectory() && entry.name !== 'node_modules' && entry.name !== 'ui' && entry.name !== 'gql') {
22
27
  results.push(...walkDir(full, ext));
23
28
  }
24
29
  else if (entry.isFile() && ext.some((e) => entry.name.endsWith(e))) {
@@ -1 +1 @@
1
- {"version":3,"file":"check-imports.js","sourceRoot":"","sources":["../../../src/tools/check-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-imports.js","sourceRoot":"","sources":["../../../src/tools/check-imports.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-files.d.ts","sourceRoot":"","sources":["../../../src/tools/list-files.ts"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM;;GA4BpD"}
1
+ {"version":3,"file":"list-files.d.ts","sourceRoot":"","sources":["../../../src/tools/list-files.ts"],"names":[],"mappings":"AAKA,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM;;GA6BpD"}
@@ -21,6 +21,8 @@ export function createListFilesTool(outputDir) {
21
21
  continue;
22
22
  if (dir === path.join(outputDir, 'src', 'components') && entry.name === 'ui')
23
23
  continue;
24
+ if (dir === path.join(outputDir, 'src') && entry.name === 'gql')
25
+ continue;
24
26
  await walk(full);
25
27
  }
26
28
  else if (/\.(tsx?|css)$/.test(entry.name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../src/tools/list-files.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,IAAI,CAAC;QACV,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,UAAU,IAAI,CAAC,GAAW;gBAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;4BAAE,SAAS;wBAC5C,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;4BAAE,SAAS;wBACvF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;yBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../src/tools/list-files.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,IAAI,CAAC;QACV,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,UAAU,IAAI,CAAC,GAAW;gBAC7B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;4BAAE,SAAS;wBAC5C,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;4BAAE,SAAS;wBACvF,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;4BAAE,SAAS;wBAC1E,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;yBAAM,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function createLoadSkillsTool(skillNames: string[]): import("ai").Tool<Record<string, never>, {
2
+ skills_loaded: number;
3
+ skills: {
4
+ name: string;
5
+ instructions: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=load-skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-skills.d.ts","sourceRoot":"","sources":["../../../src/tools/load-skills.ts"],"names":[],"mappings":"AAMA,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE;;;cAM7B,MAAM;sBAAgB,MAAM;;GAevD"}
@@ -0,0 +1,28 @@
1
+ import path from 'node:path';
2
+ import { tool } from 'ai';
3
+ import fs from 'fs-extra';
4
+ import { z } from 'zod';
5
+ import { getSkillToolkit } from '../utils/create-skill-tool.js';
6
+ export function createLoadSkillsTool(skillNames) {
7
+ return tool({
8
+ description: `Load all ${skillNames.length} required design/quality skills at once. Call this ONCE at the start before doing any work.`,
9
+ inputSchema: z.object({}),
10
+ execute: async () => {
11
+ const toolkit = await getSkillToolkit();
12
+ const loaded = [];
13
+ for (const name of skillNames) {
14
+ const skill = toolkit.skills.find((s) => s.name === name);
15
+ if (skill) {
16
+ const mdPath = path.join(skill.localPath, 'SKILL.md');
17
+ if (await fs.pathExists(mdPath)) {
18
+ const content = await fs.readFile(mdPath, 'utf-8');
19
+ const body = content.replace(/^---[\s\S]*?---\n*/, '');
20
+ loaded.push({ name, instructions: body });
21
+ }
22
+ }
23
+ }
24
+ return { skills_loaded: loaded.length, skills: loaded };
25
+ },
26
+ });
27
+ }
28
+ //# sourceMappingURL=load-skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-skills.js","sourceRoot":"","sources":["../../../src/tools/load-skills.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,UAAU,oBAAoB,CAAC,UAAoB;IACvD,OAAO,IAAI,CAAC;QACV,WAAW,EAAE,YAAY,UAAU,CAAC,MAAM,6FAA6F;QACvI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;YACxC,MAAM,MAAM,GAA6C,EAAE,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBAC1D,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;oBACtD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;wBAChC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;wBACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC1D,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"AAiBA,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;GA8BzF"}
1
+ {"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"AAiBA,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE;;;;;;;;;;;GAwCzF"}
@@ -33,6 +33,16 @@ export function createWriteFileTool(outputDir, opts) {
33
33
  error: `PROTECTED: shadcn/ui components in src/components/ui/ are pre-installed. Do not overwrite them.`,
34
34
  };
35
35
  }
36
+ if (normalized.startsWith('src/gql/')) {
37
+ return {
38
+ error: `PROTECTED: src/gql/ contains generated GraphQL types. Do not overwrite.`,
39
+ };
40
+ }
41
+ if (/^src\/features\/[^/]+\/(queries|mutations)\.ts$/.test(normalized)) {
42
+ return {
43
+ error: `PROTECTED: queries.ts/mutations.ts files are generated from the domain model. Do not overwrite.`,
44
+ };
45
+ }
36
46
  }
37
47
  const abs = path.resolve(outputDir, normalized);
38
48
  await fs.ensureDir(path.dirname(abs));
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,eAAe;IACf,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,2BAA2B;IAC3B,uBAAuB;IACvB,mCAAmC;IACnC,8BAA8B;CAC/B,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,IAAmC;IACxF,OAAO,IAAI,CAAC;QACV,WAAW,EACT,yUAAyU;QAC3U,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAC3D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC1B,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzC,OAAO;wBACL,KAAK,EAAE,oBAAoB,UAAU,kGAAkG;qBACxI,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAChD,OAAO;wBACL,KAAK,EAAE,iGAAiG;qBACzG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/tools/write-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG;IACtB,cAAc;IACd,eAAe;IACf,eAAe;IACf,aAAa;IACb,kBAAkB;IAClB,2BAA2B;IAC3B,uBAAuB;IACvB,mCAAmC;IACnC,8BAA8B;CAC/B,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,IAAmC;IACxF,OAAO,IAAI,CAAC;QACV,WAAW,EACT,yUAAyU;QAC3U,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;SAC3D,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC1B,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzC,OAAO;wBACL,KAAK,EAAE,oBAAoB,UAAU,kGAAkG;qBACxI,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAChD,OAAO;wBACL,KAAK,EAAE,iGAAiG;qBACzG,CAAC;gBACJ,CAAC;gBACD,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtC,OAAO;wBACL,KAAK,EAAE,yEAAyE;qBACjF,CAAC;gBACJ,CAAC;gBACD,IAAI,iDAAiD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACvE,OAAO;wBACL,KAAK,EAAE,iGAAiG;qBACzG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAC7C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  export type ClientSpecNode = {
3
- id: string;
3
+ id?: string;
4
4
  type: 'describe' | 'it';
5
5
  title: string;
6
6
  children?: ClientSpecNode[];
7
7
  };
8
8
  declare const gherkinStepSchema: z.ZodObject<{
9
- id: z.ZodString;
9
+ id: z.ZodOptional<z.ZodString>;
10
10
  keyword: z.ZodEnum<{
11
11
  Given: "Given";
12
12
  When: "When";
@@ -18,10 +18,10 @@ declare const gherkinStepSchema: z.ZodObject<{
18
18
  docString: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodArray<z.ZodUnknown>]>>;
19
19
  }, z.core.$strip>;
20
20
  declare const gherkinExampleSchema: z.ZodObject<{
21
- id: z.ZodString;
21
+ id: z.ZodOptional<z.ZodString>;
22
22
  name: z.ZodString;
23
23
  steps: z.ZodArray<z.ZodObject<{
24
- id: z.ZodString;
24
+ id: z.ZodOptional<z.ZodString>;
25
25
  keyword: z.ZodEnum<{
26
26
  Given: "Given";
27
27
  When: "When";
@@ -34,13 +34,13 @@ declare const gherkinExampleSchema: z.ZodObject<{
34
34
  }, z.core.$strip>>;
35
35
  }, z.core.$strip>;
36
36
  declare const gherkinRuleSchema: z.ZodObject<{
37
- id: z.ZodString;
37
+ id: z.ZodOptional<z.ZodString>;
38
38
  name: z.ZodString;
39
39
  examples: z.ZodArray<z.ZodObject<{
40
- id: z.ZodString;
40
+ id: z.ZodOptional<z.ZodString>;
41
41
  name: z.ZodString;
42
42
  steps: z.ZodArray<z.ZodObject<{
43
- id: z.ZodString;
43
+ id: z.ZodOptional<z.ZodString>;
44
44
  keyword: z.ZodEnum<{
45
45
  Given: "Given";
46
46
  When: "When";
@@ -57,13 +57,13 @@ declare const gherkinSpecSchema: z.ZodObject<{
57
57
  type: z.ZodLiteral<"gherkin">;
58
58
  feature: z.ZodString;
59
59
  rules: z.ZodArray<z.ZodObject<{
60
- id: z.ZodString;
60
+ id: z.ZodOptional<z.ZodString>;
61
61
  name: z.ZodString;
62
62
  examples: z.ZodArray<z.ZodObject<{
63
- id: z.ZodString;
63
+ id: z.ZodOptional<z.ZodString>;
64
64
  name: z.ZodString;
65
65
  steps: z.ZodArray<z.ZodObject<{
66
- id: z.ZodString;
66
+ id: z.ZodOptional<z.ZodString>;
67
67
  keyword: z.ZodEnum<{
68
68
  Given: "Given";
69
69
  When: "When";
@@ -109,13 +109,13 @@ declare const sliceSchema: z.ZodObject<{
109
109
  type: z.ZodLiteral<"gherkin">;
110
110
  feature: z.ZodString;
111
111
  rules: z.ZodArray<z.ZodObject<{
112
- id: z.ZodString;
112
+ id: z.ZodOptional<z.ZodString>;
113
113
  name: z.ZodString;
114
114
  examples: z.ZodArray<z.ZodObject<{
115
- id: z.ZodString;
115
+ id: z.ZodOptional<z.ZodString>;
116
116
  name: z.ZodString;
117
117
  steps: z.ZodArray<z.ZodObject<{
118
- id: z.ZodString;
118
+ id: z.ZodOptional<z.ZodString>;
119
119
  keyword: z.ZodEnum<{
120
120
  Given: "Given";
121
121
  When: "When";
@@ -185,13 +185,13 @@ declare const narrativeSchema: z.ZodObject<{
185
185
  type: z.ZodLiteral<"gherkin">;
186
186
  feature: z.ZodString;
187
187
  rules: z.ZodArray<z.ZodObject<{
188
- id: z.ZodString;
188
+ id: z.ZodOptional<z.ZodString>;
189
189
  name: z.ZodString;
190
190
  examples: z.ZodArray<z.ZodObject<{
191
- id: z.ZodString;
191
+ id: z.ZodOptional<z.ZodString>;
192
192
  name: z.ZodString;
193
193
  steps: z.ZodArray<z.ZodObject<{
194
- id: z.ZodString;
194
+ id: z.ZodOptional<z.ZodString>;
195
195
  keyword: z.ZodEnum<{
196
196
  Given: "Given";
197
197
  When: "When";
@@ -264,13 +264,13 @@ export declare const modelSchema: z.ZodObject<{
264
264
  type: z.ZodLiteral<"gherkin">;
265
265
  feature: z.ZodString;
266
266
  rules: z.ZodArray<z.ZodObject<{
267
- id: z.ZodString;
267
+ id: z.ZodOptional<z.ZodString>;
268
268
  name: z.ZodString;
269
269
  examples: z.ZodArray<z.ZodObject<{
270
- id: z.ZodString;
270
+ id: z.ZodOptional<z.ZodString>;
271
271
  name: z.ZodString;
272
272
  steps: z.ZodArray<z.ZodObject<{
273
- id: z.ZodString;
273
+ id: z.ZodOptional<z.ZodString>;
274
274
  keyword: z.ZodEnum<{
275
275
  Given: "Given";
276
276
  When: "When";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;iBAKrB,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAIxB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;iBAIrB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAIrB,CAAC;AA6BH,QAAA,MAAM,aAAa;;;;;;;;;;;iBAWjB,CAAC;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBD,CAAC;AAEjB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOL,CAAC;AAEjB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKR,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,iBAAiB;;;;;;;;;;;iBAKrB,CAAC;AAEH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAIxB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;iBAIrB,CAAC;AAEH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;iBAIrB,CAAC;AA6BH,QAAA,MAAM,aAAa;;;;;;;;;;;iBAWjB,CAAC;AAEH,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBD,CAAC;AAEjB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOL,CAAC;AAEjB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKR,CAAC;AAEjB,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC"}
package/dist/src/types.js CHANGED
@@ -1,23 +1,23 @@
1
1
  import { z } from 'zod';
2
2
  const clientSpecNodeSchema = z.object({
3
- id: z.string(),
3
+ id: z.string().optional(),
4
4
  type: z.enum(['describe', 'it']),
5
5
  title: z.string(),
6
6
  children: z.lazy(() => z.array(clientSpecNodeSchema)).optional(),
7
7
  });
8
8
  const gherkinStepSchema = z.object({
9
- id: z.string(),
9
+ id: z.string().optional(),
10
10
  keyword: z.enum(['Given', 'When', 'Then', 'And', 'But']),
11
11
  text: z.string(),
12
12
  docString: z.union([z.record(z.string(), z.unknown()), z.array(z.unknown())]).optional(),
13
13
  });
14
14
  const gherkinExampleSchema = z.object({
15
- id: z.string(),
15
+ id: z.string().optional(),
16
16
  name: z.string(),
17
17
  steps: z.array(gherkinStepSchema),
18
18
  });
19
19
  const gherkinRuleSchema = z.object({
20
- id: z.string(),
20
+ id: z.string().optional(),
21
21
  name: z.string(),
22
22
  examples: z.array(gherkinExampleSchema),
23
23
  });
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { CodegenConfig } from '@graphql-codegen/cli';
2
+
3
+ const config: CodegenConfig = {
4
+ schema: 'schema.graphql',
5
+ documents: ['src/features/**/queries.ts', 'src/features/**/mutations.ts'],
6
+ ignoreNoDocuments: true,
7
+ generates: {
8
+ './src/gql/': {
9
+ preset: 'client',
10
+ config: {
11
+ documentMode: 'string',
12
+ },
13
+ },
14
+ },
15
+ };
16
+
17
+ export default config;
@@ -7,7 +7,8 @@
7
7
  "dev": "vite",
8
8
  "build": "tsc -b && vite build",
9
9
  "lint": "eslint .",
10
- "preview": "vite preview"
10
+ "preview": "vite preview",
11
+ "codegen": "graphql-codegen"
11
12
  },
12
13
  "dependencies": {
13
14
  "@base-ui/react": "^1.3.0",
@@ -49,6 +50,9 @@
49
50
  "eslint-plugin-react-hooks": "^7.0.1",
50
51
  "eslint-plugin-react-refresh": "^0.5.2",
51
52
  "globals": "^17.4.0",
53
+ "@graphql-codegen/cli": "^6.1.1",
54
+ "@graphql-codegen/client-preset": "^5.2.2",
55
+ "@parcel/watcher": "^2.5.6",
52
56
  "tailwindcss": "^4.2.1",
53
57
  "typescript": "~5.9.3",
54
58
  "typescript-eslint": "^8.56.1",