create-harness-vibe-coding 0.7.2 → 0.8.1
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 +103 -155
- package/README.md +213 -175
- package/bin/create-harness-vibe-coding.js +2 -2
- package/package.json +45 -43
- package/src/generator.js +115 -77
- package/src/index.js +159 -49
- package/src/prompts.js +95 -27
- package/templates/common/.claude/agents/architect-manager.md +45 -45
- package/templates/common/.claude/agents/context-master.md +77 -77
- 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 +66 -66
- package/templates/common/.claude/agents/planner.md +34 -34
- package/templates/common/.claude/agents/researcher.md +41 -41
- package/templates/common/.claude/agents/review-manager.md +56 -56
- package/templates/common/.claude/agents/test-writer.md +38 -38
- package/templates/common/.claude/agents/verifier.md +32 -32
- package/templates/common/.claude/rules/ecc/common.md +45 -45
- package/templates/common/.claude/settings.json +68 -68
- package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +36 -31
- package/templates/common/.claude/skills/wf/SKILL.md +36 -0
- package/templates/common/.claude/skills/wf-learn/SKILL.md +13 -28
- package/templates/common/.claude/skills/wf-max/SKILL.md +24 -88
- package/templates/common/.claude/skills/wf-readme/SKILL.md +49 -49
- package/templates/common/.claude/skills/wf-remove/SKILL.md +17 -38
- package/templates/common/.claude/skills/wf-review/SKILL.md +19 -69
- package/templates/common/.claude/skills/wf-update/SKILL.md +19 -61
- package/templates/common/.codex/config.toml +2 -2
- package/templates/common/.codex/hooks.json +37 -37
- package/templates/common/.harness-version +53 -51
- package/templates/common/AGENTS.md +30 -30
- package/templates/common/CLAUDE.md +94 -94
- package/templates/common/{docs/harness → Harness}/PROGRESS.md +17 -17
- package/templates/common/{docs → Harness}/README.md +18 -17
- package/templates/common/{docs/harness → Harness}/WF-MAX.md +223 -223
- package/templates/common/Harness/WF.md +217 -0
- package/templates/common/{docs/harness → Harness}/architecture.md +126 -126
- package/templates/common/{docs/harness → Harness}/dispatch.md +99 -99
- package/templates/common/{docs → Harness}/research/research-results.md +66 -66
- package/templates/common/{docs/harness → Harness}/subagents.md +194 -194
- package/templates/common/{docs → Harness}/tasks/_template/ARTIFACTS.md +3 -3
- package/templates/common/{docs → Harness}/tasks/_template/NOTES.md +3 -3
- package/templates/common/{docs → Harness}/tasks/_template/PLAN.md +40 -40
- package/templates/common/{docs → Harness}/tasks/_template/PROGRESS.md +29 -29
- package/templates/common/MEMORY.md +68 -66
- package/templates/common/README.md +44 -37
- package/templates/common/SETUP.md +67 -47
- 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/scripts/scan-clean.mjs +450 -449
- package/templates/common/scripts/validate-harness.mjs +56 -34
- package/templates/common/scripts/wf-mode-hook.mjs +318 -318
- package/templates/common/scripts/wf-remove.mjs +400 -384
- package/templates/common/scripts/wf-statusline.ps1 +38 -38
- package/templates/common/scripts/wf-statusline.sh +48 -48
- package/templates/common/scripts/wf-update-check.mjs +389 -389
- package/templates/optional/catalog.json +63 -29
- package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -194
- package/templates/optional/skills/browser-e2e/{docs → Harness}/workflows/browser-e2e.md +75 -75
- package/templates/optional/skills/github-pr-review/{docs → Harness}/workflows/github-pr-review.md +28 -28
- package/templates/optional/skills/python-backend/{docs → Harness}/workflows/python-backend.md +34 -34
- package/templates/optional/skills/ts-react-frontend/{docs → Harness}/workflows/ts-react-frontend.md +35 -35
- package/templates/optional/skills/ui-ux-review/{docs → Harness}/workflows/ui-ux-review.md +26 -26
- package/templates/common/.claude/commands/wf-learn.md +0 -17
- package/templates/common/.claude/commands/wf-max.md +0 -49
- package/templates/common/.claude/commands/wf-remove.md +0 -23
- package/templates/common/.claude/commands/wf-review.md +0 -25
- package/templates/common/.claude/commands/wf-update.md +0 -17
- package/templates/common/.claude/commands/wf.md +0 -31
- package/templates/common/commands/wf-max.toml +0 -18
- package/templates/common/commands/wf-review.toml +0 -15
- package/templates/common/docs/harness/WF.md +0 -174
- package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +0 -25
- /package/templates/common/{docs/harness → Harness}/agent-workflow.md +0 -0
- /package/templates/common/{docs/harness → Harness}/context-loading.md +0 -0
- /package/templates/common/{docs/harness → Harness}/extension.md +0 -0
- /package/templates/common/{docs/harness → Harness}/lifecycle.md +0 -0
- /package/templates/common/{docs → Harness}/research/PRD.md +0 -0
- /package/templates/common/{docs → Harness}/research/README.md +0 -0
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
# MEMORY.md - create-harness-vibe-coding Project Resource Index
|
|
2
|
-
|
|
3
|
-
> The project fact source is reached via `CLAUDE.md -> Harness/README.md`. This file persists cross-session context: resource index, user preferences, tool usage standards.
|
|
4
|
-
> Detailed memory lives in `Harness/memory/`. Keep entries short, newest first, and free of secrets.
|
|
5
|
-
|
|
6
|
-
## Agents (Sub-agents)
|
|
7
|
-
|
|
8
|
-
- [researcher](../.claude/agents/researcher.md) — product, market, open-source, dependency, pricing, policy, and ecosystem research.
|
|
9
|
-
- [docs-researcher](../.claude/agents/docs-researcher.md) — official docs, API, SDK, config, limits, errors, and examples verification.
|
|
10
|
-
- [planner](../.claude/agents/planner.md) — task split, dependencies, write sets, and dispatch table.
|
|
11
|
-
- [architect](../.claude/agents/architect.md) — boundaries, ports, data-flow, and state impact.
|
|
12
|
-
- [test-writer](../.claude/agents/test-writer.md) — failing tests or manual verification before implementation.
|
|
13
|
-
- [implementer](../.claude/agents/implementer.md) — bounded implementation inside declared write set.
|
|
14
|
-
- [debugger](../.claude/agents/debugger.md) — smallest fix for a reproduced failure.
|
|
15
|
-
- [reviewer](../.claude/agents/reviewer.md) — read-only diff review and closeout risk.
|
|
16
|
-
- [verifier](../.claude/agents/verifier.md) — verification commands and evidence.
|
|
17
|
-
- [memory-master](../.claude/agents/memory-master.md) — memory writing, dedup, consolidation, and cross-project knowledge extraction.
|
|
18
|
-
- [context-master](../.claude/agents/context-master.md) — context analysis, compression alerts, and session knowledge extraction for memory-master.
|
|
19
|
-
- [explore-manager](../.claude/agents/explore-manager.md) — WF-MAX W0 exploration: spawn 5-10 read-only researchers, synthesize, report to CEO.
|
|
20
|
-
- [architect-manager](../.claude/agents/architect-manager.md) — WF-MAX W1 architecture: spawn 3 architects, synthesize interface contracts, report to CEO.
|
|
21
|
-
- [implement-manager](../.claude/agents/implement-manager.md) — WF-MAX W2 implementation: spawn 5-7 implementers (one file_claim each), merge, report to CEO.
|
|
22
|
-
- [review-manager](../.claude/agents/review-manager.md) — WF-MAX W2R review: spawn 3-4 reviewers (spec/code/security/perf), deduplicate, classify severity, report to CEO.
|
|
23
|
-
|
|
24
|
-
Stack-specific agents can be added after the product shape is known.
|
|
25
|
-
|
|
26
|
-
## Skills (Workflows)
|
|
27
|
-
|
|
1
|
+
# MEMORY.md - create-harness-vibe-coding Project Resource Index
|
|
2
|
+
|
|
3
|
+
> The project fact source is reached via `CLAUDE.md -> Harness/README.md`. This file persists cross-session context: resource index, user preferences, tool usage standards.
|
|
4
|
+
> Detailed memory lives in `Harness/memory/`. Keep entries short, newest first, and free of secrets.
|
|
5
|
+
|
|
6
|
+
## Agents (Sub-agents)
|
|
7
|
+
|
|
8
|
+
- [researcher](../.claude/agents/researcher.md) — product, market, open-source, dependency, pricing, policy, and ecosystem research.
|
|
9
|
+
- [docs-researcher](../.claude/agents/docs-researcher.md) — official docs, API, SDK, config, limits, errors, and examples verification.
|
|
10
|
+
- [planner](../.claude/agents/planner.md) — task split, dependencies, write sets, and dispatch table.
|
|
11
|
+
- [architect](../.claude/agents/architect.md) — boundaries, ports, data-flow, and state impact.
|
|
12
|
+
- [test-writer](../.claude/agents/test-writer.md) — failing tests or manual verification before implementation.
|
|
13
|
+
- [implementer](../.claude/agents/implementer.md) — bounded implementation inside declared write set.
|
|
14
|
+
- [debugger](../.claude/agents/debugger.md) — smallest fix for a reproduced failure.
|
|
15
|
+
- [reviewer](../.claude/agents/reviewer.md) — read-only diff review and closeout risk.
|
|
16
|
+
- [verifier](../.claude/agents/verifier.md) — verification commands and evidence.
|
|
17
|
+
- [memory-master](../.claude/agents/memory-master.md) — memory writing, dedup, consolidation, and cross-project knowledge extraction.
|
|
18
|
+
- [context-master](../.claude/agents/context-master.md) — context analysis, compression alerts, and session knowledge extraction for memory-master.
|
|
19
|
+
- [explore-manager](../.claude/agents/explore-manager.md) — WF-MAX W0 exploration: spawn 5-10 read-only researchers, synthesize, report to CEO.
|
|
20
|
+
- [architect-manager](../.claude/agents/architect-manager.md) — WF-MAX W1 architecture: spawn 3 architects, synthesize interface contracts, report to CEO.
|
|
21
|
+
- [implement-manager](../.claude/agents/implement-manager.md) — WF-MAX W2 implementation: spawn 5-7 implementers (one file_claim each), merge, report to CEO.
|
|
22
|
+
- [review-manager](../.claude/agents/review-manager.md) — WF-MAX W2R review: spawn 3-4 reviewers (spec/code/security/perf), deduplicate, classify severity, report to CEO.
|
|
23
|
+
|
|
24
|
+
Stack-specific agents can be added after the product shape is known.
|
|
25
|
+
|
|
26
|
+
## Skills (Workflows)
|
|
27
|
+
|
|
28
28
|
- [WF Mode](WF.md) — long-task workflow: exploration, second plan, implementation, review, verification, heartbeat, and recovery loop.
|
|
29
|
+
- [wf](../.claude/skills/wf/SKILL.md) — Claude Code WF skill command; mirrored for Codex at `../.agents/skills/wf/SKILL.md`.
|
|
29
30
|
- [subagent-orchestrator](../.claude/skills/subagent-orchestrator/SKILL.md) — controller-led subagent orchestration, parallel read-only passes, review gates, and recovery handoffs.
|
|
30
31
|
- [wf-readme](../.claude/skills/wf-readme/SKILL.md) — README preservation, append-only development sections, structured tables, and approved architecture diagrams.
|
|
31
32
|
- [wf-review](../.claude/skills/wf-review/SKILL.md) — cross-model peer review: invoke the other agent CLI (Codex/Claude) for independent review.
|
|
@@ -33,43 +34,44 @@ Stack-specific agents can be added after the product shape is known.
|
|
|
33
34
|
- [wf-learn](../.claude/skills/wf-learn/SKILL.md) — force memory learning cycle: context-master -> memory-master -> project + global memory.
|
|
34
35
|
- [wf-max](../.claude/skills/wf-max/SKILL.md) — maximum-parallelism workflow: write-set coloring, wave dispatch, parallel review per dimension.
|
|
35
36
|
- [wf-remove](../.claude/skills/wf-remove/SKILL.md) — Safely remove Harness framework files (SAFE/MODIFIED/USER classes), auto-prune empty directories, backup option.
|
|
36
|
-
- learn: /wf-learn
|
|
37
|
-
|
|
38
|
-
Stack-specific skills can be added after the product shape is known.
|
|
39
|
-
|
|
40
|
-
## Rules (Harness Constraints)
|
|
41
|
-
|
|
42
|
-
Located under `.claude/rules/ecc/`, auto-loaded by the CC engine:
|
|
43
|
-
|
|
44
|
-
- [common.md](../.claude/rules/ecc/common.md) — universal harness constraints for context loading, verification, subagents, and security (alwaysApply: true)
|
|
45
|
-
- Language-specific rules pending Claude Code initialization (e.g. python.md, typescript.md, etc.)
|
|
46
|
-
|
|
47
|
-
## Harness (Runtime)
|
|
48
|
-
|
|
49
|
-
- [Docs router](README.md)
|
|
50
|
-
- [WF mode](WF.md)
|
|
51
|
-
- [WF Max mode](WF-MAX.md)
|
|
52
|
-
- [0-1 lifecycle](lifecycle.md)
|
|
53
|
-
- [Research protocol](research/README.md)
|
|
54
|
-
- [Context loading protocol](context-loading.md)
|
|
55
|
-
- [Dispatch protocol](dispatch.md)
|
|
56
|
-
- [Subagent orchestration](subagents.md)
|
|
57
|
-
- [Extension contract](extension.md)
|
|
58
|
-
- [Architecture docs](architecture.md)
|
|
59
|
-
- [Agent workflow](agent-workflow.md)
|
|
60
|
-
- [Harness validator](scripts/validate-harness.mjs)
|
|
61
|
-
- [Version file](.harness-version)
|
|
62
|
-
|
|
63
|
-
## Memory Folder
|
|
64
|
-
|
|
65
|
-
- [Tool usage/reflections](memory/tool-usage-reflections.md) - repeated tool failures, better command patterns, environment-specific fixes.
|
|
66
|
-
- [User corrections/preferences](memory/user-corrections-preferences.md) - repeated user corrections, durable preferences, common-sense course corrections.
|
|
67
|
-
- [Agent lessons/patterns](memory/agent-lessons-patterns.md) - reusable lessons from review, debugging, validation, and handoff loops.
|
|
68
|
-
|
|
69
|
-
Write to the memory folder when the guidance should survive chat context loss:
|
|
70
37
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
38
|
+
Codex repo-skill mirrors live under `../.agents/skills/` with the same skill names.
|
|
39
|
+
|
|
40
|
+
Stack-specific skills can be added after the product shape is known.
|
|
41
|
+
|
|
42
|
+
## Rules (Harness Constraints)
|
|
43
|
+
|
|
44
|
+
Located under `.claude/rules/ecc/`, auto-loaded by the CC engine:
|
|
45
|
+
|
|
46
|
+
- [common.md](../.claude/rules/ecc/common.md) — universal harness constraints for context loading, verification, subagents, and security (alwaysApply: true)
|
|
47
|
+
- Language-specific rules pending Claude Code initialization (e.g. python.md, typescript.md, etc.)
|
|
48
|
+
|
|
49
|
+
## Harness (Runtime)
|
|
50
|
+
|
|
51
|
+
- [Docs router](README.md)
|
|
52
|
+
- [WF mode](WF.md)
|
|
53
|
+
- [WF Max mode](WF-MAX.md)
|
|
54
|
+
- [0-1 lifecycle](lifecycle.md)
|
|
55
|
+
- [Research protocol](research/README.md)
|
|
56
|
+
- [Context loading protocol](context-loading.md)
|
|
57
|
+
- [Dispatch protocol](dispatch.md)
|
|
58
|
+
- [Subagent orchestration](subagents.md)
|
|
59
|
+
- [Extension contract](extension.md)
|
|
60
|
+
- [Architecture docs](architecture.md)
|
|
61
|
+
- [Agent workflow](agent-workflow.md)
|
|
62
|
+
- [Harness validator](scripts/validate-harness.mjs)
|
|
63
|
+
- [Version file](.harness-version)
|
|
64
|
+
|
|
65
|
+
## Memory Folder
|
|
66
|
+
|
|
67
|
+
- [Tool usage/reflections](memory/tool-usage-reflections.md) - repeated tool failures, better command patterns, environment-specific fixes.
|
|
68
|
+
- [User corrections/preferences](memory/user-corrections-preferences.md) - repeated user corrections, durable preferences, common-sense course corrections.
|
|
69
|
+
- [Agent lessons/patterns](memory/agent-lessons-patterns.md) - reusable lessons from review, debugging, validation, and handoff loops.
|
|
70
|
+
|
|
71
|
+
Write to the memory folder when the guidance should survive chat context loss:
|
|
72
|
+
|
|
73
|
+
- Use `memory/tool-usage-reflections.md` when the same tool/use pattern fails 3+ times, a better command pattern is found, or an environment-specific fix should be reused.
|
|
74
|
+
- Use `memory/user-corrections-preferences.md` when the user explicitly asks to remember a preference, or the user corrects the same assumption/pattern 2+ times.
|
|
75
|
+
- Use `memory/agent-lessons-patterns.md` when a review/debug loop yields a reusable lesson or regression guard.
|
|
76
|
+
- Use this file for the resource index and routing pointers, not long-form lessons.
|
|
77
|
+
- Never record secrets, credentials, tokens, or private data. If a memory is ambiguous, ask before writing.
|
|
@@ -1,41 +1,48 @@
|
|
|
1
|
-
# {{projectName}}
|
|
2
|
-
|
|
3
|
-
Project development notes belong here.
|
|
4
|
-
|
|
5
|
-
## Development Commands
|
|
6
|
-
|
|
7
|
-
Record the real project commands after bootstrap:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
# Install dependencies
|
|
11
|
-
# e.g. npm install
|
|
12
|
-
|
|
13
|
-
# Run locally
|
|
14
|
-
# e.g. npm run dev
|
|
15
|
-
|
|
16
|
-
# Run tests
|
|
17
|
-
# e.g. npm test
|
|
18
|
-
|
|
19
|
-
# Build
|
|
20
|
-
# e.g. npm run build
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
Replace the examples with the real commands discovered from this project. If a command is unknown, record the open question in `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
24
|
-
|
|
25
|
-
## Git And Release Notes
|
|
26
|
-
|
|
27
|
-
- Keep branch, commit, pull request, CI, and release conventions in this README.
|
|
28
|
-
- Do not place build scripts, git policy, or project maintenance instructions in `CLAUDE.md`.
|
|
29
|
-
- Keep code architecture notes in `Harness/architecture.md` or feature docs.
|
|
30
|
-
- For README improvements, use `.claude/skills/wf-readme/SKILL.md`; preserve public docs unless a rewrite is approved.
|
|
31
|
-
|
|
1
|
+
# {{projectName}}
|
|
2
|
+
|
|
3
|
+
Project development notes belong here.
|
|
4
|
+
|
|
5
|
+
## Development Commands
|
|
6
|
+
|
|
7
|
+
Record the real project commands after bootstrap:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Install dependencies
|
|
11
|
+
# e.g. npm install
|
|
12
|
+
|
|
13
|
+
# Run locally
|
|
14
|
+
# e.g. npm run dev
|
|
15
|
+
|
|
16
|
+
# Run tests
|
|
17
|
+
# e.g. npm test
|
|
18
|
+
|
|
19
|
+
# Build
|
|
20
|
+
# e.g. npm run build
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Replace the examples with the real commands discovered from this project. If a command is unknown, record the open question in `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
24
|
+
|
|
25
|
+
## Git And Release Notes
|
|
26
|
+
|
|
27
|
+
- Keep branch, commit, pull request, CI, and release conventions in this README.
|
|
28
|
+
- Do not place build scripts, git policy, or project maintenance instructions in `CLAUDE.md`.
|
|
29
|
+
- Keep code architecture notes in `Harness/architecture.md` or feature docs.
|
|
30
|
+
- For README improvements, use `.claude/skills/wf-readme/SKILL.md`; preserve public docs unless a rewrite is approved.
|
|
31
|
+
|
|
32
32
|
## Harness
|
|
33
33
|
|
|
34
34
|
The agentic engineering harness lives in `Harness/`.
|
|
35
|
-
|
|
36
|
-
- Follow `Harness/SETUP.md` before normal work while it exists.
|
|
37
|
-
- Start at `Harness/README.md`.
|
|
38
|
-
- Load memory and resource registrations from `Harness/MEMORY.md`.
|
|
39
|
-
- Track active work in `Harness/PROGRESS.md` and `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
40
|
-
- Use `Harness/WF.md`
|
|
35
|
+
|
|
36
|
+
- Follow `Harness/SETUP.md` before normal work while it exists.
|
|
37
|
+
- Start at `Harness/README.md`.
|
|
38
|
+
- Load memory and resource registrations from `Harness/MEMORY.md`.
|
|
39
|
+
- Track active work in `Harness/PROGRESS.md` and `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
40
|
+
- Use `Harness/WF.md` for long, difficult, multi-agent work.
|
|
41
|
+
- Claude Code: invoke the `wf` skill with `/wf`.
|
|
42
|
+
- Codex: invoke the `wf` skill with `$wf` or `/skills`.
|
|
41
43
|
- Use `Harness/subagents.md` when coordinating multiple agents.
|
|
44
|
+
|
|
45
|
+
Tool discovery files stay at the repository root:
|
|
46
|
+
|
|
47
|
+
- Claude Code: `.claude/settings.json`, `.claude/agents/`, and `.claude/skills/`.
|
|
48
|
+
- Codex: `.agents/skills/` for repo skills and `.codex/hooks.json` for hook/config integration.
|
|
@@ -13,15 +13,15 @@ This scaffold is a 0-1 product harness:
|
|
|
13
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
15
|
- subagent orchestration and context-loading protocol
|
|
16
|
-
- skill-style dynamic loaders in `.claude/skills/`
|
|
16
|
+
- skill-style dynamic loaders in `.claude/skills/` for Claude Code and `.agents/skills/` for Codex
|
|
17
17
|
- lightweight harness validator
|
|
18
18
|
- test/review/feedback loop
|
|
19
19
|
|
|
20
|
-
It does not guess your stack or business domain. Claude Code should fill those through the lifecycle.
|
|
20
|
+
It does not guess your stack or business domain. Claude Code or Codex should fill those through the lifecycle.
|
|
21
21
|
|
|
22
22
|
## Bootstrap Prompt
|
|
23
23
|
|
|
24
|
-
Start Claude Code, then say:
|
|
24
|
+
Start Claude Code or Codex, then say:
|
|
25
25
|
|
|
26
26
|
```text
|
|
27
27
|
Read Harness/SETUP.md. Bootstrap this project as a 0-1 product harness.
|
|
@@ -44,29 +44,42 @@ Claude must follow this order:
|
|
|
44
44
|
10. Run `node Harness/scripts/validate-harness.mjs --strict`.
|
|
45
45
|
11. Record final verification and next feedback step in `Harness/tasks/<task-id>/PROGRESS.md`. If repeated tool failures, repeated user corrections, or reusable review/debug lessons appeared, record the concise reflection in the relevant `Harness/memory/` file.
|
|
46
46
|
|
|
47
|
-
##
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
## Install or Upgrade Path
|
|
48
|
+
|
|
49
|
+
Before writing, identify the project state:
|
|
50
|
+
|
|
51
|
+
| Project state | Required action |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| Empty or new project | Run the scaffold, then follow this file for 0-1 bootstrap |
|
|
54
|
+
| Existing project, no `Harness/` | Scan project facts first, run `--dry-run`, preserve existing files, merge only missing Harness guidance |
|
|
55
|
+
| Legacy architecture or older project docs | Treat existing code/docs as source of truth, dry-run first, then fill PRD, research, architecture, and task plans from observed facts |
|
|
56
|
+
| Existing `Harness/` | Do not use `npx` as an updater; ask whether to run `/wf-update`, `$wf-update`, `node Harness/scripts/wf-update-check.mjs`, keep untouched, or remove/reinstall after approval |
|
|
57
|
+
|
|
58
|
+
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.
|
|
59
|
+
|
|
60
|
+
1. Scan existing project facts first: top-level files, `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, `Harness/`, `README.md`, package files (`package.json`, `pyproject.toml`, `go.mod`, etc.), test commands, app entry points, CI files, existing docs, current run/build scripts, and already-installed skills/plugins/rules.
|
|
61
|
+
2. Record discovered facts and open questions in `Harness/tasks/<task-id>/PROGRESS.md` before changing harness docs.
|
|
62
|
+
3. Fill `Harness/research/PRD.md`, `Harness/research/research-results.md`, `Harness/architecture.md` from observed project facts plus explicit user input.
|
|
63
|
+
4. Existing configuration is project fact. Do not overwrite `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, `.gitignore`, settings, hooks, package files, CI, docs routers, workflow docs, or installed skills/plugins/rules unless the user explicitly approves that exact overwrite.
|
|
64
|
+
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`.
|
|
65
|
+
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.
|
|
66
|
+
|
|
67
|
+
`npx create-harness-vibe-coding` is an install/safe-merge entry, not an update engine for a project that already has an installed Harness. If `Harness/` already exists, use `/wf-update`, `$wf-update`, or `node Harness/scripts/wf-update-check.mjs`; root entry files and user-modified Harness docs require agent-mediated merge decisions.
|
|
57
68
|
|
|
58
69
|
### Agent-Link Install Intake
|
|
59
70
|
|
|
60
|
-
When the user installs by pasting the GitHub link into an agent,
|
|
61
|
-
|
|
62
|
-
| Topic | Ask When | Default If Unanswered |
|
|
63
|
-
| --- | --- | --- |
|
|
64
|
-
| Root agent entry | `CLAUDE.md`, `AGENTS.md`, `.claude/`, or other agent entry files already exist | Preserve files; ask before merging the Harness entry contract |
|
|
65
|
-
| Harness
|
|
66
|
-
|
|
|
67
|
-
| README
|
|
68
|
-
|
|
|
69
|
-
|
|
|
71
|
+
When the user installs by pasting the GitHub link into an agent, scan the project root before editing or asking generic questions. Summarize what exists, then 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.
|
|
72
|
+
|
|
73
|
+
| Topic | Ask When | Default If Unanswered |
|
|
74
|
+
| --- | --- | --- |
|
|
75
|
+
| Root agent entry | `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, or other agent entry files already exist | Preserve files; ask before merging the Harness entry contract |
|
|
76
|
+
| Existing Harness | `Harness/` already exists | Stop and ask whether to run `/wf-update`, dry-run merge missing files, keep it untouched, or remove/reinstall after approval |
|
|
77
|
+
| Harness location | Always | Use root `Harness/`; do not write harness docs into `docs/` |
|
|
78
|
+
| README ownership | root `README.md` is a public product page, package docs, or heavily customized | Preserve existing README and propose a minimal Development section |
|
|
79
|
+
| README optimization | existing README is stale, sparse, missing command tables, or the user asks for diagrams/polished docs | Offer `wf-readme`; default to append-only Development notes until the user approves a structure pass or full rewrite |
|
|
80
|
+
| Extensions | ECC, custom rules, or stack-specific skills may be useful | Scan installed skills/plugins/rules first; recommend only missing capabilities; install only after user approval |
|
|
81
|
+
| Optional capabilities | stack is known or the user wants setup guidance | Offer local workflows plus recommendation-only GitHub links: Superpowers, Caveman, agent research, and code graph; do not duplicate already-installed capabilities |
|
|
82
|
+
| Skills | stack is known and optional skills could improve testing, frontend, backend, review, or browser evidence | Install 1-2 relevant local workflows only after user approval |
|
|
70
83
|
| CI/CD | CI config exists or the project lacks a test/build gate | Document existing commands first; add CI/CD only after user approval |
|
|
71
84
|
| Verification depth | browser-visible, API, database, auth, payment, or deployment behavior is affected | Require real command evidence; require browser/API evidence when relevant |
|
|
72
85
|
| Memory/privacy | repo contains sensitive domain data, customer data, secrets, or private workflows | Enable memory index only; never record secrets or private data |
|
|
@@ -113,10 +126,10 @@ The harness validator checks for specific structural invariants. When comparing
|
|
|
113
126
|
| `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 |
|
|
114
127
|
| `AGENTS.md` | Root agent entry points to `CLAUDE.md` and `Harness/README.md`; for existing projects, merge only after explicit user consent |
|
|
115
128
|
| `README.md` | Existing README is project-owned. Preserve by default; ask whether to append only Development notes or run `wf-readme` for a structure pass with tables/diagrams before broad edits |
|
|
116
|
-
| `Harness/MEMORY.md` | All
|
|
129
|
+
| `Harness/MEMORY.md` | All 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 |
|
|
117
130
|
| `.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 |
|
|
118
131
|
| `Harness/README.md` | `## Keyword Routing` heading; `## Load By Task` table with at minimum the rows: "Need WF mode", "Adding harness to existing project", "Need implementation plan", "Need parallel agents", "Need subagents", "Need durable memory or reflection"; WF routing keywords include `/wf`, `wf mode`, `workflow mode`, and `wk mode`; explicit WF/WK output says subagent docs load immediately; `## Doc Map` with `memory/` and `subagents.md` entries; the durable communication invariant text; `Harness/README.md is the primary router` |
|
|
119
|
-
| `Harness/WF.md` | `WF mode requires multi-subagent orchestration by default`; explicit `/wf`, `wf mode`, `workflow mode`, or `wk mode` requires at least 3 distinct
|
|
132
|
+
| `Harness/WF.md` | `WF mode requires multi-subagent orchestration by default`; explicit `/wf`, `$wf`, `wf mode`, `workflow mode`, or `wk mode` requires at least 3 distinct role passes before second planning; `collaboration decision tree`; `Heartbeat Protocol` |
|
|
120
133
|
| `Harness/extension.md` | `## Non-Invasive Extension Rules` section with the "Preserve existing" rule; `## Agent Contract` section; `## Registration` section |
|
|
121
134
|
| `Harness/dispatch.md` | The durable communication invariant; common agent entries for all 9 agents; `## Handoff Format` heading |
|
|
122
135
|
| `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) |
|
|
@@ -125,7 +138,7 @@ The harness validator checks for specific structural invariants. When comparing
|
|
|
125
138
|
| `Harness/PROGRESS.md` | global task index with Active Task and task history; cross-task decisions |
|
|
126
139
|
| `Harness/tasks/<id>/PROGRESS.md` | `## Current Goal`, `## Phase`, `## Heartbeat`, `## Loaded Context` headings |
|
|
127
140
|
| `Harness/tasks/<id>/PLAN.md` | `## Tasks`, `## Parallel Dispatch`, `## Subagent Synthesis`, `## Verification` headings |
|
|
128
|
-
| `Harness/SETUP.md` |
|
|
141
|
+
| `Harness/SETUP.md` | Temporary install/bootstrap guide for new projects, existing projects, legacy upgrades, and Harness update decisions. If kept, ensure "Install or Upgrade Path" is present. |
|
|
129
142
|
| `Harness/workflows/browser-e2e.md` (if installed as optional) | `data-testid`, `accessible labels/roles`, and `inputs, buttons, filters, rows, empty/error/loading states` requirement |
|
|
130
143
|
| `Harness/workflows/ts-react-frontend.md` (if installed as optional) | Same UI selector contract as above |
|
|
131
144
|
|
|
@@ -133,7 +146,7 @@ The harness validator checks for specific structural invariants. When comparing
|
|
|
133
146
|
|
|
134
147
|
- `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` — these are new empty files
|
|
135
148
|
- `.claude/agents/*.md` — all 9 common agents
|
|
136
|
-
- `.claude/skills
|
|
149
|
+
- `.claude/skills/*.md` and mirrored `.agents/skills/*.md` — Claude Code and Codex skill adapters over the same Harness docs
|
|
137
150
|
- `.claude/rules/ecc/common.md` — universal rules (unless the project has custom rules in this file)
|
|
138
151
|
- `.claude/settings.json` — harness settings
|
|
139
152
|
- `Harness/WF.md`, `Harness/lifecycle.md`, `Harness/subagents.md`, `Harness/agent-workflow.md`, `Harness/architecture.md` — harness runtime docs
|
|
@@ -141,12 +154,15 @@ The harness validator checks for specific structural invariants. When comparing
|
|
|
141
154
|
- `AGENTS.md` — agent registry; if it already exists, ask for user consent before merging or replacing it
|
|
142
155
|
- `Harness/scripts/validate-harness.mjs` and `tests/.gitkeep` — tooling
|
|
143
156
|
|
|
144
|
-
Optional workflow examples:
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
npx create-harness-vibe-coding@latest my-app ./my-app -y --with browser-e2e,ts-react-frontend
|
|
148
|
-
npx create-harness-vibe-coding@latest my-app ./my-app -y --preset web-app
|
|
149
|
-
|
|
157
|
+
Optional workflow examples:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
npx create-harness-vibe-coding@latest my-app ./my-app -y --with browser-e2e,ts-react-frontend
|
|
161
|
+
npx create-harness-vibe-coding@latest my-app ./my-app -y --preset web-app
|
|
162
|
+
npx create-harness-vibe-coding@latest my-app ./my-app -y --recommend superpowers,codegraph
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
`--recommend` records recommendation-only external capability links in this file. It does not install third-party skills or plugins.
|
|
150
166
|
|
|
151
167
|
### Template Fill Guide
|
|
152
168
|
|
|
@@ -193,7 +209,7 @@ False confidence is worse than a question. If you catch yourself thinking "this
|
|
|
193
209
|
|
|
194
210
|
## How to Find Proper Skills
|
|
195
211
|
|
|
196
|
-
After the architecture stage reveals your stack,
|
|
212
|
+
After the architecture stage reveals your stack, inspect existing `.claude/skills/`, `.agents/skills/`, plugins, hooks, and custom rules before recommending anything. Skills teach Claude Code and Codex domain-specific patterns, testing conventions, and design rules, but duplicate skills create routing noise.
|
|
197
213
|
|
|
198
214
|
**Built-in route**: invoke the `/find-skills` skill (or say "help me find skills for X"). Examples:
|
|
199
215
|
|
|
@@ -204,28 +220,32 @@ After the architecture stage reveals your stack, install matching agent skills.
|
|
|
204
220
|
"I need a skill for PostgreSQL schema design."
|
|
205
221
|
```
|
|
206
222
|
|
|
207
|
-
**
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
223
|
+
**External recommendation links**:
|
|
224
|
+
|
|
225
|
+
| Recommendation | Source | Purpose |
|
|
226
|
+
| --- | --- | --- |
|
|
227
|
+
| Superpowers | <https://github.com/obra/Superpowers> | community skill registry and agent workflows |
|
|
228
|
+
| Caveman | <https://github.com/JuliusBrussee/caveman> | terse, low-token agent behavior and memory compression |
|
|
229
|
+
| Agent Research | <https://github.com/lingzhi227/agent-research-skills> | research-agent skills for literature, product, dependency, and ecosystem investigation |
|
|
230
|
+
| CodeGraph | <https://github.com/colbymchenry/codegraph> | code graph or repository-map tooling |
|
|
231
|
+
|
|
232
|
+
These are links for the user's agent to evaluate. This scaffold does not maintain third-party install steps. If a user selects one, first check whether an equivalent capability is already installed; then present the GitHub link and ask for approval before the user's agent follows that project's own README.
|
|
214
233
|
|
|
215
234
|
**Manual discovery**: search GitHub and npm directly using patterns from `Harness/research/README.md#Architecture Decision References`.
|
|
216
235
|
|
|
217
236
|
**Priority order**:
|
|
218
|
-
1.
|
|
219
|
-
2.
|
|
220
|
-
3. GitHub
|
|
237
|
+
1. Existing project skills/plugins/rules first - do not recommend duplicates.
|
|
238
|
+
2. `/find-skills` or the runtime's local skill discovery - fastest and respects the user's tool environment.
|
|
239
|
+
3. Selected external GitHub links - let the user's agent read that project's README and install only after approval.
|
|
240
|
+
4. GitHub search - when the first three miss niche domains.
|
|
221
241
|
|
|
222
|
-
**What to install**: after finding skills, add
|
|
242
|
+
**What to install**: after finding skills, add the canonical copy to `.claude/skills/<name>/SKILL.md` and mirror the same file to `.agents/skills/<name>/SKILL.md` when Codex should discover it. Follow `Harness/extension.md` for compatibility. Start with 1-2 skills per stack area; more is not better.
|
|
223
243
|
|
|
224
|
-
This scaffold includes built-in harness skills
|
|
244
|
+
This scaffold includes built-in harness skills in `.claude/skills/*` and mirrored Codex repo skills in `.agents/skills/*`. Keep those. Add stack-specific ones alongside them.
|
|
225
245
|
|
|
226
246
|
## Optional Agent Assets
|
|
227
247
|
|
|
228
|
-
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.
|
|
248
|
+
After the product shape is known, Claude Code may also install or copy stack-specific agents, rules, and hooks into `.claude/`. Codex-discoverable workflow skills belong in `.agents/skills/`. Follow `Harness/extension.md` for every added asset.
|
|
229
249
|
|
|
230
250
|
Examples:
|
|
231
251
|
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Agent Lessons And Patterns
|
|
2
|
-
|
|
3
|
-
Purpose: record reusable lessons from review, debugging, validation, and handoff loops.
|
|
4
|
-
|
|
5
|
-
Write here when:
|
|
6
|
-
- A review/debug loop reveals a reusable prevention pattern.
|
|
7
|
-
- A validation failure exposes a missing regression check.
|
|
8
|
-
- A handoff, dispatch, or context-loading pattern should be repeated or avoided.
|
|
9
|
-
|
|
10
|
-
Entry format, newest first:
|
|
11
|
-
|
|
12
|
-
```markdown
|
|
13
|
-
## YYYY-MM-DD - Short Lesson Name
|
|
14
|
-
|
|
15
|
-
- Lesson: the reusable pattern.
|
|
16
|
-
- Source: review finding, debug loop, failed verification, or handoff.
|
|
17
|
-
- Apply when: the task shape or files where this matters.
|
|
18
|
-
- Regression guard: test, validator check, docs update, or manual evidence to keep it from recurring.
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Keep entries lightweight and actionable. Avoid secrets and speculative lessons.
|
|
1
|
+
# Agent Lessons And Patterns
|
|
2
|
+
|
|
3
|
+
Purpose: record reusable lessons from review, debugging, validation, and handoff loops.
|
|
4
|
+
|
|
5
|
+
Write here when:
|
|
6
|
+
- A review/debug loop reveals a reusable prevention pattern.
|
|
7
|
+
- A validation failure exposes a missing regression check.
|
|
8
|
+
- A handoff, dispatch, or context-loading pattern should be repeated or avoided.
|
|
9
|
+
|
|
10
|
+
Entry format, newest first:
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
## YYYY-MM-DD - Short Lesson Name
|
|
14
|
+
|
|
15
|
+
- Lesson: the reusable pattern.
|
|
16
|
+
- Source: review finding, debug loop, failed verification, or handoff.
|
|
17
|
+
- Apply when: the task shape or files where this matters.
|
|
18
|
+
- Regression guard: test, validator check, docs update, or manual evidence to keep it from recurring.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Keep entries lightweight and actionable. Avoid secrets and speculative lessons.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Tool Usage Reflections
|
|
2
|
-
|
|
3
|
-
Purpose: record repeated tool failures, better command patterns, and environment-specific fixes.
|
|
4
|
-
|
|
5
|
-
Write here when:
|
|
6
|
-
- The same tool/use pattern fails 3+ times in one task or across repeated tasks.
|
|
7
|
-
- A more reliable command pattern replaces a brittle one.
|
|
8
|
-
- The environment needs a durable fix, flag, path rule, shell syntax, or startup sequence.
|
|
9
|
-
|
|
10
|
-
Entry format, newest first:
|
|
11
|
-
|
|
12
|
-
```markdown
|
|
13
|
-
## YYYY-MM-DD - Short Pattern Name
|
|
14
|
-
|
|
15
|
-
- Trigger: what failed or repeated.
|
|
16
|
-
- Better pattern: the command, tool usage, or sequence to use next time.
|
|
17
|
-
- Evidence: command output summary, error text, or affected environment.
|
|
18
|
-
- Scope: when this applies and when it does not.
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Keep entries concise. Do not record secrets, credentials, private tokens, or one-off noise.
|
|
1
|
+
# Tool Usage Reflections
|
|
2
|
+
|
|
3
|
+
Purpose: record repeated tool failures, better command patterns, and environment-specific fixes.
|
|
4
|
+
|
|
5
|
+
Write here when:
|
|
6
|
+
- The same tool/use pattern fails 3+ times in one task or across repeated tasks.
|
|
7
|
+
- A more reliable command pattern replaces a brittle one.
|
|
8
|
+
- The environment needs a durable fix, flag, path rule, shell syntax, or startup sequence.
|
|
9
|
+
|
|
10
|
+
Entry format, newest first:
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
## YYYY-MM-DD - Short Pattern Name
|
|
14
|
+
|
|
15
|
+
- Trigger: what failed or repeated.
|
|
16
|
+
- Better pattern: the command, tool usage, or sequence to use next time.
|
|
17
|
+
- Evidence: command output summary, error text, or affected environment.
|
|
18
|
+
- Scope: when this applies and when it does not.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Keep entries concise. Do not record secrets, credentials, private tokens, or one-off noise.
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# User Corrections And Preferences
|
|
2
|
-
|
|
3
|
-
Purpose: record repeated user corrections, durable preferences, and common-sense course corrections.
|
|
4
|
-
|
|
5
|
-
Write here when:
|
|
6
|
-
- The user says "remember", "never", "next time", "always", or "I prefer".
|
|
7
|
-
- The user corrects the same assumption/pattern 2+ times.
|
|
8
|
-
- A correction changes how future work should be scoped, explained, verified, or handed off.
|
|
9
|
-
|
|
10
|
-
Entry format, newest first:
|
|
11
|
-
|
|
12
|
-
```markdown
|
|
13
|
-
## YYYY-MM-DD - Short Preference Name
|
|
14
|
-
|
|
15
|
-
- Correction/preference: the durable instruction.
|
|
16
|
-
- Trigger: what prompted the correction.
|
|
17
|
-
- Apply when: future contexts where this should guide behavior.
|
|
18
|
-
- Avoid: contexts where this should not be over-applied.
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Do not record ordinary chat. If the preference is ambiguous, ask before writing it. Never store secrets.
|
|
1
|
+
# User Corrections And Preferences
|
|
2
|
+
|
|
3
|
+
Purpose: record repeated user corrections, durable preferences, and common-sense course corrections.
|
|
4
|
+
|
|
5
|
+
Write here when:
|
|
6
|
+
- The user says "remember", "never", "next time", "always", or "I prefer".
|
|
7
|
+
- The user corrects the same assumption/pattern 2+ times.
|
|
8
|
+
- A correction changes how future work should be scoped, explained, verified, or handed off.
|
|
9
|
+
|
|
10
|
+
Entry format, newest first:
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
## YYYY-MM-DD - Short Preference Name
|
|
14
|
+
|
|
15
|
+
- Correction/preference: the durable instruction.
|
|
16
|
+
- Trigger: what prompted the correction.
|
|
17
|
+
- Apply when: future contexts where this should guide behavior.
|
|
18
|
+
- Avoid: contexts where this should not be over-applied.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Do not record ordinary chat. If the preference is ambiguous, ask before writing it. Never store secrets.
|