create-harness-vibe-coding 0.1.10 → 0.2.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 (49) hide show
  1. package/README.md +86 -35
  2. package/package.json +1 -1
  3. package/src/generator.js +72 -12
  4. package/src/index.js +30 -11
  5. package/templates/common/.claude/agents/architect.md +4 -4
  6. package/templates/common/.claude/agents/debugger.md +1 -1
  7. package/templates/common/.claude/agents/docs-researcher.md +4 -4
  8. package/templates/common/.claude/agents/implementer.md +1 -1
  9. package/templates/common/.claude/agents/planner.md +3 -3
  10. package/templates/common/.claude/agents/researcher.md +4 -4
  11. package/templates/common/.claude/agents/reviewer.md +1 -1
  12. package/templates/common/.claude/agents/test-writer.md +2 -2
  13. package/templates/common/.claude/agents/verifier.md +1 -1
  14. package/templates/common/.claude/commands/wf.md +18 -0
  15. package/templates/common/.claude/rules/ecc/common.md +11 -10
  16. package/templates/common/.claude/skills/harness-build-loop/SKILL.md +4 -3
  17. package/templates/common/.claude/skills/harness-context/SKILL.md +4 -3
  18. package/templates/common/.claude/skills/harness-lifecycle/SKILL.md +3 -3
  19. package/templates/common/.claude/skills/harness-research/SKILL.md +4 -4
  20. package/templates/common/.claude/skills/harness-router/SKILL.md +7 -5
  21. package/templates/common/.claude/skills/readme-optimizer/SKILL.md +48 -0
  22. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +36 -0
  23. package/templates/common/.claude/skills/wf-mode/SKILL.md +48 -0
  24. package/templates/common/AGENTS.md +2 -2
  25. package/templates/common/CLAUDE.md +39 -73
  26. package/templates/common/MEMORY.md +32 -27
  27. package/templates/common/README.md +41 -0
  28. package/templates/common/SETUP.md +95 -72
  29. package/templates/common/docs/README.md +71 -54
  30. package/templates/common/docs/domain/ports.md +1 -1
  31. package/templates/common/docs/features/_template.md +10 -10
  32. package/templates/common/docs/harness/PLAN.md +25 -2
  33. package/templates/common/docs/harness/WF.md +136 -0
  34. package/templates/common/docs/harness/agent-workflow.md +8 -8
  35. package/templates/common/docs/harness/context-loading.md +16 -16
  36. package/templates/common/docs/harness/data-flow.md +1 -1
  37. package/templates/common/docs/harness/dispatch.md +5 -2
  38. package/templates/common/docs/harness/extension.md +14 -14
  39. package/templates/common/docs/harness/lifecycle.md +2 -2
  40. package/templates/common/docs/harness/subagents.md +140 -0
  41. package/templates/common/docs/research/PRD.md +1 -1
  42. package/templates/common/docs/research/README.md +5 -5
  43. package/templates/common/scripts/validate-harness.mjs +131 -56
  44. package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +5 -5
  45. package/templates/optional/skills/browser-e2e/docs/workflows/browser-e2e.md +1 -1
  46. package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +5 -5
  47. package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +5 -5
  48. package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +5 -5
  49. package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +5 -5
@@ -9,10 +9,10 @@ This scaffold is a 0-1 product harness:
9
9
  - short agent entry files
10
10
  - dynamic docs router
11
11
  - PRD, research protocol, architecture, ports, data-flow, state templates
12
- - active `docs/harness/PLAN.md`
13
- - `MEMORY.md` plus a `memory/` folder for durable self-learning, user corrections, and tool reflections
12
+ - active `Harness/PLAN.md`
13
+ - `Harness/MEMORY.md` plus a `Harness/memory/` folder for durable self-learning, user corrections, and tool reflections
14
14
  - built-in common agents
15
- - subagent context-loading protocol
15
+ - subagent orchestration and context-loading protocol
16
16
  - skill-style dynamic loaders in `.claude/skills/`
17
17
  - lightweight harness validator
18
18
  - test/review/feedback loop
@@ -24,37 +24,55 @@ It does not guess your stack or business domain. Claude Code should fill those t
24
24
  Start Claude Code, then say:
25
25
 
26
26
  ```text
27
- Read SETUP.md. Bootstrap this project as a 0-1 product harness.
28
- Use docs/README.md as the router. Keep context small.
29
- First clarify the idea, then create PRD, research, architecture, docs/harness/PLAN.md, and the first vertical-slice task.
27
+ Read Harness/SETUP.md. Bootstrap this project as a 0-1 product harness.
28
+ Use Harness/README.md as the router. Keep context small.
29
+ First clarify the idea, then create PRD, research, architecture, Harness/PLAN.md, and the first vertical-slice task.
30
30
  ```
31
31
 
32
32
  ## Required Bootstrap Sequence
33
33
 
34
34
  Claude must follow this order:
35
35
 
36
- 1. Read `CLAUDE.md`, `MEMORY.md`, `docs/README.md`, and `docs/harness/lifecycle.md`. Load `memory/*` only when the router or memory trigger applies.
37
- 2. Ask up to 3 blocking product questions. If not blocked, record assumptions in `docs/harness/PLAN.md`.
38
- 3. Fill `docs/research/PRD.md` with MVP, non-goals, and acceptance criteria.
39
- 4. Read `docs/research/README.md`, then fill `docs/research/research-results.md` with adopted/rejected research choices.
40
- 5. Fill minimum architecture: `docs/harness/architecture.md` and one port in `docs/domain/ports.md`.
41
- 6. Create the first vertical-slice plan in `docs/harness/PLAN.md`.
42
- 7. Use `docs/harness/context-loading.md` and `docs/harness/dispatch.md` when spawning subagents.
43
- 8. Fill `docs/harness/data-flow.md` or `docs/harness/state-machines.md` only when the slice changes runtime flow, failure behavior, or state.
36
+ 1. Read `CLAUDE.md`, `Harness/MEMORY.md`, `Harness/README.md`, and `Harness/lifecycle.md`. Load `Harness/memory/*` only when the router or memory trigger applies.
37
+ 2. Ask up to 3 blocking product questions. If not blocked, record assumptions in `Harness/PLAN.md`.
38
+ 3. Fill `Harness/research/PRD.md` with MVP, non-goals, and acceptance criteria.
39
+ 4. Read `Harness/research/README.md`, then fill `Harness/research/research-results.md` with adopted/rejected research choices.
40
+ 5. Fill minimum architecture: `Harness/architecture.md` and one port in `Harness/domain/ports.md`.
41
+ 6. Create the first vertical-slice plan in `Harness/PLAN.md`.
42
+ 7. Use `Harness/subagents.md`, `Harness/context-loading.md`, and `Harness/dispatch.md` when spawning subagents.
43
+ 8. Fill `Harness/data-flow.md` or `Harness/state-machines.md` only when the slice changes runtime flow, failure behavior, or state.
44
44
  9. Implement only after a failing test or manual verification step is defined.
45
- 10. Run `node scripts/validate-harness.mjs --strict`.
46
- 11. Record final verification and next feedback step in `docs/harness/PLAN.md`. If repeated tool failures, repeated user corrections, or reusable review/debug lessons appeared, record the concise reflection in the relevant `memory/` file.
45
+ 10. Run `node Harness/scripts/validate-harness.mjs --strict`.
46
+ 11. Record final verification and next feedback step in `Harness/PLAN.md`. If repeated tool failures, repeated user corrections, or reusable review/debug lessons appeared, record the concise reflection in the relevant `Harness/memory/` file.
47
47
 
48
48
  ## Existing Project Bootstrap Sequence
49
49
 
50
50
  When adding this harness to a project that already has source code, docs, CI, or tool configuration, treat the existing project as the source of truth before filling harness docs.
51
51
 
52
52
  1. Scan existing project facts first: `README.md`, package files (`package.json`, `pyproject.toml`, `go.mod`, etc.), test commands, app entry points, CI files, existing docs, and current run/build scripts.
53
- 2. Record discovered facts and open questions in `docs/harness/PLAN.md` before changing harness docs.
54
- 3. Fill `docs/research/PRD.md`, `docs/research/research-results.md`, `docs/harness/architecture.md`, and `docs/domain/ports.md` from observed project facts plus explicit user input.
53
+ 2. Record discovered facts and open questions in `Harness/PLAN.md` before changing harness docs.
54
+ 3. Fill `Harness/research/PRD.md`, `Harness/research/research-results.md`, `Harness/architecture.md`, and `Harness/domain/ports.md` from observed project facts plus explicit user input.
55
55
  4. Existing configuration is project fact. Do not overwrite `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.gitignore`, settings, hooks, package files, CI, docs routers, or workflow docs unless the user explicitly approves that exact overwrite.
56
- 5. When a harness file conflicts with an existing file, preserve the existing file and register any missing harness guidance manually using `docs/harness/extension.md`.
57
- 6. Run `node scripts/validate-harness.mjs` after registration, then run `node scripts/validate-harness.mjs --strict` only after project-fact placeholders have been resolved or intentionally recorded as open.
56
+ 5. When a harness file conflicts with an existing file, preserve the existing file and register any missing harness guidance manually using `Harness/extension.md`.
57
+ 6. Run `node Harness/scripts/validate-harness.mjs` after registration, then run `node Harness/scripts/validate-harness.mjs --strict` only after project-fact placeholders have been resolved or intentionally recorded as open.
58
+
59
+ ### Agent-Link Install Intake
60
+
61
+ When the user installs by pasting the GitHub link into an agent, ask intake questions before editing. Ask only questions that affect writes, architecture, security, or workflow. Ask at most three blocking questions up front, record safe defaults for the rest, and ask follow-ups only when that choice becomes active.
62
+
63
+ | Topic | Ask When | Default If Unanswered |
64
+ | --- | --- | --- |
65
+ | Root agent entry | `CLAUDE.md`, `AGENTS.md`, `.claude/`, or other agent entry files already exist | Preserve files; ask before merging the Harness entry contract |
66
+ | Harness location | `docs/` is already used for GitHub Pages, product docs, or generated docs | Use root `Harness/`; do not write harness docs into `docs/` |
67
+ | README ownership | root `README.md` is a public product page, package docs, or heavily customized | Preserve existing README and propose a minimal Development section |
68
+ | README optimization | existing README is stale, sparse, missing command tables, or the user asks for diagrams/polished docs | Offer `readme-optimizer`; default to append-only Development notes until the user approves a structure pass or full rewrite |
69
+ | Extensions | ECC, Superpowers, custom rules, or stack-specific skills may be useful | Recommend first; install only after user approval |
70
+ | Skills | stack is known and optional skills could improve testing, frontend, backend, review, or browser evidence | Install 1-2 relevant skills only after user approval |
71
+ | CI/CD | CI config exists or the project lacks a test/build gate | Document existing commands first; add CI/CD only after user approval |
72
+ | Verification depth | browser-visible, API, database, auth, payment, or deployment behavior is affected | Require real command evidence; require browser/API evidence when relevant |
73
+ | Memory/privacy | repo contains sensitive domain data, customer data, secrets, or private workflows | Enable memory index only; never record secrets or private data |
74
+ | Branch/worktree | project has uncommitted changes, risky migration, or parallel implementation lanes | Preserve current worktree; propose branch/worktree before broad edits |
75
+ | Package manager/stack | multiple package managers, monorepo apps, or unclear stack boundaries exist | Ask which workspace/app is in scope before writing |
58
76
 
59
77
  ### Agent Conflict Resolution Protocol
60
78
 
@@ -76,6 +94,8 @@ When `--on-conflict skip` leaves existing files untouched, the agent resolves ea
76
94
  - Read the existing project file.
77
95
  - Read the harness template counterpart.
78
96
  - Compare sections and headings. Identify structural sections, registration entries, and required text patterns that exist in the template but are missing from the existing file.
97
+ - If the skipped file is `CLAUDE.md`, tell the user that it is the root agent entry contract. Ask whether they consent to refactor or merge it before editing. Preserve project-specific rules while adding the Harness startup, memory, router, workflow, and subagent orchestration contract.
98
+ - If the skipped file is `AGENTS.md`, tell the user that it is part of the root agent entry contract and ask whether they consent to merge or replace it before editing.
79
99
  - Present each gap to the user as a choice:
80
100
  - **[Merge]** — Edit the existing file to add only the missing sections. Preserve all existing content, ordering, and formatting.
81
101
  - **[Overwrite]** — Replace with the template version. Optionally backup the original first (`--on-conflict backup`).
@@ -83,7 +103,7 @@ When `--on-conflict skip` leaves existing files untouched, the agent resolves ea
83
103
 
84
104
  4. For Merge: use Edit (not Write) to add missing content. Only insert sections, headings, and text that are structurally required. Do not reorder or modify existing content. Do not remove custom project-specific registrations.
85
105
 
86
- 5. After all merges, run `node scripts/validate-harness.mjs`. Fix any remaining validation errors, then run `node scripts/validate-harness.mjs --strict` only after project-fact placeholders are resolved.
106
+ 5. After all merges, run `node Harness/scripts/validate-harness.mjs`. Fix any remaining validation errors, then run `node Harness/scripts/validate-harness.mjs --strict` only after project-fact placeholders are resolved.
87
107
 
88
108
  **File-specific gap checklists:**
89
109
 
@@ -91,31 +111,34 @@ The harness validator checks for specific structural invariants. When comparing
91
111
 
92
112
  | File | Required check |
93
113
  |------|----------------|
94
- | `CLAUDE.md` | `## 1. Startup` with `If SETUP.md exists` line; `## 6. Memory & Self-Learning` section; the tool reflection trigger text (`same tool/use pattern fails 3+ times`); the user correction trigger text (`user corrects the same assumption/pattern 2+ times`); `Never bulk-read docs/` in Startup |
95
- | `MEMORY.md` | All 9 common agents registered under `## Agents`; all 5 harness skills registered under `## Skills`; all 3 `memory/` files registered under `## Memory Folder`; `memory/` folder usage guidance; `Project Resource Index` in title |
114
+ | `CLAUDE.md` | Must be merged only after user confirmation when it already exists. Required contract: `## 1. Harness Binding & Startup` with the `Harness/SETUP.md` bootstrap contract line; `## 6. Memory & Self-Learning` section; the tool reflection trigger text (`same tool/use pattern fails 3+ times`); the user correction trigger text (`user corrects the same assumption/pattern 2+ times`); `Never bulk-read Harness/` in Startup |
115
+ | `AGENTS.md` | Root agent entry points to `CLAUDE.md` and `Harness/README.md`; for existing projects, merge only after explicit user consent |
116
+ | `README.md` | Existing README is project-owned. Preserve by default; ask whether to append only Development notes or run `readme-optimizer` for a structure pass with tables/diagrams before broad edits |
117
+ | `Harness/MEMORY.md` | All 9 common agents registered under `## Agents`; all common harness skills registered under `## Skills`; all 3 `Harness/memory/` files registered under `## Memory Folder`; `Harness/memory/` folder usage guidance; `Project Resource Index` in title |
96
118
  | `.claude/rules/ecc/common.md` | `## Context` section with the durable communication invariant (`project files are the only durable communication channel`); `## Memory` section with three reflection file entries; `## Security` section |
97
- | `docs/README.md` | `## Keyword Routing` heading; `## Load By Task` table with at minimum the rows: "Adding harness to existing project", "Need implementation plan", "Need durable memory or reflection"; `## Doc Map` with `memory/` entries; the durable communication invariant text; `docs/README.md is the primary router` |
98
- | `docs/harness/extension.md` | `## Non-Invasive Extension Rules` section with the "Preserve existing" rule; `## Agent Contract` section; `## Registration` section |
99
- | `docs/harness/dispatch.md` | The durable communication invariant; common agent entries for all 9 agents; `## Handoff Format` heading |
100
- | `docs/harness/context-loading.md` | The durable communication invariant; `docs/README.md is the primary router`; all 10 subagent context packs (Explorer Pass, Planner, Researcher, Docs Researcher, Architect, Test Writer, Implementer, Reviewer, Debugger, Verifier) |
101
- | `docs/harness/PLAN.md` | `## Current Goal`, `## Phase`, `## Success Criteria`, `## Loaded Context`, `## Tasks`, `## Parallel Dispatch`, `## Verification` headings |
102
- | `SETUP.md` | Only meaningful for fresh projects. If the project has its own onboarding docs, skip this file entirely (it is temporary). If kept, ensure the "Existing Project Bootstrap Sequence" is present. |
103
- | `docs/workflows/browser-e2e.md` (if installed as optional) | `data-testid`, `accessible labels/roles`, and `inputs, buttons, filters, rows, empty/error/loading states` requirement |
104
- | `docs/workflows/ts-react-frontend.md` (if installed as optional) | Same UI selector contract as above |
105
- | `docs/features/_template.md` | `## 1.5 UI Automation Hooks` with `data-testid` table |
106
-
107
- **Files that do NOT need manual merge (auto-created by harness):**
108
-
109
- - `memory/tool-usage-reflections.md`, `memory/user-corrections-preferences.md`, `memory/agent-lessons-patterns.md` — these are new empty files
119
+ | `Harness/README.md` | `## Keyword Routing` heading; `## Load By Task` table with at minimum the rows: "Adding harness to existing project", "Need implementation plan", "Need parallel agents", "Need subagents", "Need durable memory or reflection"; `## Doc Map` with `memory/` and `subagents.md` entries; the durable communication invariant text; `Harness/README.md is the primary router` |
120
+ | `Harness/extension.md` | `## Non-Invasive Extension Rules` section with the "Preserve existing" rule; `## Agent Contract` section; `## Registration` section |
121
+ | `Harness/dispatch.md` | The durable communication invariant; common agent entries for all 9 agents; `## Handoff Format` heading |
122
+ | `Harness/context-loading.md` | The durable communication invariant; `Harness/README.md is the primary router`; all 10 subagent context packs (Explorer Pass, Planner, Researcher, Docs Researcher, Architect, Test Writer, Implementer, Reviewer, Debugger, Verifier) |
123
+ | `Harness/subagents.md` | `## Source Attribution`; `Controller Role`; `Efficiency Ladder`; `Review Gates`; source markers for `npx skills find`, `dispatching-parallel-agents`, and `subagent-driven-development` |
124
+ | `Harness/PLAN.md` | `## Current Goal`, `## Phase`, `## Success Criteria`, `## Loaded Context`, `## Tasks`, `## Parallel Dispatch`, `## Subagent Synthesis`, `## Verification` headings |
125
+ | `Harness/SETUP.md` | Only meaningful for fresh projects. If the project has its own onboarding docs, skip this file entirely (it is temporary). If kept, ensure the "Existing Project Bootstrap Sequence" is present. |
126
+ | `Harness/workflows/browser-e2e.md` (if installed as optional) | `data-testid`, `accessible labels/roles`, and `inputs, buttons, filters, rows, empty/error/loading states` requirement |
127
+ | `Harness/workflows/ts-react-frontend.md` (if installed as optional) | Same UI selector contract as above |
128
+ | `Harness/features/_template.md` | `## 1.5 UI Automation Hooks` with `data-testid` table |
129
+
130
+ **Files that do NOT need manual merge when the path does not already exist (auto-created by harness):**
131
+
132
+ - `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` — these are new empty files
110
133
  - `.claude/agents/*.md` — all 9 common agents
111
- - `.claude/skills/harness-*/SKILL.md` — all 5 harness skills
134
+ - `.claude/skills/harness-*/SKILL.md`, `.claude/skills/wf-mode/SKILL.md`, and `.claude/skills/subagent-orchestrator/SKILL.md` — core harness skills, WF mode, and subagent orchestration
112
135
  - `.claude/rules/ecc/common.md` — universal rules (unless the project has custom rules in this file)
113
136
  - `.claude/settings.json` — harness settings
114
- - `docs/harness/lifecycle.md`, `docs/harness/agent-workflow.md`, `docs/harness/architecture.md`, `docs/harness/data-flow.md`, `docs/harness/state-machines.md` — harness runtime docs
115
- - `docs/research/*.md` — research protocol and templates
116
- - `docs/domain/ports.md` — port contract template
117
- - `AGENTS.md` — agent registry
118
- - `scripts/validate-harness.mjs` and `tests/.gitkeep` — tooling
137
+ - `Harness/lifecycle.md`, `Harness/subagents.md`, `Harness/agent-workflow.md`, `Harness/architecture.md`, `Harness/data-flow.md`, `Harness/state-machines.md` — harness runtime docs
138
+ - `Harness/research/*.md` — research protocol and templates
139
+ - `Harness/domain/ports.md` — port contract template
140
+ - `AGENTS.md` — agent registry; if it already exists, ask for user consent before merging or replacing it
141
+ - `Harness/scripts/validate-harness.mjs` and `tests/.gitkeep` — tooling
119
142
 
120
143
  Optional workflow examples:
121
144
 
@@ -126,9 +149,9 @@ npx create-harness-vibe-coding@latest my-app ./my-app -y --preset web-app
126
149
 
127
150
  ### Template Fill Guide
128
151
 
129
- Each template doc contains `{{PLACEHOLDER}}` markers. Below is what every placeholder expects. Replace all markers in the doc before moving to the next doc. If a section does not apply yet, leave the `{{...}}` but record why in `docs/harness/PLAN.md`.
152
+ Each template doc contains `{{PLACEHOLDER}}` markers. Below is what every placeholder expects. Replace all markers in the doc before moving to the next doc. If a section does not apply yet, leave the `{{...}}` but record why in `Harness/PLAN.md`.
130
153
 
131
- **`docs/research/PRD.md`** — Product scope. Fill with product facts from user input, not guesses:
154
+ **`Harness/research/PRD.md`** — Product scope. Fill with product facts from user input, not guesses:
132
155
  - `{{WHY_THIS_PROJECT_EXISTS}}`: one-sentence motivation
133
156
  - `{{MUST_1..3}}`: concrete, testable MVP items (checkbox form)
134
157
  - `{{NON_GOAL_1..3}}`: explicitly out-of-scope items
@@ -136,25 +159,25 @@ Each template doc contains `{{PLACEHOLDER}}` markers. Below is what every placeh
136
159
  - `{{ACCEPTANCE_1..3}}`: verifiable project-level acceptance criteria
137
160
  - `{{DIMENSION}}`, `{{TARGET}}`, `{{MEASUREMENT}}`: non-functional requirements (perf, security, etc.)
138
161
 
139
- **`docs/research/research-results.md`** — Tech decisions. Research before filling:
140
- - Use `docs/research/README.md` as the research protocol.
162
+ **`Harness/research/research-results.md`** — Tech decisions. Research before filling:
163
+ - Use `Harness/research/README.md` as the research protocol.
141
164
  - `{{CANDIDATE_1..3}}`: each candidate (framework, library, architecture style) with Purpose/Strength/Weakness/Decision/Link.
142
165
  - `{{Architecture Style}}`: the chosen architectural style (e.g., Hexagonal, Modular Monolith).
143
166
  - `{{CONSTRAINT_1..3}}`: hard technical constraints derived from research.
144
167
  - `{{ALTERNATIVE_1..2}}`: rejected candidates worth watching for future.
145
168
 
146
- **`docs/harness/architecture.md`** — Layer structure. Derive from research-results:
169
+ **`Harness/architecture.md`** — Layer structure. Derive from research-results:
147
170
  - Fill the ASCII layer diagram with actual layer names. Do NOT add layers without a proven need.
148
171
  - `2.1–2.5`: describe each harness core component (Runner, Permission Policy, Event Bus, State Store, Tool Registry) in project-specific terms.
149
172
  - `3. Architectural Constraints`: add project-specific non-negotiables. Keep the domain/harness purity rules.
150
173
 
151
- **`docs/domain/ports.md`** — Cross-layer contracts. One driving port + one driven port from the first slice:
174
+ **`Harness/domain/ports.md`** — Cross-layer contracts. One driving port + one driven port from the first slice:
152
175
  - `{{INBOUND_PORT_1}}`: the first inbound port (e.g., "CreateOrderPort").
153
176
  - `{{OUTBOUND_PORT_1}}`: the first outbound port (e.g., "OrderRepository").
154
177
  - For each port: fill Purpose, Preconditions, Postconditions, Error Semantics, Idempotency.
155
178
  - Leave remaining rows as `{{...}}` until more slices add ports.
156
179
 
157
- **`docs/harness/PLAN.md`** — Active execution state. Update continuously:
180
+ **`Harness/PLAN.md`** — Active execution state. Update continuously:
158
181
  - `## Current Goal`: one sentence, what this iteration achieves.
159
182
  - `## Phase`: current lifecycle phase (Idea/Research/PRD/Architecture/Plan/Build/Verify/Feedback).
160
183
  - `## Success Criteria`: verifiable outcomes for this iteration.
@@ -162,18 +185,18 @@ Each template doc contains `{{PLACEHOLDER}}` markers. Below is what every placeh
162
185
  - `## Parallel Dispatch`: only when spawning subagents — fill agent roles, read/write boundaries.
163
186
  - `## Verification`: record test results, review findings, docs sync checklist.
164
187
 
165
- **`memory/`** — Durable self-evolution notes:
166
- - `memory/tool-usage-reflections.md`: repeated tool failures, better command patterns, environment-specific fixes.
167
- - `memory/user-corrections-preferences.md`: repeated user corrections, durable preferences, common-sense course corrections.
168
- - `memory/agent-lessons-patterns.md`: reusable lessons from review, debugging, validation, and handoff loops.
188
+ **`Harness/memory/`** — Durable self-evolution notes:
189
+ - `Harness/memory/tool-usage-reflections.md`: repeated tool failures, better command patterns, environment-specific fixes.
190
+ - `Harness/memory/user-corrections-preferences.md`: repeated user corrections, durable preferences, common-sense course corrections.
191
+ - `Harness/memory/agent-lessons-patterns.md`: reusable lessons from review, debugging, validation, and handoff loops.
169
192
 
170
- **`docs/harness/data-flow.md`** — Runtime event paths (only when first slice has async/multi-step flow):
193
+ **`Harness/data-flow.md`** — Runtime event paths (only when first slice has async/multi-step flow):
171
194
  - `{{EVENT_1}}`: the first event type with producer, consumers, payload fields, delivery semantics.
172
195
  - Happy Path: fill the Mermaid sequence diagram with actual ports and actions.
173
196
  - Failure Paths: for each failure point, document trigger, system behavior, event, caller perception, recovery.
174
197
  - If the first slice is synchronous and stateless, leave this doc as `{{...}}` and note in PLAN.md.
175
198
 
176
- **`docs/harness/state-machines.md`** — State transitions (only when first slice has stateful entities):
199
+ **`Harness/state-machines.md`** — State transitions (only when first slice has stateful entities):
177
200
  - Define states, transitions, guards, and illegal transitions for the first stateful entity.
178
201
  - If no stateful entity exists in the first slice, leave as `{{...}}` and note in PLAN.md.
179
202
 
@@ -181,11 +204,11 @@ Each template doc contains `{{PLACEHOLDER}}` markers. Below is what every placeh
181
204
  - Replace `{{projectName}}` with the actual project name immediately.
182
205
  - Never invent content for a `{{...}}` marker. If you lack facts, ask the user or leave the marker.
183
206
  - `<!-- HTML comments -->` in templates are instructions to you. Read them. Delete them after filling the section.
184
- - After filling all templates in a phase, run `node scripts/validate-harness.mjs --strict`. Any remaining `{{...}}` in project-fact files will be flagged.
207
+ - After filling all templates in a phase, run `node Harness/scripts/validate-harness.mjs --strict`. Any remaining `{{...}}` in project-fact files will be flagged.
185
208
 
186
209
  ## Architecture Research (Dynamic)
187
210
 
188
- Do not guess the architecture. Use `docs/research/README.md` as the protocol and the high-star repos below as seed references. Search within them; do not read them whole.
211
+ Do not guess the architecture. Use `Harness/research/README.md` as the protocol and the high-star repos below as seed references. Search within them; do not read them whole.
189
212
 
190
213
  ### Seed Repositories (High-Star, High-Trust)
191
214
 
@@ -202,12 +225,12 @@ Do not guess the architecture. Use `docs/research/README.md` as the protocol and
202
225
 
203
226
  After research, fill these docs in order:
204
227
 
205
- 1. `docs/research/research-results.md` — Record candidate architectures with Adopt / Reject / Watch decisions. Use the `## Candidate References` template.
206
- 2. `docs/harness/architecture.md` — Fill the layering diagram, core components, and constraints. Do NOT add speculative layers. One layer per proven need.
207
- 3. `docs/domain/ports.md` — Define ONE driving port and ONE driven port from the first vertical slice. More ports come with more slices.
208
- 4. `docs/harness/data-flow.md` — Fill the happy path for the first slice only. Add failure paths when they differ from the happy path.
228
+ 1. `Harness/research/research-results.md` — Record candidate architectures with Adopt / Reject / Watch decisions. Use the `## Candidate References` template.
229
+ 2. `Harness/architecture.md` — Fill the layering diagram, core components, and constraints. Do NOT add speculative layers. One layer per proven need.
230
+ 3. `Harness/domain/ports.md` — Define ONE driving port and ONE driven port from the first vertical slice. More ports come with more slices.
231
+ 4. `Harness/data-flow.md` — Fill the happy path for the first slice only. Add failure paths when they differ from the happy path.
209
232
 
210
- **Constraint**: If the research does not give you enough confidence to fill a section, leave the `{{...}}` placeholder and record the open question in `docs/harness/PLAN.md`. The strict validator will catch it.
233
+ **Constraint**: If the research does not give you enough confidence to fill a section, leave the `{{...}}` placeholder and record the open question in `Harness/PLAN.md`. The strict validator will catch it.
211
234
 
212
235
  ## User Confirmation Protocol (Non-Negotiable)
213
236
 
@@ -218,7 +241,7 @@ When user intent is unclear or ambiguous:
218
241
  - **Maximum 3 blocking questions per decision point.** Ask the highest-impact questions first.
219
242
  - **Do not act on assumptions that affect architecture, scope, stack, or user-facing behavior.**
220
243
  - **You must have ≥95% confidence before writing implementation code.** If below that threshold, stop and ask.
221
- - **Record every assumption explicitly** in `docs/harness/PLAN.md` so the user can correct it later.
244
+ - **Record every assumption explicitly** in `Harness/PLAN.md` so the user can correct it later.
222
245
  - **Silent picks are forbidden.** If two valid approaches exist and you cannot decide with high confidence, present both to the user with trade-offs.
223
246
 
224
247
  False confidence is worse than a question. If you catch yourself thinking "this is probably what they want," stop and ask.
@@ -244,20 +267,20 @@ npx skills search "react testing"
244
267
  npx skills search "python api"
245
268
  ```
246
269
 
247
- **Manual discovery**: search GitHub and npm directly using patterns from `docs/research/README.md#Architecture Decision References`.
270
+ **Manual discovery**: search GitHub and npm directly using patterns from `Harness/research/README.md#Architecture Decision References`.
248
271
 
249
272
  **Priority order**:
250
273
  1. `/find-skills` first — fastest discovery, respects your tool environment.
251
274
  2. Superpowers registry — broad community coverage.
252
275
  3. GitHub search — when the first two miss niche domains.
253
276
 
254
- **What to install**: after finding skills, add them to `.claude/skills/<name>/SKILL.md`. Follow `docs/harness/extension.md` for compatibility. Start with 1-2 skills per stack area; more is not better.
277
+ **What to install**: after finding skills, add them to `.claude/skills/<name>/SKILL.md`. Follow `Harness/extension.md` for compatibility. Start with 1-2 skills per stack area; more is not better.
255
278
 
256
279
  This scaffold includes built-in harness skills (`.claude/skills/harness-*`). Keep those. Add stack-specific ones alongside them.
257
280
 
258
281
  ## Optional Agent Assets
259
282
 
260
- After the product shape is known, Claude may also install or copy stack-specific agents, rules, and hooks into `.claude/`. Follow `docs/harness/extension.md` for every added asset.
283
+ After the product shape is known, Claude may also install or copy stack-specific agents, rules, and hooks into `.claude/`. Follow `Harness/extension.md` for every added asset.
261
284
 
262
285
  Examples:
263
286
 
@@ -271,14 +294,14 @@ This is a Go service. Add API, security, and integration-test agents.
271
294
 
272
295
  This file is designed to be orphaned. When all configuration is complete:
273
296
 
274
- 1. Open `CLAUDE.md`. Delete the line: `If SETUP.md exists in the project root, read it first.`
297
+ 1. Open `CLAUDE.md`. Delete the setup bootstrap line that starts with: ``If `Harness/SETUP.md` exists, follow it before normal project work``.
275
298
  2. Delete this file.
276
299
 
277
300
  ```bash
278
- rm SETUP.md
301
+ rm Harness/SETUP.md
279
302
  ```
280
303
 
281
- After both steps, `SETUP.md` is fully isolated — no file references it, no trace remains. You are free to delete it at any time. It is a bootstrap scaffold, not a permanent fixture.
304
+ After both steps, `Harness/SETUP.md` is fully isolated — no file references it, no trace remains. You are free to delete it at any time. It is a bootstrap scaffold, not a permanent fixture.
282
305
 
283
306
  ---
284
307
 
@@ -298,7 +321,7 @@ npx create-harness-vibe-coding@latest my-agent-project ./my-agent-project -y
298
321
 
299
322
  After scaffolding, bootstrap the harness yourself:
300
323
 
301
- 1. Read `CLAUDE.md`, `MEMORY.md`, and `docs/README.md`.
324
+ 1. Read `CLAUDE.md`, `Harness/MEMORY.md`, and `Harness/README.md`.
302
325
  2. Follow the Required Bootstrap Sequence above.
303
- 3. Run `node scripts/validate-harness.mjs --strict` when done.
304
- 4. Delete `SETUP.md`.
326
+ 3. Run `node Harness/scripts/validate-harness.mjs --strict` when done.
327
+ 4. Delete `Harness/SETUP.md`.
@@ -1,8 +1,8 @@
1
1
  # {{projectName}} - Harness Router
2
2
 
3
- Purpose: route humans and agents to the smallest useful context.
3
+ Purpose: route humans and agents to the smallest useful context. `Harness/README.md` is the primary router.
4
4
 
5
- Default load: `CLAUDE.md`, `MEMORY.md`, this file, and `docs/harness/PLAN.md` when work is active. Do not read the whole docs tree.
5
+ Default load: `CLAUDE.md`, `Harness/MEMORY.md`, this file, and `Harness/PLAN.md` when work is active. Do not read the whole `Harness/` tree.
6
6
 
7
7
  ## 0-1 Flow
8
8
 
@@ -10,21 +10,26 @@ Default load: `CLAUDE.md`, `MEMORY.md`, this file, and `docs/harness/PLAN.md` wh
10
10
  Idea -> Research -> PRD -> Architecture -> Plan -> Build -> Verify -> Feedback
11
11
  ```
12
12
 
13
- For the full phase contract, load [harness/lifecycle.md](harness/lifecycle.md).
13
+ For the full phase contract, load [lifecycle.md](lifecycle.md).
14
14
 
15
15
  ## Development Contract
16
16
 
17
17
  - This file is a router, not a full spec.
18
18
  - If the task does not clearly match a row below, search by keywords before loading more docs.
19
19
  - project files are the only durable communication channel; chat/subagent transcript state is non-authoritative.
20
- - Important assumptions, decisions, blockers, evidence, and handoffs must be written to [harness/PLAN.md](harness/PLAN.md), the current feature doc, `MEMORY.md`, or `memory/*` as appropriate.
20
+ - Important assumptions, decisions, blockers, evidence, and handoffs must be written to [PLAN.md](PLAN.md), the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
21
+ - Build commands, git conventions, and release notes belong in root `README.md`, not `CLAUDE.md`.
22
+ - README rewrites are optional project-doc work. Use `readme-optimizer` and preserve existing public docs unless the user approves a broader restructure.
23
+ - Code architecture belongs in [architecture.md](architecture.md) or the current feature doc, not `CLAUDE.md`.
21
24
  - Core rules live in `CLAUDE.md` and `.claude/rules/ecc/common.md`.
22
- - Phase rules live in [harness/lifecycle.md](harness/lifecycle.md).
23
- - Build, review, test, and subagent rules live in [harness/agent-workflow.md](harness/agent-workflow.md).
24
- - Parallel dispatch rules live in [harness/dispatch.md](harness/dispatch.md).
25
- - Extension rules live in [harness/extension.md](harness/extension.md).
26
- - Context-loading rules live in [harness/context-loading.md](harness/context-loading.md).
27
- - Progress lives in [harness/PLAN.md](harness/PLAN.md) and the current feature doc.
25
+ - WF mode rules live in [WF.md](WF.md).
26
+ - Phase rules live in [lifecycle.md](lifecycle.md).
27
+ - Build, review, test, and subagent rules live in [agent-workflow.md](agent-workflow.md).
28
+ - Parallel dispatch rules live in [dispatch.md](dispatch.md).
29
+ - Subagent orchestration methodology lives in [subagents.md](subagents.md).
30
+ - Extension rules live in [extension.md](extension.md).
31
+ - Context-loading rules live in [context-loading.md](context-loading.md).
32
+ - Progress lives in [PLAN.md](PLAN.md) and the current feature doc.
28
33
 
29
34
  ## Keyword Routing
30
35
 
@@ -34,11 +39,11 @@ Use this only when the task is ambiguous or the matching row is unclear.
34
39
  2. Search the project docs first:
35
40
 
36
41
  ```bash
37
- rg -n "keyword1|keyword2|keyword3" CLAUDE.md MEMORY.md docs
42
+ rg -n "keyword1|keyword2|keyword3" CLAUDE.md README.md Harness
38
43
  ```
39
44
 
40
45
  3. Load only the top matching doc or the smallest matching doc pair.
41
- 4. If keyword search conflicts with the table below, follow the table and record the assumption in `docs/harness/PLAN.md`.
46
+ 4. If keyword search conflicts with the table below, follow the table and record the assumption in `Harness/PLAN.md`.
42
47
 
43
48
  Keywords are retrieval hints, not project facts.
44
49
 
@@ -46,64 +51,76 @@ Keywords are retrieval hints, not project facts.
46
51
 
47
52
  Load the matching row only. Add adjacent docs only when the loaded doc directly names them.
48
53
 
54
+ Routing priority: if a request is long, difficult, uncertain, repeated-failure, migration, architecture-heavy, browser-visible, or broad multi-agent implementation work, choose the WF row first. `wf-mode` may then delegate subagent coordination to `subagent-orchestrator`.
55
+
49
56
  | When to Read | Keywords | Load | Output |
50
57
  | --- | --- | --- | --- |
51
- | Raw idea or vague product request | idea, vague, clarify, goal, non-goal, lifecycle | [harness/lifecycle.md](harness/lifecycle.md), [research/PRD.md](research/PRD.md) | clarified goal, non-goals, first questions |
58
+ | Raw idea or vague product request | idea, vague, clarify, goal, non-goal, lifecycle | [lifecycle.md](lifecycle.md), [research/PRD.md](research/PRD.md) | clarified goal, non-goals, first questions |
52
59
  | Need market/tech direction | research, market, competitor, stack, library, pricing, policy | [research/README.md](research/README.md), [research/research-results.md](research/research-results.md) | research protocol, adopted/rejected choices |
53
60
  | Need MVP/spec | PRD, MVP, scope, requirement, acceptance, non-goal | [research/PRD.md](research/PRD.md) | one-page PRD with verifiable acceptance criteria |
54
- | Need architecture or boundaries | architecture, boundary, layer, domain, port, adapter, dependency | [harness/architecture.md](harness/architecture.md), [domain/ports.md](domain/ports.md) | layer map, ports, constraints |
55
- | Adding harness to existing project | existing project, onboarding, migrate, bootstrap, preserve, conflict | [harness/extension.md](harness/extension.md), [harness/PLAN.md](harness/PLAN.md), root `README.md` and package/CI files | discovered project facts, preserved config, manual registration plan |
56
- | Need implementation plan | plan, task, write set, verify, milestone, progress | [harness/PLAN.md](harness/PLAN.md), [harness/agent-workflow.md](harness/agent-workflow.md) | tasks, write set, verification commands |
57
- | Need parallel agents | parallel, dispatch, handoff, write set, dependency, status | [harness/dispatch.md](harness/dispatch.md), [harness/context-loading.md](harness/context-loading.md), [harness/PLAN.md](harness/PLAN.md) | dispatch table, agent roles, read/write sets |
58
- | Adding stack-specific agents/skills | extension, agent, skill, rule, hook, stack-specific, compatibility | [harness/extension.md](harness/extension.md), [harness/dispatch.md](harness/dispatch.md) | compatible agents, skills, rules, hooks |
59
- | Optional workflow installed | workflow, optional, browser-e2e, ui-ux-review, github-pr-review, python-backend, ts-react-frontend | matching `docs/workflows/*.md`, [harness/extension.md](harness/extension.md) | workflow-specific evidence, commands, fallback path |
60
- | Need durable memory or reflection | memory, remember, preference, correction, tool failure, lesson, reflection | `MEMORY.md`, `memory/tool-usage-reflections.md`, `memory/user-corrections-preferences.md`, `memory/agent-lessons-patterns.md` | concise newest-first memory entry or no-op rationale |
61
- | Need subagents | subagent, role pack, context, inject, return format | [harness/context-loading.md](harness/context-loading.md) | role-specific context pack |
62
- | Need feature work | feature, implementation, TDD, test, review, closeout | [features/_template.md](features/_template.md), [harness/agent-workflow.md](harness/agent-workflow.md) | feature doc, tests, implementation loop |
63
- | Flow or failure behavior changes | data flow, event, failure, retry, recovery, caller behavior | [harness/data-flow.md](harness/data-flow.md) | happy path, failure path, caller behavior |
64
- | Stateful behavior changes | state, transition, guard, illegal transition, state machine | [harness/state-machines.md](harness/state-machines.md) | states, transitions, illegal transitions |
65
- | Review or release check | review, release, finding, risk, evidence, verification | [harness/agent-workflow.md](harness/agent-workflow.md), current feature doc | findings, verification evidence |
66
- | Harness readiness check | validate, readiness, placeholder, missing file, release gate | `scripts/validate-harness.mjs`, `scripts/validate-harness.mjs --strict` | missing files and unresolved project placeholders |
61
+ | Need architecture or boundaries | architecture, boundary, layer, domain, port, adapter, dependency | [architecture.md](architecture.md), [domain/ports.md](domain/ports.md) | layer map, ports, constraints |
62
+ | Need WF mode | wf, /wf, workflow mode, long task, difficult, stuck, repeated failure | [WF.md](WF.md), [PLAN.md](PLAN.md) | exploration plan, second plan, heartbeat, recovery loop; load subagent docs only when needed |
63
+ | Adding harness to existing project | existing project, onboarding, migrate, bootstrap, preserve, conflict | [extension.md](extension.md), [PLAN.md](PLAN.md), root `README.md` and package/CI files | discovered project facts, preserved config, manual registration plan |
64
+ | README optimization | README, docs, quickstart, install docs, architecture diagram, command table, documentation polish | root `README.md`, `.claude/skills/readme-optimizer/SKILL.md`, [PLAN.md](PLAN.md), [architecture.md](architecture.md) as needed | approved README mode, preserved sections, proposed diff plan |
65
+ | Need implementation plan | plan, task, write set, verify, milestone, progress | [PLAN.md](PLAN.md), [agent-workflow.md](agent-workflow.md) | tasks, write set, verification commands |
66
+ | Need parallel agents | parallel, dispatch, handoff, write set, dependency, status | [subagents.md](subagents.md), [dispatch.md](dispatch.md), [context-loading.md](context-loading.md), [PLAN.md](PLAN.md) | orchestration plan, dispatch table, agent roles, read/write sets |
67
+ | Adding stack-specific agents/skills | extension, agent, skill, rule, hook, stack-specific, compatibility | [extension.md](extension.md), [dispatch.md](dispatch.md) | compatible agents, skills, rules, hooks |
68
+ | Optional workflow installed | workflow, optional, browser-e2e, ui-ux-review, github-pr-review, python-backend, ts-react-frontend | matching `workflows/*.md`, [extension.md](extension.md) | workflow-specific evidence, commands, fallback path |
69
+ | Need durable memory or reflection | memory, remember, preference, correction, tool failure, lesson, reflection | [MEMORY.md](MEMORY.md), `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` | concise newest-first memory entry or no-op rationale |
70
+ | Need subagents | subagent, role pack, context, inject, return format, orchestrator | [subagents.md](subagents.md), [context-loading.md](context-loading.md), [dispatch.md](dispatch.md) | controller plan, role-specific context pack, dispatch pack |
71
+ | Need feature work | feature, implementation, TDD, test, review, closeout | [features/_template.md](features/_template.md), [agent-workflow.md](agent-workflow.md) | feature doc, tests, implementation loop |
72
+ | Flow or failure behavior changes | data flow, event, failure, retry, recovery, caller behavior | [data-flow.md](data-flow.md) | happy path, failure path, caller behavior |
73
+ | Stateful behavior changes | state, transition, guard, illegal transition, state machine | [state-machines.md](state-machines.md) | states, transitions, illegal transitions |
74
+ | Review or release check | review, release, finding, risk, evidence, verification | [agent-workflow.md](agent-workflow.md), current feature doc | findings, verification evidence |
75
+ | Harness readiness check | validate, readiness, placeholder, missing file, release gate | `Harness/scripts/validate-harness.mjs`, `Harness/scripts/validate-harness.mjs --strict` | missing files and unresolved project placeholders |
67
76
 
68
77
  ## Gates
69
78
 
70
79
  - Move phases in order unless the user asks for a fast lane.
80
+ - Use `/wf` when a task is long, difficult, uncertain, multi-file, or repeatedly failing.
71
81
  - Do not code before the PRD has MVP, non-goals, and acceptance criteria.
72
82
  - Do not cross a layer boundary without reading `domain/ports.md` and updating architecture or ports.
73
- - Before adding failure paths, read `harness/data-flow.md`.
74
- - Before modifying stateful components, read `harness/state-machines.md`.
75
- - Unsure whether to open a feature doc? Read `harness/agent-workflow.md` Section 1.
83
+ - Before adding failure paths, read `data-flow.md`.
84
+ - Before modifying stateful components, read `state-machines.md`.
85
+ - Unsure whether to open a feature doc? Read `agent-workflow.md` Section 1.
76
86
  - Do not spawn a subagent without a role, read boundary, write boundary, and return contract.
77
87
  - Do not run writing agents in parallel unless write sets are disjoint.
78
- - Before coordinating multiple agents, fill `harness/PLAN.md#Parallel Dispatch` and follow `harness/dispatch.md`.
79
- - Do not add stack-specific agents or skills without following `harness/extension.md`.
88
+ - Before coordinating multiple agents, fill `PLAN.md#Parallel Dispatch` and follow `subagents.md` plus `dispatch.md`; if the work also matches WF triggers, enter WF mode first.
89
+ - In WF mode, update `PLAN.md#Heartbeat` before long commands, after failures, and at closeout.
90
+ - Do not add stack-specific agents or skills without following `extension.md`.
80
91
  - Do not close work without tests or recorded manual verification.
81
- - Do not mark work `Verified` until evidence is recorded in `harness/PLAN.md` or the feature doc.
82
- - Run `node scripts/validate-harness.mjs` for scaffold structure; run `node scripts/validate-harness.mjs --strict` after bootstrap and before release.
92
+ - Do not mark work `Verified` until evidence is recorded in `PLAN.md` or the feature doc.
93
+ - Run `node Harness/scripts/validate-harness.mjs` for scaffold structure; run `node Harness/scripts/validate-harness.mjs --strict` after bootstrap and before release.
83
94
  - If a doc still has `{{...}}`, treat that section as a template, not project fact.
84
95
 
85
96
  ## Doc Map
86
97
 
87
98
  ```text
88
- docs/README.md router only
89
- docs/harness/PLAN.md active execution plan
90
- docs/harness/lifecycle.md 0-1 product flow
91
- docs/harness/context-loading.md dynamic loading and subagent packs
92
- docs/harness/dispatch.md lightweight parallel dispatch protocol
93
- docs/harness/extension.md stack-specific asset contract
94
- docs/harness/agent-workflow.md build/review/test loop
95
- docs/harness/architecture.md layer boundaries
96
- docs/harness/data-flow.md runtime/failure paths
97
- docs/harness/state-machines.md state transitions
98
- docs/domain/ports.md cross-layer contracts
99
- docs/features/_template.md feature work packet
100
- docs/research/README.md research protocol
101
- docs/research/PRD.md product scope
102
- docs/research/research-results.md research results
103
- memory/tool-usage-reflections.md repeated tool failures and better command patterns
104
- memory/user-corrections-preferences.md durable user corrections and preferences
105
- memory/agent-lessons-patterns.md reusable review/debug lessons
106
- scripts/validate-harness.mjs lightweight harness gate
107
- .claude/agents/* built-in common agents
108
- .claude/skills/* skill-style dynamic loaders
99
+ Harness/README.md router only
100
+ Harness/MEMORY.md resource index
101
+ Harness/PLAN.md active execution plan and heartbeat
102
+ Harness/WF.md long-task workflow and recovery loop
103
+ Harness/lifecycle.md 0-1 product flow
104
+ Harness/subagents.md controller-led subagent orchestration
105
+ Harness/context-loading.md dynamic loading and subagent packs
106
+ Harness/dispatch.md lightweight parallel dispatch protocol
107
+ Harness/extension.md stack-specific asset contract
108
+ Harness/agent-workflow.md build/review/test loop
109
+ Harness/architecture.md layer boundaries
110
+ Harness/data-flow.md runtime/failure paths
111
+ Harness/state-machines.md state transitions
112
+ Harness/domain/ports.md cross-layer contracts
113
+ Harness/features/_template.md feature work packet
114
+ Harness/research/README.md research protocol
115
+ Harness/research/PRD.md product scope
116
+ Harness/research/research-results.md research results
117
+ Harness/workflows/*.md optional workflow evidence rules
118
+ Harness/memory/tool-usage-reflections.md repeated tool failures and better command patterns
119
+ Harness/memory/user-corrections-preferences.md durable user corrections and preferences
120
+ Harness/memory/agent-lessons-patterns.md reusable review/debug lessons
121
+ Harness/scripts/validate-harness.mjs lightweight harness gate
122
+ .claude/agents/* built-in common agents
123
+ .claude/skills/* skill-style dynamic loaders
124
+ .claude/skills/readme-optimizer/SKILL.md README preservation and optional structure pass
125
+ .claude/commands/wf.md slash command bridge into wf-mode
109
126
  ```
@@ -70,4 +70,4 @@ Fill in each port using the format below:
70
70
 
71
71
  ---
72
72
 
73
- > **Note**: The current ports.md is a template. Replace `{{...}}` placeholders with your project's domain details. Refer to `docs/harness/data-flow.md` to understand how ports are orchestrated.
73
+ > **Note**: The current ports.md is a template. Replace `{{...}}` placeholders with your project's domain details. Refer to `Harness/data-flow.md` to understand how ports are orchestrated.
@@ -1,6 +1,6 @@
1
1
  # {{FEATURE_NAME}}
2
2
 
3
- > **When to use**: Every PRD scope item in `research/PRD.md` Section 2 must have a feature doc — either a new one from this template, or an iteration on an existing one. Do not code a PRD scope item without a corresponding features doc.
3
+ > **When to use**: Every PRD scope item in `Harness/research/PRD.md` Section 2 must have a feature doc — either a new one from this template, or an iteration on an existing one. Do not code a PRD scope item without a corresponding features doc.
4
4
  >
5
5
  > **New vs iterate**: If the scope item has ≥85% overlap with an existing feature doc, iterate the existing doc (bump `Version`, add a `## Changelog` entry). If overlap is below 85%, create a new file from this template. When in doubt, ask the user.
6
6
 
@@ -52,10 +52,10 @@ For TS/React or browser workflows, define required stable accessible labels/role
52
52
 
53
53
  | Area | Impacted? | Notes |
54
54
  | --- | --- | --- |
55
- | `harness/architecture.md` | {{YES_NO}} | {{NOTE}} |
56
- | `domain/ports.md` | {{YES_NO}} | {{NOTE}} |
57
- | `harness/data-flow.md` | {{YES_NO}} | {{NOTE}} |
58
- | `harness/state-machines.md` | {{YES_NO}} | {{NOTE}} |
55
+ | `Harness/architecture.md` | {{YES_NO}} | {{NOTE}} |
56
+ | `Harness/domain/ports.md` | {{YES_NO}} | {{NOTE}} |
57
+ | `Harness/data-flow.md` | {{YES_NO}} | {{NOTE}} |
58
+ | `Harness/state-machines.md` | {{YES_NO}} | {{NOTE}} |
59
59
  | tests | {{YES_NO}} | {{NOTE}} |
60
60
 
61
61
  ### 2.2 Allowed Write Set
@@ -132,11 +132,11 @@ Estimate the context budget for this feature. If the main agent would need to re
132
132
 
133
133
  ### 4.3 Docs Sync
134
134
 
135
- - [ ] `harness/architecture.md`
136
- - [ ] `domain/ports.md`
137
- - [ ] `harness/data-flow.md`
138
- - [ ] `harness/state-machines.md`
139
- - [ ] `research/research-results.md`
135
+ - [ ] `Harness/architecture.md`
136
+ - [ ] `Harness/domain/ports.md`
137
+ - [ ] `Harness/data-flow.md`
138
+ - [ ] `Harness/state-machines.md`
139
+ - [ ] `Harness/research/research-results.md`
140
140
  - [ ] Not needed because {{REASON}}
141
141
 
142
142
  ### 4.4 Decision Log