create-harness-vibe-coding 0.8.6 → 0.8.8

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 (93) hide show
  1. package/README-CN.md +157 -105
  2. package/README.md +160 -244
  3. package/bin/create-harness-vibe-coding.js +2 -2
  4. package/docs/images/harness-architecture-light.png +0 -0
  5. package/docs/images/harness-architecture.drawio +164 -0
  6. package/package.json +46 -44
  7. package/src/generator.js +30 -11
  8. package/src/index.js +143 -14
  9. package/src/prompts.js +37 -37
  10. package/templates/common/.claude/agents/architect-manager.md +45 -45
  11. package/templates/common/.claude/agents/context-master.md +75 -75
  12. package/templates/common/.claude/agents/debugger.md +41 -41
  13. package/templates/common/.claude/agents/explore-manager.md +41 -41
  14. package/templates/common/.claude/agents/implement-manager.md +49 -49
  15. package/templates/common/.claude/agents/implementer.md +40 -40
  16. package/templates/common/.claude/agents/memory-master.md +64 -64
  17. package/templates/common/.claude/agents/planner.md +34 -34
  18. package/templates/common/.claude/agents/reflector.md +35 -0
  19. package/templates/common/.claude/agents/researcher.md +41 -41
  20. package/templates/common/.claude/agents/review-manager.md +56 -56
  21. package/templates/common/.claude/agents/verifier.md +34 -32
  22. package/templates/common/.claude/commands/wf-help.md +2 -3
  23. package/templates/common/.claude/rules/ecc/common.md +44 -44
  24. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +10 -4
  25. package/templates/common/.claude/skills/wf/SKILL.md +7 -3
  26. package/templates/common/.claude/skills/wf-auto/SKILL.md +61 -107
  27. package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +19 -17
  28. package/templates/common/.claude/skills/wf-max/SKILL.md +40 -21
  29. package/templates/common/.claude/skills/wf-readme/SKILL.md +49 -49
  30. package/templates/common/.claude/skills/wf-remove/SKILL.md +7 -7
  31. package/templates/common/.claude/skills/wf-update/SKILL.md +9 -4
  32. package/templates/common/.codex/config.toml +5 -0
  33. package/templates/common/.harness-version +78 -36
  34. package/templates/common/.opencode/agents/architect-manager.md +52 -0
  35. package/templates/common/.opencode/agents/architect.md +35 -0
  36. package/templates/common/.opencode/agents/context-master.md +81 -0
  37. package/templates/common/.opencode/agents/debugger.md +43 -0
  38. package/templates/common/.opencode/agents/docs-researcher.md +42 -0
  39. package/templates/common/.opencode/agents/explore-manager.md +49 -0
  40. package/templates/common/.opencode/agents/implement-manager.md +56 -0
  41. package/templates/common/.opencode/agents/implementer.md +42 -0
  42. package/templates/common/.opencode/agents/memory-master.md +70 -0
  43. package/templates/common/.opencode/agents/planner.md +38 -0
  44. package/templates/common/.opencode/agents/reflector.md +39 -0
  45. package/templates/common/.opencode/agents/researcher.md +42 -0
  46. package/templates/common/.opencode/agents/review-manager.md +63 -0
  47. package/templates/common/.opencode/agents/reviewer.md +37 -0
  48. package/templates/common/.opencode/agents/tdd-guide.md +83 -0
  49. package/templates/common/.opencode/agents/test-writer.md +54 -0
  50. package/templates/common/.opencode/agents/verifier.md +37 -0
  51. package/templates/common/.opencode/commands/wf-help.md +23 -0
  52. package/templates/common/AGENTS.md +26 -25
  53. package/templates/common/CLAUDE.md +86 -88
  54. package/templates/common/Harness/ACCEPTANCE_PROTOCOL.md +12 -4
  55. package/templates/common/Harness/PROGRESS.md +17 -17
  56. package/templates/common/Harness/README.md +26 -16
  57. package/templates/common/Harness/WF-AUTO-ANGLES.md +170 -0
  58. package/templates/common/Harness/WF-AUTO-SPARK.md +23 -6
  59. package/templates/common/Harness/WF-AUTO.md +508 -493
  60. package/templates/common/Harness/WF-MAX.md +284 -232
  61. package/templates/common/Harness/WF.md +47 -29
  62. package/templates/common/Harness/agent-workflow.md +108 -76
  63. package/templates/common/Harness/architecture.md +124 -124
  64. package/templates/common/Harness/context-loading.md +111 -111
  65. package/templates/common/Harness/dispatch.md +96 -95
  66. package/templates/common/Harness/extension.md +67 -67
  67. package/templates/common/Harness/lifecycle.md +20 -20
  68. package/templates/common/Harness/research/PRD.md +56 -56
  69. package/templates/common/Harness/research/README.md +169 -169
  70. package/templates/common/Harness/research/research-results.md +66 -66
  71. package/templates/common/Harness/subagents.md +192 -170
  72. package/templates/common/Harness/tasks/_template/ARTIFACTS.md +3 -3
  73. package/templates/common/Harness/tasks/_template/NOTES.md +3 -3
  74. package/templates/common/Harness/tasks/_template/PLAN.md +53 -60
  75. package/templates/common/Harness/tasks/_template/PROGRESS.md +26 -29
  76. package/templates/common/MEMORY.md +27 -30
  77. package/templates/common/README.md +36 -36
  78. package/templates/common/SETUP.md +1 -1
  79. package/templates/common/memory/agent-lessons-patterns.md +21 -21
  80. package/templates/common/memory/tool-usage-reflections.md +21 -21
  81. package/templates/common/memory/user-corrections-preferences.md +21 -21
  82. package/templates/common/opencode.json +19 -0
  83. package/templates/common/scripts/scan-clean.mjs +487 -448
  84. package/templates/common/scripts/validate-harness.mjs +245 -146
  85. package/templates/common/scripts/wf-remove.mjs +311 -293
  86. package/templates/common/scripts/wf-update-check.mjs +511 -311
  87. package/templates/optional/catalog.json +41 -33
  88. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -194
  89. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +105 -69
  90. package/templates/optional/skills/github-pr-review/Harness/workflows/github-pr-review.md +28 -28
  91. package/templates/optional/skills/python-backend/Harness/workflows/python-backend.md +34 -34
  92. package/templates/optional/skills/ts-react-frontend/Harness/workflows/ts-react-frontend.md +34 -34
  93. package/templates/optional/skills/ui-ux-review/Harness/workflows/ui-ux-review.md +26 -26
@@ -1,35 +1,23 @@
1
- # Browser E2E Workflow
2
-
3
- Optional workflow for browser-visible testing and automation. Installed when `browser-use` CLI is available.
4
-
5
- ## When Active
6
-
7
- This workflow is active when:
8
- 1. `browser-use` CLI is installed and `browser-use doctor` passes
9
- 2. `Harness/workflows/browser-e2e.md` exists (this file)
1
+ # Browser E2E Workflow
2
+
3
+ Optional workflow for browser-visible testing and automation. Installed when `browser-use` CLI is available.
4
+
5
+ ## When Active
6
+
7
+ This workflow is active when:
8
+ 1. `browser-use` CLI is installed and `browser-use doctor` passes
9
+ 2. `Harness/workflows/browser-e2e.md` exists (this file)
10
10
  3. A task explicitly references `/wf-browser`, `$wf-browser`, or browser E2E testing
11
-
12
- ## Contract
13
-
14
- Browser evidence in this project follows the contract:
15
-
16
- 1. **Every browser claim needs real-browser evidence** screenshot, state snapshot, or console output
17
- 2. **CLI mode is preferred for deterministic steps** use `browser-use open/state/click/screenshot` for predictable flows
18
- 3. **Agent mode is for dynamic exploration** use Browser Use Agent API when the page structure is unknown or changing
19
- 4. **Evidence goes to the task directory** `Harness/tasks/<task-id>/evidence/*.png`
20
- 5. **Stable UI selector contract** — Stable accessible labels/roles and stable test selectors such as `data-testid` are required for critical UI controls and states: inputs, buttons, filters, rows, empty/error/loading states.
21
-
22
- ## Chrome DevTools / CDP / MCP Checklist
23
-
24
- - [ ] record the URL and port
25
- - [ ] Verify available CDP, MCP, browser automation, or manual tooling
26
- - [ ] Check not just HTTP 200
27
- - [ ] Verify no runtime exceptions, console errors, and failed network requests
28
- - [ ] Confirm stable accessible labels/roles or `data-testid` on interactive elements
29
- - [ ] Test critical flow end-to-end
30
- - [ ] Capture screenshot, trace, video, or result artifact paths
31
- - [ ] Clean up any dev server or browser processes
32
-
11
+
12
+ ## Contract
13
+
14
+ Browser evidence in this project follows the contract:
15
+
16
+ 1. **Every browser claim needs real-browser evidence** - screenshot, state snapshot, or console output
17
+ 2. **CLI mode is preferred for deterministic steps** - use `browser-use open/state/click/screenshot` for predictable flows
18
+ 3. **Agent mode is for dynamic exploration** - use Browser Use Agent API when the page structure is unknown or changing
19
+ 4. **Evidence goes to the task directory** - `Harness/tasks/<task-id>/evidence/*.png`
20
+
33
21
  ### Harness Bridge
34
22
 
35
23
  For frontend-backend flows, use `Harness/HARNESS_BRIDGE.md` to validate UI
@@ -37,47 +25,95 @@ selectors, API payloads, seeded data, runtime state probes, and CDP/network
37
25
  traces. Browser validation must produce an AC-by-AC result matrix when the task
38
26
  has acceptance criteria.
39
27
 
28
+ ### Stable UI Selector Contract
29
+
30
+ All browser automation and E2E tests in this project use a stable selector contract. Selectors must be written against **public, stable attributes** that survive refactors, not against ephemeral class names or DOM indices.
31
+
32
+ **Required selector priority (most stable first):**
33
+
34
+ 1. **`data-testid`** - the primary stable anchor for automated tests
35
+ 2. **accessible labels/roles** - `getByRole`, `getByLabelText`, `getByPlaceholderText` (ARIA roles, `<label>` associations, placeholder text)
36
+ 3. **Text content** - `getByText` for visible user-facing strings
37
+
38
+ **Required coverage targets.** Every interactive page tested by browser automation must cover: inputs, buttons, filters, rows, empty/error/loading states.
39
+
40
+ | Category | Examples |
41
+ |---|---|
42
+ | **Inputs** | text fields, textareas, selects, checkboxes, radios, file uploads |
43
+ | **Buttons** | submit buttons, icon-only buttons, toggle buttons, CTA buttons |
44
+ | **Filters** | search inputs, dropdown filters, date range pickers, filter chips/tags |
45
+ | **Rows** | table rows, list items, card containers - the repeating data unit |
46
+ | **Empty state** | "no results" message, empty illustration, zero-state CTA |
47
+ | **Error state** | inline validation errors, toast notifications, server error banners |
48
+ | **Loading state** | spinners, skeletons, progress bars, "Loading..." text |
49
+
50
+ **Selector format examples:**
51
+
52
+ ```
53
+ data-testid="search-input"
54
+ data-testid="submit-btn"
55
+ data-testid="filter-status"
56
+ data-testid="result-row"
57
+ data-testid="empty-state"
58
+ data-testid="error-banner"
59
+ data-testid="loading-spinner"
60
+ ```
61
+
62
+ **Rationale:** `data-testid` attributes are decoupled from styling and layout - they survive CSS refactors, component renames, and DOM restructuring. Accessible labels and roles are the fallback when `data-testid` is not available, and they double as a11y coverage. Class-name and XPath selectors are not accepted in test automation because they break on cosmetic changes.
63
+
64
+ ## Chrome DevTools / CDP / MCP Checklist
65
+
66
+ - [ ] record the URL and port
67
+ - [ ] Verify available CDP, MCP, browser automation, or manual tooling
68
+ - [ ] Check not just HTTP 200
69
+ - [ ] Verify no runtime exceptions, console errors, and failed network requests
70
+ - [ ] Confirm stable accessible labels/roles or `data-testid` on interactive elements
71
+ - [ ] Test critical flow end-to-end
72
+ - [ ] Capture screenshot, trace, video, or result artifact paths
73
+ - [ ] Produce an AC-by-AC validation matrix
74
+ - [ ] Clean up any dev server or browser processes
75
+
40
76
  ## Quick Install
41
-
42
- ```bash
43
- # One-time setup
44
- pip install "browser-use[cli]"
45
- browser-use install
46
- browser-use doctor
47
-
48
- # Windows: if you see GBK encoding errors, set:
49
- set PYTHONIOENCODING=utf-8
50
-
51
- # Verify
52
- browser-use open https://example.com
53
- browser-use state
54
- browser-use screenshot test.png
55
- browser-use close
56
- ```
57
-
58
- ## Fallback
59
-
60
- If `browser-use` is not installed, fall back to:
61
-
62
- 1. Playwright/Puppeteer MCP server (if configured)
63
- 2. Chrome DevTools Protocol (CDP) manual inspection
64
- 3. `Harness/WF.md#Browser And API Evidence` manual check contract
65
-
66
- ## Integration Points
67
-
77
+
78
+ ```bash
79
+ # One-time setup
80
+ pip install "browser-use[cli]"
81
+ browser-use install
82
+ browser-use doctor
83
+
84
+ # Windows: if you see GBK encoding errors, set:
85
+ set PYTHONIOENCODING=utf-8
86
+
87
+ # Verify
88
+ browser-use open https://example.com
89
+ browser-use state
90
+ browser-use screenshot test.png
91
+ browser-use close
92
+ ```
93
+
94
+ ## Fallback
95
+
96
+ If `browser-use` is not installed, fall back to:
97
+
98
+ 1. Playwright/Puppeteer MCP server (if configured)
99
+ 2. Chrome DevTools Protocol (CDP) manual inspection
100
+ 3. `Harness/WF.md#Browser And API Evidence` manual check contract
101
+
102
+ ## Integration Points
103
+
68
104
  - **WF mode**: when browser-visible changes are made, follow the evidence contract in `Harness/WF.md#Browser And API Evidence`
69
105
  - **Harness Bridge**: use `Harness/HARNESS_BRIDGE.md` for UI contract, API contract, seeded test data, runtime state probes, and network trace collection.
70
106
  - **wf-browser**: Claude Code uses `.claude/skills/wf-browser/SKILL.md`; Codex uses `.agents/skills/wf-browser/SKILL.md`. Both load this workflow.
71
- - **MEMORY.md**: registered as optional workflow skill
72
- - **README.md**: routing table row "Browser E2E testing or automation" browser-e2e
73
-
74
- ## File Locations
75
-
76
- | File | Purpose |
77
- |------|---------|
107
+ - **MEMORY.md**: registered as optional workflow skill
108
+ - **README.md**: routing table row "Browser E2E testing or automation" -> browser-e2e
109
+
110
+ ## File Locations
111
+
112
+ | File | Purpose |
113
+ |------|---------|
78
114
  | `.claude/skills/wf-browser/SKILL.md` | Claude Code skill adapter |
79
115
  | `.agents/skills/wf-browser/SKILL.md` | Codex repo skill adapter |
80
- | `Harness/workflows/browser-e2e.md` | This file workflow contract and install guide |
81
- | `~/.claude/skills/browser-use/SKILL.md` | Official Browser Use skill (user-level, auto-downloaded) |
82
- | `pip show browser-use \| findstr Location` | Python package install location (run to find) |
83
- | `~/.browser-use/` | Daemon state and browser profiles |
116
+ | `Harness/workflows/browser-e2e.md` | This file - workflow contract and install guide |
117
+ | `~/.claude/skills/browser-use/SKILL.md` | Official Browser Use skill (user-level, auto-downloaded) |
118
+ | `pip show browser-use \| findstr Location` | Python package install location (run to find) |
119
+ | `~/.browser-use/` | Daemon state and browser profiles |
@@ -1,28 +1,28 @@
1
- # GitHub PR Review Workflow
2
-
3
- ## Required Evidence
4
-
5
- - PR URL or number and base/head refs.
6
- - Diff or changed-file summary.
7
- - CI/check status and relevant failing logs.
8
- - Review findings with exact file and line references when available.
9
-
10
- ## Common Commands
11
-
12
- ```powershell
13
- gh pr view --web
14
- gh pr view --json number,title,baseRefName,headRefName,mergeStateStatus,statusCheckRollup
15
- gh pr diff
16
- git diff --stat
17
- npm test
18
- ```
19
-
20
- Use repository-specific test commands when they differ from npm.
21
-
22
- ## Fallback
23
-
24
- If `gh` is unavailable or unauthenticated, use local git refs, remote URLs, and `git diff` against the target branch. Ask for missing PR context only when it cannot be inferred.
25
-
26
- ## Windows Notes
27
-
28
- Quote branch names containing special characters. In PowerShell, pipe JSON output to tools that are available locally, or read it directly if `jq` is not installed.
1
+ # GitHub PR Review Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - PR URL or number and base/head refs.
6
+ - Diff or changed-file summary.
7
+ - CI/check status and relevant failing logs.
8
+ - Review findings with exact file and line references when available.
9
+
10
+ ## Common Commands
11
+
12
+ ```powershell
13
+ gh pr view --web
14
+ gh pr view --json number,title,baseRefName,headRefName,mergeStateStatus,statusCheckRollup
15
+ gh pr diff
16
+ git diff --stat
17
+ npm test
18
+ ```
19
+
20
+ Use repository-specific test commands when they differ from npm.
21
+
22
+ ## Fallback
23
+
24
+ If `gh` is unavailable or unauthenticated, use local git refs, remote URLs, and `git diff` against the target branch. Ask for missing PR context only when it cannot be inferred.
25
+
26
+ ## Windows Notes
27
+
28
+ Quote branch names containing special characters. In PowerShell, pipe JSON output to tools that are available locally, or read it directly if `jq` is not installed.
@@ -1,34 +1,34 @@
1
- # Python Backend Workflow
2
-
3
- ## Required Evidence
4
-
5
- - Python executable, version, and dependency manager detected.
6
- - Unit/integration test command and result.
7
- - API smoke evidence for changed endpoints when applicable.
8
- - Migration, fixture, or environment assumptions.
9
-
10
- ## Common Commands
11
-
12
- ```powershell
13
- python --version
14
- py --version
15
- python3 --version
16
- python -m unittest discover -s tests
17
- py -m unittest discover -s tests
18
- python3 -m unittest discover -s tests
19
- python -m pytest
20
- python -m pytest tests
21
- uv run pytest
22
- poetry run pytest
23
- python -m uvicorn app.main:app --reload
24
- ```
25
-
26
- Prefer commands already documented by the project. When no project-specific command is documented, detect an available Python executable in the current shell (`python`, then `py`, then `python3`) and run the matching `-m unittest discover -s tests` or pytest command. `unittest` is first-class for standard-library test suites; do not require pytest when the project already uses unittest.
27
-
28
- ## Fallback
29
-
30
- If unittest, pytest, or the app runner is unavailable, run targeted Python modules, import checks, or framework-specific tests that already exist. Do not create or install a new backend stack without approval.
31
-
32
- ## Windows Notes
33
-
34
- Virtual environment activation is usually `.\\.venv\\Scripts\\Activate.ps1`. If script execution is blocked, use the environment's Python executable directly, for example `.\\.venv\\Scripts\\python.exe -m unittest discover -s tests` or `.\\.venv\\Scripts\\python.exe -m pytest`.
1
+ # Python Backend Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - Python executable, version, and dependency manager detected.
6
+ - Unit/integration test command and result.
7
+ - API smoke evidence for changed endpoints when applicable.
8
+ - Migration, fixture, or environment assumptions.
9
+
10
+ ## Common Commands
11
+
12
+ ```powershell
13
+ python --version
14
+ py --version
15
+ python3 --version
16
+ python -m unittest discover -s tests
17
+ py -m unittest discover -s tests
18
+ python3 -m unittest discover -s tests
19
+ python -m pytest
20
+ python -m pytest tests
21
+ uv run pytest
22
+ poetry run pytest
23
+ python -m uvicorn app.main:app --reload
24
+ ```
25
+
26
+ Prefer commands already documented by the project. When no project-specific command is documented, detect an available Python executable in the current shell (`python`, then `py`, then `python3`) and run the matching `-m unittest discover -s tests` or pytest command. `unittest` is first-class for standard-library test suites; do not require pytest when the project already uses unittest.
27
+
28
+ ## Fallback
29
+
30
+ If unittest, pytest, or the app runner is unavailable, run targeted Python modules, import checks, or framework-specific tests that already exist. Do not create or install a new backend stack without approval.
31
+
32
+ ## Windows Notes
33
+
34
+ Virtual environment activation is usually `.\\.venv\\Scripts\\Activate.ps1`. If script execution is blocked, use the environment's Python executable directly, for example `.\\.venv\\Scripts\\python.exe -m unittest discover -s tests` or `.\\.venv\\Scripts\\python.exe -m pytest`.
@@ -1,35 +1,35 @@
1
- # TypeScript React Frontend Workflow
2
-
3
- ## Required Evidence
4
-
5
- - Package manager and scripts detected.
6
- - Typecheck, lint, test, or build results according to project conventions.
7
- - Real-browser smoke or screenshot evidence for user-visible changes.
8
- - Console/runtime error check result for the changed screen or flow.
9
- - Notes on responsive behavior and important interaction states.
1
+ # TypeScript React Frontend Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - Package manager and scripts detected.
6
+ - Typecheck, lint, test, or build results according to project conventions.
7
+ - Real-browser smoke or screenshot evidence for user-visible changes.
8
+ - Console/runtime error check result for the changed screen or flow.
9
+ - Notes on responsive behavior and important interaction states.
10
10
  - Stable accessible labels/roles and stable test selectors such as `data-testid` are required for critical UI controls and states: inputs, buttons, filters, rows, empty/error/loading states.
11
-
12
- Typecheck, build, and unit tests are necessary signals but are not enough for user-visible React changes. Before claiming UI acceptance, load the app in a real browser by Playwright, Chrome DevTools/CDP, or a documented manual run and capture screenshot/trace/console evidence.
13
- For TS/React UI work, capture the selector contract in the feature doc before implementation so tests and manual checks can target stable selectors instead of component internals or brittle DOM paths.
14
-
15
- ## Common Commands
16
-
17
- ```powershell
18
- npm run typecheck
19
- npm run lint
20
- npm test
21
- npm run build
22
- npm run dev
23
- pnpm test
24
- yarn test
25
- ```
26
-
27
- Use the package manager and scripts already present in the repository.
28
-
29
- ## Fallback
30
-
31
- If no formal checks exist, run the closest available build or dev command, inspect the changed UI manually, and document the missing automation. Do not add dependencies unless the task requires it and the user approves.
32
-
33
- ## Windows Notes
34
-
35
- Use PowerShell syntax for environment variables: `$env:VITE_API_URL='http://localhost:8000'; npm run dev`. Quote paths and prefer package scripts over shell-specific command chains.
11
+
12
+ Typecheck, build, and unit tests are necessary signals but are not enough for user-visible React changes. Before claiming UI acceptance, load the app in a real browser by Playwright, Chrome DevTools/CDP, or a documented manual run and capture screenshot/trace/console evidence.
13
+ For TS/React UI work, capture the selector contract in the feature doc before implementation so tests and manual checks can target stable selectors instead of component internals or brittle DOM paths.
14
+
15
+ ## Common Commands
16
+
17
+ ```powershell
18
+ npm run typecheck
19
+ npm run lint
20
+ npm test
21
+ npm run build
22
+ npm run dev
23
+ pnpm test
24
+ yarn test
25
+ ```
26
+
27
+ Use the package manager and scripts already present in the repository.
28
+
29
+ ## Fallback
30
+
31
+ If no formal checks exist, run the closest available build or dev command, inspect the changed UI manually, and document the missing automation. Do not add dependencies unless the task requires it and the user approves.
32
+
33
+ ## Windows Notes
34
+
35
+ Use PowerShell syntax for environment variables: `$env:VITE_API_URL='http://localhost:8000'; npm run dev`. Quote paths and prefer package scripts over shell-specific command chains.
@@ -1,26 +1,26 @@
1
- # UI/UX Review Workflow
2
-
3
- ## Required Evidence
4
-
5
- - Screenshots for desktop and mobile views.
6
- - Notes on layout, typography, interaction states, accessibility, and empty/loading/error states.
7
- - Any automated accessibility, lint, or visual test output available in the project.
8
-
9
- ## Common Commands
10
-
11
- ```powershell
12
- npm run dev
13
- npm run lint
14
- npm run test
15
- npx playwright test
16
- ```
17
-
18
- Use the project's existing commands first. Browser screenshots may come from Playwright, CDP, framework tooling, or manual capture.
19
-
20
- ## Fallback
21
-
22
- When automation is unavailable, inspect the running UI manually at representative viewport sizes and document findings with screenshots. Avoid adding design or test dependencies without approval.
23
-
24
- ## Windows Notes
25
-
26
- PowerShell does not support POSIX inline environment variables. Use `$env:NAME='value'; command` and quote screenshot paths with spaces.
1
+ # UI/UX Review Workflow
2
+
3
+ ## Required Evidence
4
+
5
+ - Screenshots for desktop and mobile views.
6
+ - Notes on layout, typography, interaction states, accessibility, and empty/loading/error states.
7
+ - Any automated accessibility, lint, or visual test output available in the project.
8
+
9
+ ## Common Commands
10
+
11
+ ```powershell
12
+ npm run dev
13
+ npm run lint
14
+ npm run test
15
+ npx playwright test
16
+ ```
17
+
18
+ Use the project's existing commands first. Browser screenshots may come from Playwright, CDP, framework tooling, or manual capture.
19
+
20
+ ## Fallback
21
+
22
+ When automation is unavailable, inspect the running UI manually at representative viewport sizes and document findings with screenshots. Avoid adding design or test dependencies without approval.
23
+
24
+ ## Windows Notes
25
+
26
+ PowerShell does not support POSIX inline environment variables. Use `$env:NAME='value'; command` and quote screenshot paths with spaces.