create-harness-vibe-coding 0.3.4 → 0.4.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/package.json +1 -1
- package/templates/common/.claude/commands/wf-max.md +2 -2
- package/templates/common/.claude/commands/wf.md +2 -2
- package/templates/common/.claude/skills/wf-max/SKILL.md +2 -2
- package/templates/common/CLAUDE.md +8 -1
- package/templates/common/docs/README.md +4 -4
- package/templates/common/docs/harness/WF-MAX.md +5 -5
- package/templates/common/docs/harness/WF.md +2 -2
- package/templates/common/scripts/validate-harness.mjs +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# /wf
|
|
1
|
+
# /wf-max [task]
|
|
2
2
|
|
|
3
|
-
Enter maximum-parallelism workflow mode. Splits tasks into minimal non-conflicting units and dispatches as many subagents as possible in parallel waves.
|
|
3
|
+
Enter maximum-parallelism workflow mode with an optional task description. Splits tasks into minimal non-conflicting units and dispatches as many subagents as possible in parallel waves.
|
|
4
4
|
|
|
5
5
|
## Required
|
|
6
6
|
|
|
@@ -84,9 +84,9 @@ CLOSEOUT: CEO → context-master + memory-master (direct)
|
|
|
84
84
|
- all changes share single interface → serial
|
|
85
85
|
- overhead > 30% → degrade
|
|
86
86
|
|
|
87
|
-
## /wf vs /wf
|
|
87
|
+
## /wf vs /wf-max
|
|
88
88
|
|
|
89
|
-
| | /wf | /wf
|
|
89
|
+
| | /wf | /wf-max |
|
|
90
90
|
|---|-----|------|
|
|
91
91
|
| Organization | flat | CEO→Mgr→Worker (3-tier) |
|
|
92
92
|
| Span formula | none | sqrt(files) + domain cap |
|
|
@@ -11,7 +11,7 @@ Root entry for Claude Code. Keep this file short.
|
|
|
11
11
|
- `Harness/README.md` is the task router. For every request, check `Harness/README.md#Load By Task`; if a row matches, read and follow those docs before acting.
|
|
12
12
|
- `Harness/PROGRESS.md` is the global task index. Load at session start to see active task and task history.
|
|
13
13
|
- If work spans more than one step, create a task capsule from `Harness/tasks/_template/` and update `Harness/tasks/<task-id>/PROGRESS.md`.
|
|
14
|
-
- Use `/wf
|
|
14
|
+
- Use `/wf <task>`, `/wf-max [task]`, `wf mode`, `workflow mode`, `wk mode`, `Harness/WF.md`, or `Harness/WF-MAX.md` for long, difficult, uncertain, multi-file, or repeated-failure work.
|
|
15
15
|
- Use `subagent-orchestrator` and `Harness/subagents.md` when coordinating multiple subagents.
|
|
16
16
|
- Use `/wf update` to check for and apply scaffold updates from GitHub. See `.claude/skills/wf-update/SKILL.md`.
|
|
17
17
|
- Subagents are readers and reporters. Only the main agent writes to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`.
|
|
@@ -67,3 +67,10 @@ Root entry for Claude Code. Keep this file short.
|
|
|
67
67
|
- **Context threshold trigger**: when context approaches ~85% of the window, dispatch `context-master` to analyze and write a non-blocking compression suggestion to `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat`.
|
|
68
68
|
- **Closeout trigger**: during WF closeout, dispatch `context-master` to extract durable knowledge, then `memory-master` to consolidate into `Harness/memory/*`.
|
|
69
69
|
- Never record secrets, credentials, tokens, or private data.
|
|
70
|
+
|
|
71
|
+
## 7. CEO Constraints
|
|
72
|
+
|
|
73
|
+
- Never call `EnterPlanMode` — it blocks the session waiting for user confirmation. Delegate all planning to `planner` subagents.
|
|
74
|
+
- **Never write code directly in `/wf` or `/wf-max` mode.** CEO orchestrates only: dispatch subagents, review results, synthesize, decide next wave. Subagents write code; CEO does not touch files.
|
|
75
|
+
- Exception: only when all subagents have failed, or the task is trivially flat (single file, <20 lines). Otherwise delegate everything.
|
|
76
|
+
- Why: CEO context is the bottleneck. Every direct edit bloats context and degrades orchestration quality.
|
|
@@ -51,7 +51,7 @@ Keywords are retrieval hints, not project facts.
|
|
|
51
51
|
|
|
52
52
|
Load the matching row only. Add adjacent docs only when the loaded doc directly names them.
|
|
53
53
|
|
|
54
|
-
Routing priority: if a request explicitly says `/wf
|
|
54
|
+
Routing priority: if a request explicitly says `/wf <task>`, `/wf-max [task]`, `wf mode`, `workflow mode`, or `wk mode`, or is long, difficult, uncertain, repeated-failure, migration, architecture-heavy, browser-visible, or broad multi-agent implementation work, choose the WF row first. `wf-mode` MUST then delegate subagent coordination to `subagent-orchestrator`.
|
|
55
55
|
|
|
56
56
|
| When to Read | Keywords | Load | Output |
|
|
57
57
|
| --- | --- | --- | --- |
|
|
@@ -60,7 +60,7 @@ Routing priority: if a request explicitly says `/wf`, `/wf max`, `wf mode`, `wor
|
|
|
60
60
|
| Need MVP/spec | PRD, MVP, scope, requirement, acceptance, non-goal | [research/PRD.md](research/PRD.md) | one-page PRD with verifiable acceptance criteria |
|
|
61
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
62
|
| Need WF mode | wf, /wf, wf mode, workflow mode, wk mode, long task, difficult, stuck, repeated failure | [WF.md](WF.md), [PROGRESS.md](PROGRESS.md), the current task `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md` | exploration plan, second plan, heartbeat, recovery loop; explicit WF/WK loads subagent docs immediately |
|
|
63
|
-
| Need WF Max mode | /wf
|
|
63
|
+
| Need WF Max mode | /wf-max, wf max, maximum parallelism, max parallel | [WF-MAX.md](WF-MAX.md), [WF.md](WF.md), [subagents.md](subagents.md), [dispatch.md](dispatch.md) | max-parallel exploration, write-set coloring, wave dispatch |
|
|
64
64
|
| Adding harness to existing project | existing project, onboarding, migrate, bootstrap, preserve, conflict | [extension.md](extension.md), [PROGRESS.md](PROGRESS.md), root `README.md` and package/CI files | discovered project facts, preserved config, manual registration plan |
|
|
65
65
|
| README optimization | README, docs, quickstart, install docs, architecture diagram, command table, documentation polish | root `README.md`, `.claude/skills/readme-optimizer/SKILL.md`, [PROGRESS.md](PROGRESS.md), [architecture.md](architecture.md) as needed | approved README mode, preserved sections, proposed diff plan |
|
|
66
66
|
| Need implementation plan | plan, task, write set, verify, milestone, progress | [PROGRESS.md](PROGRESS.md), the current task `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md`, [agent-workflow.md](agent-workflow.md) | tasks, write set, verification commands |
|
|
@@ -79,7 +79,7 @@ Routing priority: if a request explicitly says `/wf`, `/wf max`, `wf mode`, `wor
|
|
|
79
79
|
## Gates
|
|
80
80
|
|
|
81
81
|
- Move phases in order unless the user asks for a fast lane.
|
|
82
|
-
- Use `/wf`, `wf mode`, `workflow mode`, or `wk mode` when a task is long, difficult, uncertain, multi-file, or repeatedly failing.
|
|
82
|
+
- Use `/wf <task>`, `/wf-max [task]`, `wf mode`, `workflow mode`, or `wk mode` when a task is long, difficult, uncertain, multi-file, or repeatedly failing.
|
|
83
83
|
- Do not code before the PRD has MVP, non-goals, and acceptance criteria.
|
|
84
84
|
- Do not cross a layer boundary without reading `domain/ports.md` and updating architecture or ports.
|
|
85
85
|
- Before adding failure paths, read `data-flow.md`.
|
|
@@ -108,7 +108,7 @@ Harness/tasks/_template/ task capsule template (copy to create new tas
|
|
|
108
108
|
Harness/WF.md long-task workflow and recovery loop
|
|
109
109
|
Harness/WF-MAX.md max-parallelism workflow with wave dispatch
|
|
110
110
|
.claude/skills/wf-max/SKILL.md max-parallelism skill loader
|
|
111
|
-
.claude/commands/wf-max.md /wf
|
|
111
|
+
.claude/commands/wf-max.md /wf-max slash command bridge
|
|
112
112
|
Harness/lifecycle.md 0-1 product flow
|
|
113
113
|
Harness/subagents.md controller-led subagent orchestration
|
|
114
114
|
Harness/context-loading.md dynamic loading and subagent packs
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Trigger
|
|
4
4
|
|
|
5
|
-
- Explicit: `/wf
|
|
5
|
+
- Explicit: `/wf-max [task]`
|
|
6
6
|
- Auto: WF task with write-set ≥5 files AND clear disjoint boundaries
|
|
7
7
|
- parallelismScore = (files × avgLines × 3 / 800) × independenceFactor
|
|
8
8
|
- spawn ≥2.0 | maybe 1.0-2.0 | skip <1.0 (degrade to /wf)
|
|
@@ -21,7 +21,7 @@ CEO(1) ──┬── Manager₁(span) ──┬── Worker₁..ₙ
|
|
|
21
21
|
└── Manager₂(span) ── Worker₁..ₙ
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
- CEO: intent, scope, integration, final verification. Direct reports 3-5 Managers.
|
|
24
|
+
- CEO: intent, scope, integration, final verification. Direct reports 3-5 Managers. **CEO never writes code directly** — dispatch Workers for all file changes. CEO only synthesizes results and decides next waves.
|
|
25
25
|
- Manager: domain partition → parallel dispatch → synthesize → report. Serial across domains; parallel within domain.
|
|
26
26
|
- Worker: single file per write Worker (implementer, one file_claim). Single dimension/topic per read Worker (reviewer, researcher). File claims must be file-level disjoint. Topic-level splitting within a single file is only allowed for read-only Workers.
|
|
27
27
|
- depth ≥3: Manager spawns Sub-Manager (span ≤7) instead of Worker. Recursive until leaf condition met.
|
|
@@ -113,16 +113,16 @@ overhead(depth) = 0.10 (depth≤2) | 0.20 (depth=3) | 0.35 (depth≥4)
|
|
|
113
113
|
- overhead > 0.30 → degrade to /wf
|
|
114
114
|
- independenceFactor: 1.0 (no deps) | 0.3-0.7 (shared imports)
|
|
115
115
|
|
|
116
|
-
## When NOT to use /wf
|
|
116
|
+
## When NOT to use /wf-max
|
|
117
117
|
|
|
118
118
|
- files < 5 → use /wf
|
|
119
119
|
- all changes share single interface → serial dependency
|
|
120
120
|
- import/re-export refactor → global consistency required
|
|
121
121
|
- communication overhead > 30% → degrade
|
|
122
122
|
|
|
123
|
-
## /wf vs /wf
|
|
123
|
+
## /wf vs /wf-max
|
|
124
124
|
|
|
125
|
-
| Dimension | /wf | /wf
|
|
125
|
+
| Dimension | /wf | /wf-max |
|
|
126
126
|
|------------------|------------------|----------------------------------|
|
|
127
127
|
| Organization | flat | CEO → Mgr → Worker (3-tier) |
|
|
128
128
|
| Exploration | 3-5 serial | Mgr → 10 parallel |
|
|
@@ -13,7 +13,7 @@ Enter WF mode when any of these are true:
|
|
|
13
13
|
- The task needs research, architecture judgment, browser/API validation, or migration planning.
|
|
14
14
|
- Confidence in intent, architecture, or implementation is below 95%.
|
|
15
15
|
- The same command, test, tool, or approach fails twice.
|
|
16
|
-
- The user explicitly says `/wf
|
|
16
|
+
- The user explicitly says `/wf-max [task]` or `wf max` (for maximum-parallelism mode, see [WF-MAX.md](WF-MAX.md)).
|
|
17
17
|
|
|
18
18
|
## Multi-Subagent Requirement
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ WF mode requires multi-subagent orchestration by default.
|
|
|
25
25
|
- Record every dispatch or bounded-pass fallback in `Harness/tasks/<task-id>/PLAN.md#Subagent Dispatch`.
|
|
26
26
|
- If subagents are unavailable, emulate the same roles as separate bounded passes and record why the fallback was used.
|
|
27
27
|
|
|
28
|
-
For maximum-parallelism mode (write-set coloring, wave dispatch, parallel reviewers), use `/wf
|
|
28
|
+
For maximum-parallelism mode (write-set coloring, wave dispatch, parallel reviewers), use `/wf-max [task]` and see [WF-MAX.md](WF-MAX.md).
|
|
29
29
|
|
|
30
30
|
## WF Loop
|
|
31
31
|
|
|
@@ -410,7 +410,7 @@ requireText('Harness/WF.md', 'Explicit `/wf`, `wf mode`, `workflow mode`, or `wk
|
|
|
410
410
|
requireText('Harness/WF.md', '.claude/agents/', 'WF built-in agent roster path');
|
|
411
411
|
requireText('Harness/WF.md', '7:3 collaboration bias', 'WF collaboration bias');
|
|
412
412
|
requireText('Harness/WF.md', 'Harness/tasks/', 'WF task directory reference');
|
|
413
|
-
requireText('Harness/README.md', '
|
|
413
|
+
requireText('Harness/README.md', '`wf mode`, `workflow mode`, or `wk mode`', 'WF/WK router aliases');
|
|
414
414
|
requireText('Harness/README.md', 'explicit WF/WK loads subagent docs immediately', 'explicit WF/WK router output');
|
|
415
415
|
requireText('.claude/skills/harness-router/SKILL.md', '`/wf`, `wf mode`, `workflow mode`, `wk mode`', 'harness-router WF/WK aliases');
|
|
416
416
|
requireText('.claude/skills/wf-mode/SKILL.md', 'Harness/WF.md', 'wf-mode loads WF document');
|
|
@@ -441,12 +441,12 @@ requireText('CLAUDE.md', '/wf update', 'wf update startup instruction');
|
|
|
441
441
|
requireText('Harness/README.md', 'Need harness update', 'update routing row');
|
|
442
442
|
requireText('Harness/WF-MAX.md', 'write-set coloring', 'WF-MAX coloring algorithm');
|
|
443
443
|
requireText('Harness/WF-MAX.md', 'wave dispatch', 'WF-MAX wave dispatch');
|
|
444
|
-
requireText('Harness/README.md', '/wf
|
|
444
|
+
requireText('Harness/README.md', '/wf-max', 'wf max router alias');
|
|
445
445
|
requireText('Harness/README.md', 'WF-MAX.md', 'WF-MAX router reference');
|
|
446
446
|
requireText('Harness/subagents.md', 'Max parallelism', 'subagents max parallelism row');
|
|
447
447
|
requireText('Harness/dispatch.md', 'Concurrency group', 'dispatch concurrency group field');
|
|
448
448
|
requireText('Harness/dispatch.md', 'File claim', 'dispatch file claim field');
|
|
449
|
-
requireText('CLAUDE.md', '/wf
|
|
449
|
+
requireText('CLAUDE.md', '/wf-max', 'wf max startup instruction');
|
|
450
450
|
|
|
451
451
|
if (errors.length) {
|
|
452
452
|
console.error(`Harness validation failed${strict ? ' (strict)' : ''}:`);
|