create-harness-vibe-coding 0.7.0 → 0.7.2
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/skills/wf-max/SKILL.md +19 -0
- package/templates/common/.claude/skills/wf-review/SKILL.md +12 -0
- package/templates/common/.codex/config.toml +2 -0
- package/templates/common/.codex/hooks.json +37 -0
- package/templates/common/.harness-version +15 -7
- package/templates/common/AGENTS.md +26 -3
- package/templates/common/commands/wf-max.toml +18 -0
- package/templates/common/commands/wf-review.toml +15 -0
package/package.json
CHANGED
|
@@ -44,6 +44,25 @@ If tempted to edit source → STOP. Spawn a Worker.
|
|
|
44
44
|
5. **Manager MUST spawn ≥2 Workers or dissolve.** 0-1 Workers = Phantom Manager (AP5).
|
|
45
45
|
6. **Overhead > 0.30 → degrade to /wf.** Record the decision in PLAN.md.
|
|
46
46
|
|
|
47
|
+
## When to Ask the User (AskUserQuestion)
|
|
48
|
+
|
|
49
|
+
CEO MUST use the `AskUserQuestion` tool when:
|
|
50
|
+
|
|
51
|
+
- Intent ambiguous after exploration (≥2 valid interpretations)
|
|
52
|
+
- Scope trade-off needs user decision (e.g. "full rewrite vs minimal fix")
|
|
53
|
+
- Architecture direction has ≥2 viable approaches with different trade-offs
|
|
54
|
+
- User gave vague request like "improve performance" or "clean up code"
|
|
55
|
+
- D-GATE reveals >7 files — ask user to narrow scope
|
|
56
|
+
|
|
57
|
+
Format: 2-4 options per question, `multiSelect: false` for exclusive choices. Each option must include a `description` explaining the trade-off. Example:
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
Q: "Auth refactor scope?"
|
|
61
|
+
[1] "Minimal" — fix token validation only, 1 file
|
|
62
|
+
[2] "Standard" — extract middleware + add tests, 3-5 files
|
|
63
|
+
[3] "Full" — new auth module with pluggable providers, 8-12 files
|
|
64
|
+
```
|
|
65
|
+
|
|
47
66
|
## Manager Synthesis (retry/escalation)
|
|
48
67
|
|
|
49
68
|
```
|
|
@@ -7,6 +7,18 @@ description: Cross-model peer review. Invokes the other agent CLI (Codex or Clau
|
|
|
7
7
|
|
|
8
8
|
**Anti-Self-Review Guard:** Use the OTHER CLI. Claude→Codex, Codex→Claude. Never self-review.
|
|
9
9
|
|
|
10
|
+
## When to Ask the User (AskUserQuestion)
|
|
11
|
+
|
|
12
|
+
BEFORE invoking the other CLI, use `AskUserQuestion` to clarify:
|
|
13
|
+
|
|
14
|
+
- Review focus ambiguous → "Which dimension should I prioritize?"
|
|
15
|
+
- Multiple changes to review → "Review all files or specific module?"
|
|
16
|
+
- User said "review this" without specifics → ask scope
|
|
17
|
+
|
|
18
|
+
Format: 2-3 options with trade-off descriptions.
|
|
19
|
+
|
|
20
|
+
**Codex fallback** (no AskUserQuestion tool): output numbered options in markdown, wait for user reply.
|
|
21
|
+
|
|
10
22
|
## CLI Detection & Invocation
|
|
11
23
|
|
|
12
24
|
| Runtime | Command |
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "node Harness/scripts/wf-mode-hook.mjs"
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"UserPromptSubmit": [
|
|
15
|
+
{
|
|
16
|
+
"matcher": "",
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "command",
|
|
20
|
+
"command": "node Harness/scripts/wf-mode-hook.mjs"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"PreToolUse": [
|
|
26
|
+
{
|
|
27
|
+
"matcher": "Edit|Write|MultiEdit|Bash",
|
|
28
|
+
"hooks": [
|
|
29
|
+
{
|
|
30
|
+
"type": "command",
|
|
31
|
+
"command": "node Harness/scripts/wf-mode-hook.mjs"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generator": "0.7.
|
|
3
|
-
"generated": "2026-06-
|
|
2
|
+
"generator": "0.7.2",
|
|
3
|
+
"generated": "2026-06-26T10:23:43.805Z",
|
|
4
4
|
"options": [],
|
|
5
5
|
"autoCheck": true,
|
|
6
6
|
"source": "https://raw.githubusercontent.com/zingspark/create-harness-vibe-coding/main/templates/common/",
|
|
@@ -30,12 +30,14 @@
|
|
|
30
30
|
".claude/settings.json": "sha256-3ee53515a829b85267b7330fad9e90d797f1bd16964ec9f876fdd630a0d2c093",
|
|
31
31
|
".claude/skills/subagent-orchestrator/SKILL.md": "sha256-c9b90d8cfbeb8e7c1f89519e34d7da8dc0f0cad102092443e221518c723320e1",
|
|
32
32
|
".claude/skills/wf-learn/SKILL.md": "sha256-9e9100a161327d53a35709d881745c5d1473de058707537b3566474f3c113cac",
|
|
33
|
-
".claude/skills/wf-max/SKILL.md": "sha256-
|
|
33
|
+
".claude/skills/wf-max/SKILL.md": "sha256-48571a7e7ab121ceda34a7280311a2a673c67a4da80940f8ea6ab3fc36fcf26f",
|
|
34
34
|
".claude/skills/wf-readme/SKILL.md": "sha256-4d34ee3b6b305fa2581f5d8cb31e9152759f3df8bf8fa08efbb43782f128bdcd",
|
|
35
35
|
".claude/skills/wf-remove/SKILL.md": "sha256-4057d8f0672ad44990354670aeb6c5be0c3d1f934781b26f776323f070f4a984",
|
|
36
|
-
".claude/skills/wf-review/SKILL.md": "sha256-
|
|
36
|
+
".claude/skills/wf-review/SKILL.md": "sha256-43269317af25e38c283ae859c69567b6624cf3be8079feb43aee4afe5d1f0814",
|
|
37
37
|
".claude/skills/wf-update/SKILL.md": "sha256-9c40d89ef52762793d97461da36709148af4a03222c352fde40f0193d0dddb58",
|
|
38
|
-
"
|
|
38
|
+
".codex/config.toml": "sha256-d37497c3278121598a663564ab38b53f658969717f78decb661ddd11c66551ea",
|
|
39
|
+
".codex/hooks.json": "sha256-6d8d237b4a038a48fbadbdd087d9a68dba024bcfd748f59968252ebae7cc2e96",
|
|
40
|
+
"AGENTS.md": "sha256-bbc17b119ff579e500dcd36e78f9cf600ccda27fa7b32903f233ad96a97058ff",
|
|
39
41
|
"CLAUDE.md": "sha256-432bd4dc9bdf9958d79ae697f72d1c9723be23fb156d43889ede84e305ed5e70",
|
|
40
42
|
"Harness/MEMORY.md": "sha256-368bba7ae0a63b931dc547c013dd4c361e597ca5a54affa662778cd0f441d788",
|
|
41
43
|
"Harness/README.md": "sha256-9ac42a3ad00890bfefba8cb658c5eb1d4ad086075d0fa70492e01c8b95dea770",
|
|
@@ -55,7 +57,9 @@
|
|
|
55
57
|
"Harness/scripts/wf-statusline.ps1": "sha256-53c2e0178e9a0826516731b1145f96f55ff6c57fb1f31bf6f1a7210a8502ca65",
|
|
56
58
|
"Harness/scripts/wf-statusline.sh": "sha256-053908cd4d53dea162252077c6cc5544ccd164455739f6edfbf254945f06ea2f",
|
|
57
59
|
"Harness/scripts/wf-update-check.mjs": "sha256-8c3fa219e902056c20c55b2abfa5152349d9e00f4faa5bef646f78bfb71c486f",
|
|
58
|
-
"Harness/subagents.md": "sha256-e66f4bef8ce6c118cf0ec8c511f727a8c2c40bce25dcf5b754489d89915a47ba"
|
|
60
|
+
"Harness/subagents.md": "sha256-e66f4bef8ce6c118cf0ec8c511f727a8c2c40bce25dcf5b754489d89915a47ba",
|
|
61
|
+
"commands/wf-max.toml": "sha256-89818556f93d51cfe508a0c92de171f0f46be65d8001eb3eac68e46f18ddf783",
|
|
62
|
+
"commands/wf-review.toml": "sha256-d2b58f3892d2f7c5c689baa9e3361c1e355fae72bf632a6ed61f1a16743848f9"
|
|
59
63
|
},
|
|
60
64
|
"sources": {
|
|
61
65
|
".claude/agents/architect-manager.md": ".claude/agents/architect-manager.md",
|
|
@@ -88,6 +92,8 @@
|
|
|
88
92
|
".claude/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
|
|
89
93
|
".claude/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
|
|
90
94
|
".claude/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
|
|
95
|
+
".codex/config.toml": ".codex/config.toml",
|
|
96
|
+
".codex/hooks.json": ".codex/hooks.json",
|
|
91
97
|
".gitignore": ".gitignore",
|
|
92
98
|
"AGENTS.md": "AGENTS.md",
|
|
93
99
|
"CLAUDE.md": "CLAUDE.md",
|
|
@@ -122,6 +128,8 @@
|
|
|
122
128
|
"Harness/tasks/_template/NOTES.md": "docs/tasks/_template/NOTES.md",
|
|
123
129
|
"Harness/tasks/_template/PLAN.md": "docs/tasks/_template/PLAN.md",
|
|
124
130
|
"Harness/tasks/_template/PROGRESS.md": "docs/tasks/_template/PROGRESS.md",
|
|
125
|
-
"README.md": "README.md"
|
|
131
|
+
"README.md": "README.md",
|
|
132
|
+
"commands/wf-max.toml": "commands/wf-max.toml",
|
|
133
|
+
"commands/wf-review.toml": "commands/wf-review.toml"
|
|
126
134
|
}
|
|
127
135
|
}
|
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
|
|
3
|
-
Entry point for coding agents.
|
|
3
|
+
Entry point for coding agents. This project uses the Harness scaffold — a 0-1 product workflow contract.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Startup
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Read `CLAUDE.md` first, then `Harness/MEMORY.md`, then `Harness/README.md`.
|
|
8
|
+
Do not bulk-read `Harness/`. Let `Harness/README.md#Load By Task` route you.
|
|
9
|
+
|
|
10
|
+
## CEO Contract (READ FIRST)
|
|
11
|
+
|
|
12
|
+
`/wf-max` active → you are **CEO, not implementer**.
|
|
13
|
+
|
|
14
|
+
| ALLOWED (W0) | FORBIDDEN (always on source) |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Read Harness docs, CLAUDE.md | Edit / Write / MultiEdit |
|
|
17
|
+
| Grep/Glob for scoping | Bash (except `ls`/`dir`/`tree`/`git`) |
|
|
18
|
+
| Agent spawn (ONE message) | Deep source reads → delegate to Worker |
|
|
19
|
+
| Write PLAN.md / PROGRESS.md | Sequential spawn (AP6) |
|
|
20
|
+
|
|
21
|
+
**Tempted to edit source? STOP. Spawn a Worker.**
|
|
22
|
+
|
|
23
|
+
## Key Commands
|
|
24
|
+
|
|
25
|
+
| Command | Purpose |
|
|
26
|
+
|---------|---------|
|
|
27
|
+
| `/wf-max [task]` | Maximum parallelism: CEO→Manager→Worker |
|
|
28
|
+
| `/wf-review [focus]` | Cross-model peer review (use OTHER CLI) |
|
|
29
|
+
| `/wf <task>` | Standard workflow mode |
|
|
30
|
+
| `/wf-auto` | Perpetual auto-optimization |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
description = "Maximum parallelism: CEO→Manager→Worker hierarchy with D-GATE enforcement"
|
|
2
|
+
prompt = """
|
|
3
|
+
WF-MAX ACTIVE: You are CEO, not implementer.
|
|
4
|
+
|
|
5
|
+
ALLOWED first actions:
|
|
6
|
+
1. Read CLAUDE.md, Harness/MEMORY.md, Harness/README.md, Harness/WF-MAX.md
|
|
7
|
+
2. Create task PLAN/PROGRESS
|
|
8
|
+
3. Spawn W0 read-only agents in ONE message
|
|
9
|
+
|
|
10
|
+
FORBIDDEN before W0 returns:
|
|
11
|
+
- Read source files deeply (scoping only via Grep/Glob)
|
|
12
|
+
- Edit / Write / MultiEdit on source files
|
|
13
|
+
- Bash (except ls/dir/tree/git status/git diff)
|
|
14
|
+
|
|
15
|
+
Loop: W0 Explore → E-GATE → W1 Architecture → D-GATE (Dispatch Table + Self-Audit) → W2 Implement (single-message dispatch) → W2R Review → W3+ dependent → Integration → Closeout
|
|
16
|
+
|
|
17
|
+
Full spec: Harness/WF-MAX.md
|
|
18
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
description = "Cross-model peer review — 5 dimensions with severity classification"
|
|
2
|
+
prompt = """
|
|
3
|
+
Cross-model peer review. Use the OTHER CLI for independent review.
|
|
4
|
+
|
|
5
|
+
Dimensions:
|
|
6
|
+
1. Correctness — bugs, edge cases, race conditions, null/undefined, logic flaws?
|
|
7
|
+
2. Security — injection, auth bypass, data exposure, input validation, unsafe deps?
|
|
8
|
+
3. Architecture — boundary violations, coupling, state ownership, interface contract breaks?
|
|
9
|
+
4. Performance — algorithmic complexity, N+1 queries, memory leaks?
|
|
10
|
+
5. Tests — coverage gaps, missing edge cases, CI regressions?
|
|
11
|
+
|
|
12
|
+
Severity: Critical (security/data-loss/crash → must fix), High (bug/regression → should fix), Medium (maintainability → may defer), Low (style → optional)
|
|
13
|
+
|
|
14
|
+
Review CLI: use the OTHER one. Claude → codex exec. Codex → claude -p.
|
|
15
|
+
"""
|