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.
- package/README-CN.md +157 -105
- package/README.md +160 -244
- package/bin/create-harness-vibe-coding.js +2 -2
- package/docs/images/harness-architecture-light.png +0 -0
- package/docs/images/harness-architecture.drawio +164 -0
- package/package.json +46 -44
- package/src/generator.js +30 -11
- package/src/index.js +143 -14
- package/src/prompts.js +37 -37
- package/templates/common/.claude/agents/architect-manager.md +45 -45
- package/templates/common/.claude/agents/context-master.md +75 -75
- package/templates/common/.claude/agents/debugger.md +41 -41
- package/templates/common/.claude/agents/explore-manager.md +41 -41
- package/templates/common/.claude/agents/implement-manager.md +49 -49
- package/templates/common/.claude/agents/implementer.md +40 -40
- package/templates/common/.claude/agents/memory-master.md +64 -64
- package/templates/common/.claude/agents/planner.md +34 -34
- package/templates/common/.claude/agents/reflector.md +35 -0
- package/templates/common/.claude/agents/researcher.md +41 -41
- package/templates/common/.claude/agents/review-manager.md +56 -56
- package/templates/common/.claude/agents/verifier.md +34 -32
- package/templates/common/.claude/commands/wf-help.md +2 -3
- package/templates/common/.claude/rules/ecc/common.md +44 -44
- package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +10 -4
- package/templates/common/.claude/skills/wf/SKILL.md +7 -3
- package/templates/common/.claude/skills/wf-auto/SKILL.md +61 -107
- package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +19 -17
- package/templates/common/.claude/skills/wf-max/SKILL.md +40 -21
- package/templates/common/.claude/skills/wf-readme/SKILL.md +49 -49
- package/templates/common/.claude/skills/wf-remove/SKILL.md +7 -7
- package/templates/common/.claude/skills/wf-update/SKILL.md +9 -4
- package/templates/common/.codex/config.toml +5 -0
- package/templates/common/.harness-version +78 -36
- package/templates/common/.opencode/agents/architect-manager.md +52 -0
- package/templates/common/.opencode/agents/architect.md +35 -0
- package/templates/common/.opencode/agents/context-master.md +81 -0
- package/templates/common/.opencode/agents/debugger.md +43 -0
- package/templates/common/.opencode/agents/docs-researcher.md +42 -0
- package/templates/common/.opencode/agents/explore-manager.md +49 -0
- package/templates/common/.opencode/agents/implement-manager.md +56 -0
- package/templates/common/.opencode/agents/implementer.md +42 -0
- package/templates/common/.opencode/agents/memory-master.md +70 -0
- package/templates/common/.opencode/agents/planner.md +38 -0
- package/templates/common/.opencode/agents/reflector.md +39 -0
- package/templates/common/.opencode/agents/researcher.md +42 -0
- package/templates/common/.opencode/agents/review-manager.md +63 -0
- package/templates/common/.opencode/agents/reviewer.md +37 -0
- package/templates/common/.opencode/agents/tdd-guide.md +83 -0
- package/templates/common/.opencode/agents/test-writer.md +54 -0
- package/templates/common/.opencode/agents/verifier.md +37 -0
- package/templates/common/.opencode/commands/wf-help.md +23 -0
- package/templates/common/AGENTS.md +26 -25
- package/templates/common/CLAUDE.md +86 -88
- package/templates/common/Harness/ACCEPTANCE_PROTOCOL.md +12 -4
- package/templates/common/Harness/PROGRESS.md +17 -17
- package/templates/common/Harness/README.md +26 -16
- package/templates/common/Harness/WF-AUTO-ANGLES.md +170 -0
- package/templates/common/Harness/WF-AUTO-SPARK.md +23 -6
- package/templates/common/Harness/WF-AUTO.md +508 -493
- package/templates/common/Harness/WF-MAX.md +284 -232
- package/templates/common/Harness/WF.md +47 -29
- package/templates/common/Harness/agent-workflow.md +108 -76
- package/templates/common/Harness/architecture.md +124 -124
- package/templates/common/Harness/context-loading.md +111 -111
- package/templates/common/Harness/dispatch.md +96 -95
- package/templates/common/Harness/extension.md +67 -67
- package/templates/common/Harness/lifecycle.md +20 -20
- package/templates/common/Harness/research/PRD.md +56 -56
- package/templates/common/Harness/research/README.md +169 -169
- package/templates/common/Harness/research/research-results.md +66 -66
- package/templates/common/Harness/subagents.md +192 -170
- package/templates/common/Harness/tasks/_template/ARTIFACTS.md +3 -3
- package/templates/common/Harness/tasks/_template/NOTES.md +3 -3
- package/templates/common/Harness/tasks/_template/PLAN.md +53 -60
- package/templates/common/Harness/tasks/_template/PROGRESS.md +26 -29
- package/templates/common/MEMORY.md +27 -30
- package/templates/common/README.md +36 -36
- package/templates/common/SETUP.md +1 -1
- package/templates/common/memory/agent-lessons-patterns.md +21 -21
- package/templates/common/memory/tool-usage-reflections.md +21 -21
- package/templates/common/memory/user-corrections-preferences.md +21 -21
- package/templates/common/opencode.json +19 -0
- package/templates/common/scripts/scan-clean.mjs +487 -448
- package/templates/common/scripts/validate-harness.mjs +245 -146
- package/templates/common/scripts/wf-remove.mjs +311 -293
- package/templates/common/scripts/wf-update-check.mjs +511 -311
- package/templates/optional/catalog.json +41 -33
- package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -194
- package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +105 -69
- package/templates/optional/skills/github-pr-review/Harness/workflows/github-pr-review.md +28 -28
- package/templates/optional/skills/python-backend/Harness/workflows/python-backend.md +34 -34
- package/templates/optional/skills/ts-react-frontend/Harness/workflows/ts-react-frontend.md +34 -34
- 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**
|
|
17
|
-
2. **CLI mode is preferred for deterministic steps**
|
|
18
|
-
3. **Agent mode is for dynamic exploration**
|
|
19
|
-
4. **Evidence goes to the task directory**
|
|
20
|
-
|
|
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"
|
|
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
|
|
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.
|