@auto-engineer/component-implementor-react 1.102.0 → 1.103.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 (83) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +5 -5
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +54 -0
  5. package/dist/src/commands/implement-component.d.ts.map +1 -1
  6. package/dist/src/commands/implement-component.js +4 -0
  7. package/dist/src/commands/implement-component.js.map +1 -1
  8. package/dist/src/commands/implement-component.test.js +52 -0
  9. package/dist/src/commands/implement-component.test.js.map +1 -1
  10. package/dist/src/pipeline/run-pipeline.d.ts +8 -0
  11. package/dist/src/pipeline/run-pipeline.d.ts.map +1 -1
  12. package/dist/src/pipeline/run-pipeline.js +8 -0
  13. package/dist/src/pipeline/run-pipeline.js.map +1 -1
  14. package/dist/src/pipeline/run-pipeline.test.js +39 -3
  15. package/dist/src/pipeline/run-pipeline.test.js.map +1 -1
  16. package/dist/src/pipeline/steps/generate-component.test.js +4 -0
  17. package/dist/src/pipeline/steps/generate-component.test.js.map +1 -1
  18. package/dist/src/pipeline/steps/generate-story.test.js +4 -0
  19. package/dist/src/pipeline/steps/generate-story.test.js.map +1 -1
  20. package/dist/src/pipeline/steps/generate-test.test.js +4 -0
  21. package/dist/src/pipeline/steps/generate-test.test.js.map +1 -1
  22. package/dist/src/pipeline/steps/lint-fix-loop.d.ts.map +1 -1
  23. package/dist/src/pipeline/steps/lint-fix-loop.js +4 -3
  24. package/dist/src/pipeline/steps/lint-fix-loop.js.map +1 -1
  25. package/dist/src/pipeline/steps/lint-fix-loop.test.js +17 -0
  26. package/dist/src/pipeline/steps/lint-fix-loop.test.js.map +1 -1
  27. package/dist/src/pipeline/steps/story-fix-loop.d.ts.map +1 -1
  28. package/dist/src/pipeline/steps/story-fix-loop.js +1 -0
  29. package/dist/src/pipeline/steps/story-fix-loop.js.map +1 -1
  30. package/dist/src/pipeline/steps/story-fix-loop.test.js +4 -0
  31. package/dist/src/pipeline/steps/story-fix-loop.test.js.map +1 -1
  32. package/dist/src/pipeline/steps/storybook-test.test.js +4 -0
  33. package/dist/src/pipeline/steps/storybook-test.test.js.map +1 -1
  34. package/dist/src/pipeline/steps/test-fix-loop.d.ts.map +1 -1
  35. package/dist/src/pipeline/steps/test-fix-loop.js +1 -0
  36. package/dist/src/pipeline/steps/test-fix-loop.js.map +1 -1
  37. package/dist/src/pipeline/steps/test-fix-loop.test.js +4 -0
  38. package/dist/src/pipeline/steps/test-fix-loop.test.js.map +1 -1
  39. package/dist/src/pipeline/steps/type-fix-loop.d.ts.map +1 -1
  40. package/dist/src/pipeline/steps/type-fix-loop.js +1 -0
  41. package/dist/src/pipeline/steps/type-fix-loop.js.map +1 -1
  42. package/dist/src/pipeline/steps/type-fix-loop.test.js +4 -0
  43. package/dist/src/pipeline/steps/type-fix-loop.test.js.map +1 -1
  44. package/dist/src/prompt.d.ts +3 -3
  45. package/dist/src/prompt.d.ts.map +1 -1
  46. package/dist/src/prompt.js +29 -9
  47. package/dist/src/prompt.js.map +1 -1
  48. package/dist/src/prompt.test.js +143 -0
  49. package/dist/src/prompt.test.js.map +1 -1
  50. package/dist/src/tools/lint-runner.d.ts.map +1 -1
  51. package/dist/src/tools/lint-runner.js +9 -4
  52. package/dist/src/tools/lint-runner.js.map +1 -1
  53. package/dist/src/tools/lint-runner.test.js +3 -7
  54. package/dist/src/tools/lint-runner.test.js.map +1 -1
  55. package/dist/src/tools/test-runner.js +8 -4
  56. package/dist/src/tools/test-runner.js.map +1 -1
  57. package/dist/src/tools/test-runner.test.js +49 -3
  58. package/dist/src/tools/test-runner.test.js.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +3 -3
  61. package/scripts/generate-all.ts +673 -0
  62. package/src/commands/implement-component.test.ts +52 -0
  63. package/src/commands/implement-component.ts +4 -0
  64. package/src/pipeline/run-pipeline.test.ts +39 -3
  65. package/src/pipeline/run-pipeline.ts +16 -0
  66. package/src/pipeline/steps/generate-component.test.ts +4 -0
  67. package/src/pipeline/steps/generate-story.test.ts +4 -0
  68. package/src/pipeline/steps/generate-test.test.ts +4 -0
  69. package/src/pipeline/steps/lint-fix-loop.test.ts +21 -0
  70. package/src/pipeline/steps/lint-fix-loop.ts +5 -3
  71. package/src/pipeline/steps/story-fix-loop.test.ts +4 -0
  72. package/src/pipeline/steps/story-fix-loop.ts +1 -0
  73. package/src/pipeline/steps/storybook-test.test.ts +4 -0
  74. package/src/pipeline/steps/test-fix-loop.test.ts +4 -0
  75. package/src/pipeline/steps/test-fix-loop.ts +1 -0
  76. package/src/pipeline/steps/type-fix-loop.test.ts +4 -0
  77. package/src/pipeline/steps/type-fix-loop.ts +1 -0
  78. package/src/prompt.test.ts +176 -0
  79. package/src/prompt.ts +29 -9
  80. package/src/tools/lint-runner.test.ts +6 -7
  81. package/src/tools/lint-runner.ts +10 -4
  82. package/src/tools/test-runner.test.ts +55 -3
  83. package/src/tools/test-runner.ts +8 -4
@@ -75,7 +75,12 @@ RULES
75
75
  10. **Import paths.** Import composed UI components using the exact paths shown in the **Composed Components** section of the project context. Import utility functions from \`@/lib/utils\` (e.g. \`import { cn } from '@/lib/utils'\`). NEVER use made-up package names like \`'your-design-system'\`, \`'@company/ui'\`, or \`'@acme/components'\`. NEVER guess import paths — only use paths explicitly provided in the prompt.
76
76
  11. **Code only.** Return ONLY the component file code. No markdown fences, no commentary, no file names.
77
77
  12. **Numeric formatting.** Use the \`tabular-nums\` Tailwind class on all numeric displays (prices, counts, statistics). Use \`Intl.NumberFormat\` for currency formatting rather than string template literals with \`$\`.
78
- 13. **Type imports for composed component props.** When you need to reference a composed component's prop type (e.g. to type an array of items), use \`import type { XProps } from '...'\` with the exact import path from the Composed Components section. Never reference a type without importing it.`;
78
+ 13. **Type imports for composed component props.** When you need to reference a composed component's prop type (e.g. to type an array of items), use \`import type { XProps } from '...'\` with the exact import path from the Composed Components section. Never reference a type without importing it.
79
+ 14. **Strict package boundary.** You may ONLY import from packages listed in the project's \`package.json\` dependencies/devDependencies and from local \`@/\` paths shown in the project context. Do NOT import from any other npm package — even well-known ones. If the spec implies behavior that would normally require an external package (routing, data fetching, animations, icons), implement it with plain React, callback props, and CSS/Tailwind instead.
80
+ 15. **UI components from barrel only.** Import UI components ONLY from \`@/components/ui\` using the exact export names shown in the barrel file (\`src/components/ui/index.ts\`). Do NOT import UI components that aren't listed in the barrel. Do NOT guess component names — if a UI component isn't in the barrel, build the equivalent with plain HTML + Tailwind.
81
+ 16. **Page components use callback props for navigation.** Never import a router library. Implement navigation via callback props (e.g. \`onNavigate?: (path: string) => void\`) and render \`<a>\` tags or \`<button>\` elements that call the callback. The project does not include a router.
82
+ 17. **Controlled input initialization.** When using \`useState\` for form input values, always initialize text/number inputs with an empty string (\`useState('')\`), never \`undefined\` or \`null\`. Inputs with \`value={undefined}\` become uncontrolled and return \`null\` from \`.value\`, which breaks \`toHaveValue('')\` assertions.
83
+ 18. **Array keys without indices.** Never use the \`.map()\` callback index parameter as a React key — not directly (\`key={i}\`) nor inside a template literal (\`key={\\\`item-\\\${i}\\\`}\`). Biome's \`noArrayIndexKey\` rule flags both forms. For data items, use a unique property (\`key={item.id}\`). For generated placeholders (skeletons, spacers), pre-compute an ID array outside the JSX: \`const ids = Array.from({ length: count }, (_, i) => \\\`placeholder-\\\${i}\\\`)\`, then \`ids.map(id => <div key={id}>…</div>)\`.`;
79
84
  const COMPONENT_CHECKLIST = `─────────────────────────────────────────────
80
85
  QUALITY CHECKLIST
81
86
  ─────────────────────────────────────────────
@@ -92,7 +97,9 @@ Before returning, verify:
92
97
  - [ ] Existing component behavior is preserved when modifying
93
98
  - [ ] Numeric values use tabular-nums and Intl.NumberFormat for currency
94
99
  - [ ] forwardRef uses \`export const X = React.forwardRef(...)\` syntax, never \`export function X = forwardRef(...)\`
95
- - [ ] All referenced types from composed components are imported with \`import type { ... }\``;
100
+ - [ ] All referenced types from composed components are imported with \`import type { ... }\`
101
+ - [ ] Form input \`useState\` calls are initialized with \`''\`, not \`undefined\` or \`null\`
102
+ - [ ] No \`.map()\` callback index parameter used as a React key (directly or in template literals)`;
96
103
  export const componentPromptSections = {
97
104
  PREAMBLE: COMPONENT_PREAMBLE,
98
105
  INPUT_FORMAT: COMPONENT_INPUT_FORMAT,
@@ -181,7 +188,13 @@ RULES
181
188
  9. **Test descriptions mirror specs.** Use spec language directly in test descriptions so traceability is obvious.
182
189
  10. **Code only.** Return ONLY the test file code. No markdown fences, no commentary, no file names.
183
190
  11. **Tailwind classes, not inline styles.** The project uses Tailwind CSS. In JSDOM, Tailwind utility classes are just class names — they do NOT produce computed inline styles. Use \`toHaveClass('class-name')\` for class-based assertions. NEVER use \`toHaveStyle()\` for Tailwind utilities like \`tabular-nums\`, \`touch-manipulation\`, \`min-w-[44px]\`, etc. For hover states, transforms, transitions, and pseudo-elements — JSDOM cannot compute these. Skip those assertions entirely.
184
- 12. **Verify semantic elements from component source.** Some UI library components use unexpected elements (e.g., CardTitle renders a \`<div>\`, not a heading). If composed component source code is provided, check the actual rendered element before choosing your query strategy. Prefer \`getByText\` when the semantic element is uncertain.`;
191
+ 12. **Verify semantic elements from component source.** Some UI library components use unexpected elements (e.g., CardTitle renders a \`<div>\`, not a heading). If composed component source code is provided, check the actual rendered element before choosing your query strategy. Prefer \`getByText\` when the semantic element is uncertain.
192
+ 13. **Strict package boundary.** Only import from \`vitest\`, \`@testing-library/react\`, \`@testing-library/user-event\`, and the component under test (via \`./ComponentName\`). Never import \`@testing-library/dom\` or any other \`@testing-library/*\` sub-package. Do NOT import any other npm package. Do NOT import other components (siblings, composed components, UI components) — only import the one component you are testing.
193
+ 14. **jsdom limitations.** Tests run in jsdom, which does NOT support: \`DataTransfer\`, \`ClipboardEvent\`, \`IntersectionObserver\`, \`ResizeObserver\`, \`window.matchMedia\`, \`getBoundingClientRect\` returning real dimensions, CSS computed styles, \`scrollIntoView\`, or HTML5 drag-and-drop events (\`dragstart\`, \`drop\`). Do NOT write tests that depend on these APIs. For drag-and-drop specs, test the callbacks directly (e.g. call \`onDrop\` with mock data) instead of simulating drag events. For scroll-to-bottom specs, test that the scroll container ref exists rather than asserting \`scrollIntoView\` was called. For specs requiring unavailable APIs, test the closest observable behavior that jsdom supports.
194
+ 15. **Test Tailwind classes individually.** When asserting CSS classes, use separate \`toHaveClass\` calls for each important class: \`expect(el).toHaveClass('rounded-md')\`, \`expect(el).toHaveClass('shadow-sm')\`. Do NOT assert the entire class string as one value — the component may include additional utility classes. Focus on the classes that the spec explicitly mentions.
195
+ 16. **Mock composed components.** If the component under test composes other project components (not built-in HTML elements), mock them with \`vi.mock\` so tests are isolated. Mock pattern: \`vi.mock('./ChildComponent', () => ({ ChildComponent: ({ children, ...rest }: Record<string, unknown>) => <div data-testid="child-component">{children as React.ReactNode}</div> }))\`. Do NOT spread props (\`{...props}\`) onto the mock div — callback functions are not valid DOM attributes. When testing a page or container that mocks its children, only test the page's own rendering (loading text, error messages, layout containers). Do NOT query for interactive elements (buttons, inputs) that only exist inside the real (unmocked) children. When asserting props passed to a mocked component, NEVER use \`toHaveBeenCalledWith\` — React passes \`(props, ref)\` where \`ref\` is \`undefined\` for non-forwardRef components, and \`expect.anything()\` does NOT match \`undefined\`. Instead, access mock calls directly: \`const [props] = MockChild.mock.calls[0]; expect(props).toMatchObject({...});\`. This is mandatory for ALL mock component prop assertions.
196
+ 17. **vi.mock factory hoisting.** \`vi.mock\` calls are hoisted to the top of the file by vitest. This means the factory function cannot reference any variables declared in the test file scope (imports, constants, etc.). Keep mock factories self-contained — define all needed values inline within the factory. If you need to spy on the mock, import it after the \`vi.mock\` call.
197
+ 18. **Semantic HTML role mapping.** When querying elements with \`getByRole\`, use the correct ARIA role, not the HTML tag name. Common mappings: \`<section>\` has role="region" (only when it has an accessible name via \`aria-label\` or \`aria-labelledby\` — otherwise it has NO implicit role and you must use a different query like \`getByTestId\`). \`<article>\` → \`"article"\`, \`<nav>\` → \`"navigation"\`, \`<aside>\` → \`"complementary"\`, \`<header>\` → \`"banner"\`, \`<footer>\` → \`"contentinfo"\`, \`<main>\` → \`"main"\`. There is NO role called \`"section"\` — never use \`getByRole('section')\`.`;
185
198
  const TEST_CHECKLIST = `─────────────────────────────────────────────
186
199
  QUALITY CHECKLIST
187
200
  ─────────────────────────────────────────────
@@ -468,7 +481,7 @@ export function buildComponentPrompt(input) {
468
481
  parts.push('```');
469
482
  }
470
483
  if (input.projectSection) {
471
- parts.push('\n\n' + input.projectSection);
484
+ parts.push(`\n\n${input.projectSection}`);
472
485
  }
473
486
  return {
474
487
  system: buildComponentSystemPrompt(),
@@ -487,7 +500,7 @@ export function buildTestPrompt(input) {
487
500
  parts.push('```');
488
501
  }
489
502
  if (input.projectSection) {
490
- parts.push('\n\n' + input.projectSection);
503
+ parts.push(`\n\n${input.projectSection}`);
491
504
  }
492
505
  return {
493
506
  system: buildTestSystemPrompt(),
@@ -508,7 +521,7 @@ export function buildStoryPrompt(input) {
508
521
  parts.push('```');
509
522
  }
510
523
  if (input.projectSection) {
511
- parts.push('\n\n' + input.projectSection);
524
+ parts.push(`\n\n${input.projectSection}`);
512
525
  }
513
526
  return {
514
527
  system: buildStorySystemPrompt(),
@@ -539,7 +552,7 @@ export function buildReconcilerPrompt(input) {
539
552
  parts.push(input.storyCode);
540
553
  parts.push('```');
541
554
  if (input.projectSection) {
542
- parts.push('\n\n' + input.projectSection);
555
+ parts.push(`\n\n${input.projectSection}`);
543
556
  }
544
557
  return {
545
558
  system: buildReconcilerSystemPrompt(),
@@ -595,7 +608,13 @@ Rules:
595
608
  - Only modify the test if it has a genuine bug (e.g. wrong import path, typo in query). Never weaken assertions.
596
609
  - Make minimal changes to pass the failing tests without breaking passing ones.
597
610
  - Return complete files, not diffs.
598
- - No commentary, no explanations. Just the two code blocks.`;
611
+ - No commentary, no explanations. Just the two code blocks.
612
+ - **Unresolvable imports.** If the error is "Failed to resolve import" for a package (e.g. react-router-dom, lucide-react, @tanstack/react-query), that package is NOT installed. Fix both the component and test by removing the unavailable import entirely and rewriting the code to work without it. Replace router hooks with callback props, replace icon components with inline \`<span>\` or \`<svg>\` elements, replace data-fetching hooks with props.
613
+ - **Missing UI component imports.** If the error is "Failed to resolve import" for a \`@/components/ui/*\` path, that UI component does not exist in the project. Remove the import and replace usage with plain HTML elements + Tailwind classes that provide equivalent functionality.
614
+ - **vi.mock hoisting errors.** If the error mentions "vi.mock" and "hoisted to top of the file", the mock factory references variables from the file scope. Fix by inlining all values within the factory function — do not reference imports, constants, or variables declared outside the factory.
615
+ - **Mock spy argument count mismatch.** If a \`toHaveBeenCalledWith\` assertion on a mocked component fails because of an extra \`undefined\` argument, React is passing \`(props, ref)\` where \`ref\` is \`undefined\`. \`expect.anything()\` does NOT match \`undefined\`, so do NOT use it. Fix the TEST: replace \`toHaveBeenCalledWith\` with direct mock call access: \`const [props] = MockedComponent.mock.calls[0]; expect(props).toMatchObject({...});\`.
616
+ - **toHaveStyle() failures.** jsdom does NOT compute CSS from Tailwind classes. If a \`toHaveStyle()\` assertion fails because the received style is empty or missing, replace \`expect(el).toHaveStyle({prop: value})\` with \`expect(el).toHaveClass('tailwind-class')\` using the corresponding Tailwind utility class. Never use \`toHaveStyle()\` in jsdom tests.
617
+ - **ReferenceError on mocked component.** If the error is \`ReferenceError: X is not defined\` and X is a component that was mocked with \`vi.mock\`, the test is accessing \`X.mock.calls\` without importing X. Add the import after the \`vi.mock\` call: \`import { X } from './X.js';\` — vitest resolves this to the mock.`;
599
618
  export function buildTestFixPrompt(input) {
600
619
  const parts = [];
601
620
  parts.push('## Test Failures\n');
@@ -634,7 +653,8 @@ Rules:
634
653
  - Fix ONLY the lint errors listed. Do not refactor unrelated code.
635
654
  - Preserve all behavior and functionality.
636
655
  - Return complete files, not diffs.
637
- - No commentary, no explanations. Just the two code blocks.`;
656
+ - No commentary, no explanations. Just the two code blocks.
657
+ - **noArrayIndexKey.** If the error is \`lint/suspicious/noArrayIndexKey\`, the \`.map()\` callback index is used as a React key — either directly (\`key={i}\`) or inside a template literal (\`key={\\\`prefix-\\\${i}\\\`}\`). Both are flagged by Biome. Fix by using a unique property from the item data (\`key={item.id}\`). If no \`id\` field exists, use another unique item property (\`key={item.title}\`). For generated arrays (skeletons, placeholders) where items have no unique property, pre-compute IDs outside JSX: \`const ids = Array.from({ length: n }, (_, i) => \\\`skeleton-\\\${i}\\\`)\`, then \`ids.map(id => <div key={id}>…</div>)\` — this moves the index out of the \`.map()\` callback.`;
638
658
  export function buildLintFixPrompt(input) {
639
659
  const parts = [];
640
660
  parts.push('## Lint Errors\n');
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,29 @@ describe('prompt builders', () => {
22
22
  expect(system).toContain('RULES');
23
23
  expect(system).toContain('QUALITY CHECKLIST');
24
24
  });
25
+ it('system prompt contains strict package boundary rule', () => {
26
+ const { system } = buildComponentPrompt({ componentName: 'Card', specDeltas, projectSection });
27
+ expect(system).toContain('Strict package boundary');
28
+ expect(system).toContain('package.json');
29
+ });
30
+ it('system prompt contains UI barrel import rule', () => {
31
+ const { system } = buildComponentPrompt({ componentName: 'Card', specDeltas, projectSection });
32
+ expect(system).toContain('UI components from barrel only');
33
+ expect(system).toContain('src/components/ui/index.ts');
34
+ });
35
+ it('system prompt contains page navigation callback rule', () => {
36
+ const { system } = buildComponentPrompt({ componentName: 'Card', specDeltas, projectSection });
37
+ expect(system).toContain('callback props for navigation');
38
+ expect(system).toContain('Never import a router library');
39
+ });
40
+ it('system prompt contains controlled input initialization rule', () => {
41
+ const { system } = buildComponentPrompt({ componentName: 'Card', specDeltas, projectSection });
42
+ expect(system).toContain("always initialize text/number inputs with an empty string (`useState('')`)");
43
+ });
44
+ it('system prompt contains array key rule preventing index-based keys', () => {
45
+ const { system } = buildComponentPrompt({ componentName: 'Card', specDeltas, projectSection });
46
+ expect(system).toContain("Biome's `noArrayIndexKey` rule flags both forms");
47
+ });
25
48
  it('user prompt includes component name and spec deltas', () => {
26
49
  const { prompt } = buildComponentPrompt({ componentName: 'Card', specDeltas, projectSection });
27
50
  expect(prompt).toContain('**Card**');
@@ -84,6 +107,52 @@ describe('prompt builders', () => {
84
107
  expect(system).toContain('Verify semantic elements from component source');
85
108
  expect(system).toContain('getByText');
86
109
  });
110
+ it('system prompt contains strict package boundary rule', () => {
111
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
112
+ expect(system).toContain('Strict package boundary');
113
+ expect(system).toContain('@testing-library/react');
114
+ });
115
+ it('system prompt contains jsdom limitations rule', () => {
116
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
117
+ expect(system).toContain('jsdom limitations');
118
+ expect(system).toContain('DataTransfer');
119
+ expect(system).toContain('scrollIntoView');
120
+ });
121
+ it('system prompt contains individual class testing rule', () => {
122
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
123
+ expect(system).toContain('Test Tailwind classes individually');
124
+ expect(system).toContain('toHaveClass');
125
+ });
126
+ it('system prompt contains mock composed components rule', () => {
127
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
128
+ expect(system).toContain('Mock composed components');
129
+ expect(system).toContain('vi.mock');
130
+ });
131
+ it('system prompt warns against spreading props in mocks', () => {
132
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
133
+ expect(system).toContain('Do NOT spread props');
134
+ });
135
+ it('system prompt warns page tests not to query mocked child elements', () => {
136
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
137
+ expect(system).toContain('expect.anything()');
138
+ });
139
+ it('system prompt requires mock.calls direct access for mock component prop assertions', () => {
140
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
141
+ expect(system).toContain('NEVER use `toHaveBeenCalledWith` — React passes `(props, ref)` where `ref` is `undefined`');
142
+ expect(system).toContain('MockChild.mock.calls[0]');
143
+ });
144
+ it('system prompt forbids @testing-library/dom import', () => {
145
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
146
+ expect(system).toContain('@testing-library/dom');
147
+ });
148
+ it('system prompt contains vi.mock hoisting rule', () => {
149
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
150
+ expect(system).toContain('hoisted');
151
+ });
152
+ it('system prompt contains semantic HTML role mapping rule', () => {
153
+ const { system } = buildTestPrompt({ componentName: 'Card', specDeltas, projectSection });
154
+ expect(system).toContain('`<section>` has role="region"');
155
+ });
87
156
  });
88
157
  describe('buildStoryPrompt', () => {
89
158
  it('system prompt covers CSF3 and story conventions', () => {
@@ -313,6 +382,64 @@ describe('prompt builders', () => {
313
382
  expect(result.prompt).toContain('## Component Code');
314
383
  expect(result.prompt).toContain('## Test Code');
315
384
  });
385
+ it('system prompt contains unresolvable import guidance', () => {
386
+ const result = buildTestFixPrompt({
387
+ componentCode: 'export function Card() {}',
388
+ testCode: 'test code',
389
+ failures: [],
390
+ testOutput: '',
391
+ });
392
+ expect(result.system).toContain('Unresolvable imports');
393
+ expect(result.system).toContain('Failed to resolve import');
394
+ });
395
+ it('system prompt contains missing UI component guidance', () => {
396
+ const result = buildTestFixPrompt({
397
+ componentCode: 'export function Card() {}',
398
+ testCode: 'test code',
399
+ failures: [],
400
+ testOutput: '',
401
+ });
402
+ expect(result.system).toContain('Missing UI component imports');
403
+ expect(result.system).toContain('@/components/ui');
404
+ });
405
+ it('system prompt contains vi.mock hoisting guidance', () => {
406
+ const result = buildTestFixPrompt({
407
+ componentCode: 'export function Card() {}',
408
+ testCode: 'test code',
409
+ failures: [],
410
+ testOutput: '',
411
+ });
412
+ expect(result.system).toContain('hoisted');
413
+ });
414
+ it('system prompt contains mock spy direct access fix guidance', () => {
415
+ const result = buildTestFixPrompt({
416
+ componentCode: 'export function Card() {}',
417
+ testCode: 'test code',
418
+ failures: [],
419
+ testOutput: '',
420
+ });
421
+ expect(result.system).toContain('replace `toHaveBeenCalledWith` with direct mock call access');
422
+ });
423
+ it('system prompt contains toHaveStyle replacement guidance', () => {
424
+ const result = buildTestFixPrompt({
425
+ componentCode: 'export function Card() {}',
426
+ testCode: 'test code',
427
+ failures: [],
428
+ testOutput: '',
429
+ });
430
+ expect(result.system).toContain('toHaveStyle()');
431
+ expect(result.system).toContain('toHaveClass');
432
+ });
433
+ it('system prompt contains ReferenceError mock import guidance', () => {
434
+ const result = buildTestFixPrompt({
435
+ componentCode: 'export function Card() {}',
436
+ testCode: 'test code',
437
+ failures: [],
438
+ testOutput: '',
439
+ });
440
+ expect(result.system).toContain('ReferenceError');
441
+ expect(result.system).toContain('Add the import after the `vi.mock` call');
442
+ });
316
443
  });
317
444
  describe('buildLintFixPrompt', () => {
318
445
  it('includes errors, component code, and test code', () => {
@@ -330,6 +457,22 @@ describe('prompt builders', () => {
330
457
  expect(result.prompt).toContain('## Test Code');
331
458
  expect(result.prompt).toContain('var y = 2');
332
459
  });
460
+ it('system prompt contains noArrayIndexKey guidance', () => {
461
+ const result = buildLintFixPrompt({
462
+ componentCode: 'const x = 1',
463
+ testCode: 'const y = 2',
464
+ errors: [],
465
+ });
466
+ expect(result.system).toContain('noArrayIndexKey');
467
+ });
468
+ it('system prompt covers derived keys like template literals in noArrayIndexKey guidance', () => {
469
+ const result = buildLintFixPrompt({
470
+ componentCode: 'const x = 1',
471
+ testCode: 'const y = 2',
472
+ errors: [],
473
+ });
474
+ expect(result.system).toContain('inside a template literal');
475
+ });
333
476
  });
334
477
  describe('buildStoryFixPrompt', () => {
335
478
  it('includes errors, story code, and component code as reference', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.test.js","sourceRoot":"","sources":["../../src/prompt.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.test.js","sourceRoot":"","sources":["../../src/prompt.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lint-runner.d.ts","sourceRoot":"","sources":["../../../src/tools/lint-runner.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAqB1E;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAqB7E"}
1
+ {"version":3,"file":"lint-runner.d.ts","sourceRoot":"","sources":["../../../src/tools/lint-runner.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAOF,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAqB1E;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAqB7E"}
@@ -1,7 +1,12 @@
1
1
  import { execSync } from 'node:child_process';
2
+ import path from 'node:path';
3
+ function biomeCmd(action, filePaths, targetDir) {
4
+ const configPath = path.resolve(targetDir, 'biome.json');
5
+ return `npx biome ${action} --config-path=${configPath} ${filePaths.join(' ')}`;
6
+ }
2
7
  export function runLint(filePaths, targetDir) {
3
8
  try {
4
- execSync(`npx biome check ${filePaths.join(' ')}`, {
9
+ execSync(biomeCmd('check', filePaths, targetDir), {
5
10
  cwd: targetDir,
6
11
  stdio: 'pipe',
7
12
  encoding: 'utf-8',
@@ -17,14 +22,14 @@ export function runLint(filePaths, targetDir) {
17
22
  if ('stderr' in err && typeof err.stderr === 'string')
18
23
  stderr = err.stderr;
19
24
  }
20
- const combined = stdout + '\n' + stderr;
25
+ const combined = `${stdout}\n${stderr}`;
21
26
  const errors = combined.split('\n').filter((line) => line.trim().length > 0);
22
27
  return { passed: false, errors };
23
28
  }
24
29
  }
25
30
  export function runLintFix(filePaths, targetDir) {
26
31
  try {
27
- execSync(`npx biome check --write ${filePaths.join(' ')}`, {
32
+ execSync(biomeCmd('check --write', filePaths, targetDir), {
28
33
  cwd: targetDir,
29
34
  stdio: 'pipe',
30
35
  encoding: 'utf-8',
@@ -40,7 +45,7 @@ export function runLintFix(filePaths, targetDir) {
40
45
  if ('stderr' in err && typeof err.stderr === 'string')
41
46
  stderr = err.stderr;
42
47
  }
43
- const combined = stdout + '\n' + stderr;
48
+ const combined = `${stdout}\n${stderr}`;
44
49
  const errors = combined.split('\n').filter((line) => line.trim().length > 0);
45
50
  return { passed: false, errors };
46
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lint-runner.js","sourceRoot":"","sources":["../../../src/tools/lint-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO9C,MAAM,UAAU,OAAO,CAAC,SAAmB,EAAE,SAAiB;IAC5D,IAAI,CAAC;QACH,QAAQ,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACjD,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC3E,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;QAExC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,SAAmB,EAAE,SAAiB;IAC/D,IAAI,CAAC;QACH,QAAQ,CAAC,2BAA2B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACzD,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC3E,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;QAExC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE7E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lint-runner.js","sourceRoot":"","sources":["../../../src/tools/lint-runner.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ describe('runLint', () => {
9
9
  vi.mocked(execSync).mockReturnValue('');
10
10
  const result = runLint(['src/Button.tsx'], '/project');
11
11
  expect(result).toEqual({ passed: true, errors: [] });
12
- expect(execSync).toHaveBeenCalledWith('npx biome check src/Button.tsx', {
12
+ expect(execSync).toHaveBeenCalledWith('npx biome check --config-path=/project/biome.json src/Button.tsx', {
13
13
  cwd: '/project',
14
14
  stdio: 'pipe',
15
15
  encoding: 'utf-8',
@@ -32,11 +32,7 @@ describe('runLint', () => {
32
32
  it('passes multiple file paths to biome', () => {
33
33
  vi.mocked(execSync).mockReturnValue('');
34
34
  runLint(['src/Button.tsx', 'src/Button.test.tsx'], '/project');
35
- expect(execSync).toHaveBeenCalledWith('npx biome check src/Button.tsx src/Button.test.tsx', {
36
- cwd: '/project',
37
- stdio: 'pipe',
38
- encoding: 'utf-8',
39
- });
35
+ expect(execSync).toHaveBeenCalledWith('npx biome check --config-path=/project/biome.json src/Button.tsx src/Button.test.tsx', { cwd: '/project', stdio: 'pipe', encoding: 'utf-8' });
40
36
  });
41
37
  });
42
38
  describe('runLintFix', () => {
@@ -44,7 +40,7 @@ describe('runLintFix', () => {
44
40
  vi.mocked(execSync).mockReturnValue('');
45
41
  const result = runLintFix(['src/Button.tsx'], '/project');
46
42
  expect(result).toEqual({ passed: true, errors: [] });
47
- expect(execSync).toHaveBeenCalledWith('npx biome check --write src/Button.tsx', {
43
+ expect(execSync).toHaveBeenCalledWith('npx biome check --write --config-path=/project/biome.json src/Button.tsx', {
48
44
  cwd: '/project',
49
45
  stdio: 'pipe',
50
46
  encoding: 'utf-8',
@@ -1 +1 @@
1
- {"version":3,"file":"lint-runner.test.js","sourceRoot":"","sources":["../../../src/tools/lint-runner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint-runner.test.js","sourceRoot":"","sources":["../../../src/tools/lint-runner.test.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export function runTests(testFilePath, targetDir) {
18
18
  if ('stderr' in err && typeof err.stderr === 'string')
19
19
  stderr = err.stderr;
20
20
  }
21
- const combined = stdout + '\n' + stderr;
21
+ const combined = `${stdout}\n${stderr}`;
22
22
  const parsed = parseVitestJson(combined);
23
23
  return parsed;
24
24
  }
@@ -31,7 +31,7 @@ function parseVitestJson(output) {
31
31
  numPassed: 0,
32
32
  numFailed: 0,
33
33
  failures: [],
34
- output: output.slice(0, 2000),
34
+ output: output.slice(0, 4000),
35
35
  };
36
36
  }
37
37
  try {
@@ -52,13 +52,17 @@ function parseVitestJson(output) {
52
52
  failures.push(`${name}: ${message}`);
53
53
  }
54
54
  }
55
+ if (suite.status === 'failed' && suite.message && failures.length === 0) {
56
+ failures.push(`Suite error: ${suite.message}`);
57
+ numFailed++;
58
+ }
55
59
  }
56
60
  return {
57
61
  passed: numFailed === 0 && numPassed > 0,
58
62
  numPassed,
59
63
  numFailed,
60
64
  failures,
61
- output: output.slice(0, 2000),
65
+ output: output.slice(0, 4000),
62
66
  };
63
67
  }
64
68
  catch {
@@ -67,7 +71,7 @@ function parseVitestJson(output) {
67
71
  numPassed: 0,
68
72
  numFailed: 0,
69
73
  failures: [],
70
- output: output.slice(0, 2000),
74
+ output: output.slice(0, 4000),
71
75
  };
72
76
  }
73
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../../../src/tools/test-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAU9C,MAAM,UAAU,QAAQ,CAAC,YAAoB,EAAE,SAAiB;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,kCAAkC,YAAY,EAAE,EAAE;YACxE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC3E,IAAI,QAAQ,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;QAExC,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAE3C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC7B,SAAS,EAAE,CAAC;gBACd,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACpC,SAAS,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;oBAC3D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxD,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,SAAS,KAAK,CAAC,IAAI,SAAS,GAAG,CAAC;YACxC,SAAS;YACT,SAAS;YACT,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;SAC9B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;SAC9B,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../../../src/tools/test-runner.ts"],"names":[],"mappings":"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"}