create-harness-vibe-coding 0.7.2 → 0.8.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.
- package/README-CN.md +91 -155
- package/README.md +200 -177
- 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 +41 -34
- 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
package/README.md
CHANGED
|
@@ -1,210 +1,233 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="https://img.shields.io/npm/v/create-harness-vibe-coding?color=blue" alt="npm">
|
|
3
|
-
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="node">
|
|
4
|
-
<img src="https://img.shields.io/npm/l/create-harness-vibe-coding" alt="license">
|
|
5
|
-
<img src="https://img.shields.io/github/stars/zingspark/create-harness-vibe-coding?style=social" alt="stars">
|
|
6
|
-
</p>
|
|
7
|
-
|
|
8
|
-
<h1 align="center">create-harness-vibe-coding</h1>
|
|
9
|
-
<p align="center">
|
|
10
|
-
<b>A harness for your AI agent. One scaffold. Zero drift.</b><br>
|
|
11
|
-
</p>
|
|
12
|
-
|
|
13
|
-
## One Command. Done.
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npx create-harness-vibe-coding@latest my-project
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Your Agent Knows What to Do
|
|
20
|
-
|
|
21
|
-
Already have a project? **Don't read the docs**. Paste this sentence. Your agent handles the rest.
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
Follow the README at https://github.com/zingspark/create-harness-vibe-coding to configure this project with create-harness-vibe-coding; before editing, ask the Agent-link install intake questions; for a new project run the 0-1 bootstrap, and for an existing project or legacy architecture run a dry-run first, preserve existing files, merge only missing Harness guidance, then follow Harness/SETUP.md.
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
That's it. Two paths into the harness — you type `npx`, or your agent reads the sentence.
|
|
28
|
-
|
|
29
|
-
Chinese README: [README-CN.md](README-CN.md)
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## What You Get
|
|
34
|
-
|
|
35
|
-
| You get | So your agent |
|
|
36
|
-
|---------|---------------|
|
|
37
|
-
| `CLAUDE.md` + `Harness/README.md` | Starts with a router, not a novel |
|
|
38
|
-
| `Harness/tasks/` + `Harness/PROGRESS.md` | Tracks work across sessions |
|
|
39
|
-
| `/wf` workflow + heartbeat | Finishes long tasks without getting lost |
|
|
40
|
-
| `/wf update` | Pulls scaffold fixes from GitHub |
|
|
41
|
-
| `subagent-orchestrator` | Runs parallel agents without collision |
|
|
42
|
-
| `memory-master` + `context-master` | Learns from failures, compresses when full |
|
|
43
|
-
| PRD + Research templates | Asks "what" and "why" before coding |
|
|
44
|
-
| 11 built-in agents | Research, plan, architect, test, build, review, debug, verify |
|
|
45
|
-
| Architecture docs | Knows where boundaries live |
|
|
46
|
-
| Context-loading protocol | Loads only the docs each agent needs |
|
|
47
|
-
| `.claude/` skeleton | Agents, skills, commands, hooks — ready to go |
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Why This Exists
|
|
52
|
-
|
|
53
|
-
Most AI coding projects fail before anyone writes a line of bad code. The agent jumps straight to implementation, drifts from intent, forgets yesterday's decisions, and bloats its context with the whole repo.
|
|
54
|
-
|
|
55
|
-
| Without harness | With harness |
|
|
56
|
-
|-----------------|--------------|
|
|
57
|
-
| Idea → code. Hope. | Idea → Research → PRD → Architecture → Build → Verify |
|
|
58
|
-
| Agent reads everything | Router loads the one doc it needs |
|
|
59
|
-
| Subagent gets a vague "fix it" | Context pack: role, boundary, return format |
|
|
60
|
-
| Drift invisible until demo | Validator flags missing pieces |
|
|
61
|
-
| Long task stalls, context explodes | `/wf` heartbeat + recovery loop |
|
|
62
|
-
| Scaffold rots | `/wf update` pulls latest from GitHub |
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## How It Works
|
|
67
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/npm/v/create-harness-vibe-coding?color=blue" alt="npm">
|
|
3
|
+
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="node">
|
|
4
|
+
<img src="https://img.shields.io/npm/l/create-harness-vibe-coding" alt="license">
|
|
5
|
+
<img src="https://img.shields.io/github/stars/zingspark/create-harness-vibe-coding?style=social" alt="stars">
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<h1 align="center">create-harness-vibe-coding</h1>
|
|
9
|
+
<p align="center">
|
|
10
|
+
<b>A harness for your AI agent. One scaffold. Zero drift.</b><br>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
## One Command. Done.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx create-harness-vibe-coding@latest my-project
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Your Agent Knows What to Do
|
|
20
|
+
|
|
21
|
+
Already have a project? **Don't read the docs**. Paste this sentence. Your agent handles the rest.
|
|
22
|
+
|
|
68
23
|
```text
|
|
69
|
-
|
|
70
|
-
↓
|
|
71
|
-
Agent reads Harness/SETUP.md
|
|
72
|
-
↓
|
|
73
|
-
Router loads only what the task needs
|
|
74
|
-
↓
|
|
75
|
-
PRD → Research → Architecture → first task capsule
|
|
76
|
-
↓
|
|
77
|
-
Build → Test → Review → Verify → Feedback
|
|
78
|
-
↓
|
|
79
|
-
/wf update keeps the harness current
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
```mermaid
|
|
83
|
-
graph TD
|
|
84
|
-
A[ /wf Enter ] --> B[ Explore: 3+ parallel agents ]
|
|
85
|
-
B --> C[ Second Plan ]
|
|
86
|
-
C --> D[ Build: test → implement ]
|
|
87
|
-
D --> E[ Dual-Gate Review ]
|
|
88
|
-
E --> F{ Pass? }
|
|
89
|
-
F -->| No | G[ Debug → Fix → Loop ]
|
|
90
|
-
G --> E
|
|
91
|
-
F -->| Yes | H[ Closeout: memory + context ]
|
|
92
|
-
H --> I[ /wf update ]
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
|
-
## Usage
|
|
98
|
-
|
|
99
|
-
### New project
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
npx create-harness-vibe-coding@latest my-project
|
|
103
|
-
cd my-project
|
|
104
|
-
# Your agent reads Harness/SETUP.md. Done.
|
|
24
|
+
Follow the README at https://github.com/zingspark/create-harness-vibe-coding to configure this project with create-harness-vibe-coding; before editing, scan the project root and ask the Agent-link install intake questions; if Harness/ already exists, ask how to handle it before writing; for a new project run the 0-1 bootstrap, and for an existing project or legacy architecture run a dry-run first, preserve existing files, merge only missing Harness guidance, then follow Harness/SETUP.md.
|
|
105
25
|
```
|
|
106
|
-
|
|
26
|
+
|
|
27
|
+
That's it. Two paths into the harness — you type `npx`, or your agent reads the sentence.
|
|
28
|
+
|
|
29
|
+
Chinese README: [README-CN.md](README-CN.md)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## What You Get
|
|
34
|
+
|
|
35
|
+
| You get | So your agent |
|
|
36
|
+
|---------|---------------|
|
|
37
|
+
| `CLAUDE.md` + `Harness/README.md` | Starts with a router, not a novel |
|
|
38
|
+
| `Harness/tasks/` + `Harness/PROGRESS.md` | Tracks work across sessions |
|
|
39
|
+
| `/wf` / `$wf` workflow + heartbeat | Finishes long tasks without getting lost |
|
|
40
|
+
| `/wf-update` / `$wf-update` | Pulls scaffold fixes from GitHub |
|
|
41
|
+
| `subagent-orchestrator` | Runs parallel agents without collision |
|
|
42
|
+
| `memory-master` + `context-master` | Learns from failures, compresses when full |
|
|
43
|
+
| PRD + Research templates | Asks "what" and "why" before coding |
|
|
44
|
+
| 11 built-in agents | Research, plan, architect, test, build, review, debug, verify |
|
|
45
|
+
| Architecture docs | Knows where boundaries live |
|
|
46
|
+
| Context-loading protocol | Loads only the docs each agent needs |
|
|
47
|
+
| `.claude/` + `.agents/skills/` | Claude Code and Codex skill adapters over the same Harness docs |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Why This Exists
|
|
52
|
+
|
|
53
|
+
Most AI coding projects fail before anyone writes a line of bad code. The agent jumps straight to implementation, drifts from intent, forgets yesterday's decisions, and bloats its context with the whole repo.
|
|
54
|
+
|
|
55
|
+
| Without harness | With harness |
|
|
56
|
+
|-----------------|--------------|
|
|
57
|
+
| Idea → code. Hope. | Idea → Research → PRD → Architecture → Build → Verify |
|
|
58
|
+
| Agent reads everything | Router loads the one doc it needs |
|
|
59
|
+
| Subagent gets a vague "fix it" | Context pack: role, boundary, return format |
|
|
60
|
+
| Drift invisible until demo | Validator flags missing pieces |
|
|
61
|
+
| Long task stalls, context explodes | `/wf` heartbeat + recovery loop |
|
|
62
|
+
| Scaffold rots | `/wf-update` or `$wf-update` pulls latest from GitHub |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## How It Works
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
npx create-harness-vibe-coding@latest my-project
|
|
70
|
+
↓
|
|
71
|
+
Agent reads Harness/SETUP.md
|
|
72
|
+
↓
|
|
73
|
+
Router loads only what the task needs
|
|
74
|
+
↓
|
|
75
|
+
PRD → Research → Architecture → first task capsule
|
|
76
|
+
↓
|
|
77
|
+
Build → Test → Review → Verify → Feedback
|
|
78
|
+
↓
|
|
79
|
+
/wf-update or $wf-update keeps the harness current
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```mermaid
|
|
83
|
+
graph TD
|
|
84
|
+
A[ /wf Enter ] --> B[ Explore: 3+ parallel agents ]
|
|
85
|
+
B --> C[ Second Plan ]
|
|
86
|
+
C --> D[ Build: test → implement ]
|
|
87
|
+
D --> E[ Dual-Gate Review ]
|
|
88
|
+
E --> F{ Pass? }
|
|
89
|
+
F -->| No | G[ Debug → Fix → Loop ]
|
|
90
|
+
G --> E
|
|
91
|
+
F -->| Yes | H[ Closeout: memory + context ]
|
|
92
|
+
H --> I[ /wf-update or $wf-update ]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Usage
|
|
98
|
+
|
|
99
|
+
### New project
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npx create-harness-vibe-coding@latest my-project
|
|
103
|
+
cd my-project
|
|
104
|
+
# Your agent reads Harness/SETUP.md. Done.
|
|
105
|
+
```
|
|
106
|
+
|
|
107
107
|
### Existing project — safe merge
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
110
|
# Preview first. Always.
|
|
111
111
|
npx create-harness-vibe-coding@latest my-app . -y --dry-run
|
|
112
|
-
|
|
112
|
+
|
|
113
113
|
# Add only what's missing. Never overwrite.
|
|
114
114
|
npx create-harness-vibe-coding@latest my-app . -y --on-conflict skip
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
|
120
|
-
|
|
121
|
-
|
|
|
122
|
-
| `--
|
|
123
|
-
| `--on-conflict
|
|
124
|
-
| `--
|
|
117
|
+
`npx` is an install and safe-merge entry, not an update engine for an already installed Harness. Once `Harness/` exists, use `/wf-update` in Claude Code, `$wf-update` in Codex, or `node Harness/scripts/wf-update-check.mjs`; root entry conflicts such as `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, and local Harness docs need agent-mediated merge decisions.
|
|
118
|
+
|
|
119
|
+
| Flag | Does |
|
|
120
|
+
|------|------|
|
|
121
|
+
| `-y` | Skip prompts |
|
|
122
|
+
| `--dry-run` | Preview — no writes |
|
|
123
|
+
| `--on-conflict skip` | Keep your files, add only new ones |
|
|
124
|
+
| `--on-conflict backup` | Rename existing → write new |
|
|
125
|
+
| `--on-conflict overwrite` | Replace (destructive) |
|
|
126
|
+
| `--list-options` | Show optional workflows |
|
|
125
127
|
| `--with <ids>` | Add workflow by id |
|
|
128
|
+
| `--recommend <ids>` | Record recommendation-only external capabilities |
|
|
126
129
|
| `--preset <name>` | Add `web-app` or `fullstack` preset |
|
|
127
130
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
Without `-y`, interactive mode offers checkbox selection for optional workflows and external recommendations.
|
|
132
|
+
|
|
133
|
+
### Optional workflows
|
|
134
|
+
|
|
135
|
+
```bash
|
|
131
136
|
npx create-harness-vibe-coding@latest my-app -y --with browser-e2e
|
|
132
137
|
npx create-harness-vibe-coding@latest my-app -y --preset web-app
|
|
138
|
+
npx create-harness-vibe-coding@latest my-app -y --recommend superpowers,codegraph
|
|
133
139
|
```
|
|
134
|
-
|
|
135
|
-
| Workflow | For |
|
|
136
|
-
|----------|-----|
|
|
137
|
-
| `browser-e2e` | Screenshots, traces, smoke tests |
|
|
138
|
-
| `ui-ux-review` | Responsive, a11y, polish |
|
|
139
|
-
| `ts-react-frontend` | TypeScript + React + Vite |
|
|
140
|
+
|
|
141
|
+
| Workflow | For |
|
|
142
|
+
|----------|-----|
|
|
143
|
+
| `browser-e2e` | Screenshots, traces, smoke tests |
|
|
144
|
+
| `ui-ux-review` | Responsive, a11y, polish |
|
|
145
|
+
| `ts-react-frontend` | TypeScript + React + Vite |
|
|
140
146
|
| `python-backend` | FastAPI, pytest |
|
|
141
147
|
| `github-pr-review` | PR diff review + CI evidence |
|
|
142
148
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
When your agent reads the one-sentence prompt above, it asks **at most 3 questions** before touching files:
|
|
146
|
-
|
|
147
|
-
- Is `CLAUDE.md` or `AGENTS.md` already there? → merge, don't replace
|
|
148
|
-
- Is `docs/` used for product docs? → puts harness in `Harness/`, not `docs/`
|
|
149
|
-
- What stack? → installs matching optional workflows
|
|
150
|
-
|
|
151
|
-
If a file already exists, the agent asks first. The default is always **preserve**.
|
|
149
|
+
External recommendations are recorded in `Harness/SETUP.md` but not installed automatically:
|
|
152
150
|
|
|
153
|
-
|
|
151
|
+
| Recommendation | For |
|
|
152
|
+
|----------------|-----|
|
|
153
|
+
| `superpowers` | Community skill registry and agent workflows |
|
|
154
|
+
| `caveman` | Strict low-abstraction workflow/style capability |
|
|
155
|
+
| `agent-research` | Broader product, dependency, and ecosystem research agents |
|
|
156
|
+
| `codegraph` | Code graph or repository-map tooling |
|
|
154
157
|
|
|
155
|
-
|
|
156
|
-
"Read Harness/SETUP.md. Bootstrap this project."
|
|
157
|
-
"Use /wf for this migration."
|
|
158
|
-
"/wf update — pull latest harness improvements."
|
|
159
|
-
```
|
|
158
|
+
### Agent-link intake
|
|
160
159
|
|
|
161
|
-
|
|
160
|
+
When your agent reads the one-sentence prompt above, it must first scan the project root, then ask **at most 3 blocking questions** before touching files.
|
|
162
161
|
|
|
163
|
-
|
|
164
|
-
npm test
|
|
165
|
-
node Harness/scripts/validate-harness.mjs
|
|
166
|
-
```
|
|
162
|
+
Root scan checklist: list top-level files, detect `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.agents/`, `.codex/`, `Harness/`, package files, CI files, docs folders, and obvious app entry points.
|
|
167
163
|
|
|
168
|
-
|
|
164
|
+
Ask these only when they affect writes:
|
|
169
165
|
|
|
170
|
-
|
|
166
|
+
- If `CLAUDE.md` or `AGENTS.md` already exists, should missing Harness guidance be merged, kept separate, or skipped?
|
|
167
|
+
- If `Harness/` already exists, should the agent run update/dry-run, merge missing files, keep it untouched, or remove/reinstall after approval?
|
|
168
|
+
- Which optional capabilities should be enabled: local workflows (`browser-e2e`, `ui-ux-review`, `ts-react-frontend`, `python-backend`, `github-pr-review`) and recommendation-only external options (`Superpowers`, `Caveman`, `agent research`, `code graph`)?
|
|
171
169
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
170
|
+
Harness docs always live in root `Harness/`; do not route Harness files through `docs/`. If a file already exists, the agent asks first. The default is always **preserve**.
|
|
171
|
+
|
|
172
|
+
### After scaffolding
|
|
173
|
+
|
|
174
|
+
```text
|
|
175
|
+
"Read Harness/SETUP.md. Bootstrap this project."
|
|
176
|
+
"Use /wf for this migration." # Claude Code
|
|
177
|
+
"Use $wf for this migration." # Codex
|
|
178
|
+
"/wf-update" or "$wf-update" # pull latest harness improvements
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Verify
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
npm test
|
|
185
|
+
node Harness/scripts/validate-harness.mjs
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Inside
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
my-project/
|
|
194
|
+
├── CLAUDE.md ← Agent entry
|
|
195
|
+
├── AGENTS.md ← Agent registry
|
|
196
|
+
├── .gitignore
|
|
197
|
+
├── Harness/
|
|
198
|
+
│ ├── README.md ← Doc router
|
|
199
|
+
│ ├── SETUP.md ← Bootstrap guide (delete after init)
|
|
200
|
+
│ ├── MEMORY.md ← Resource index
|
|
201
|
+
│ ├── PROGRESS.md ← Task tracker
|
|
202
|
+
│ ├── WF.md / WF-MAX.md ← Workflow modes
|
|
203
|
+
│ ├── tasks/ ← Per-task capsules
|
|
204
|
+
│ ├── research/ ← PRD + research templates
|
|
205
|
+
│ ├── memory/ ← Durable self-learning
|
|
206
|
+
│ └── scripts/ ← Validator
|
|
187
207
|
├── .claude/
|
|
188
208
|
│ ├── agents/ ← 11 common agents
|
|
189
|
-
│ ├── skills/ ←
|
|
190
|
-
│ ├── commands/ ← /wf, /wf update
|
|
209
|
+
│ ├── skills/ ← Claude Code skill commands
|
|
191
210
|
│ └── rules/ ← Universal coding rules
|
|
211
|
+
├── .agents/
|
|
212
|
+
│ └── skills/ ← Codex repo skills
|
|
213
|
+
├── .codex/
|
|
214
|
+
│ └── hooks.json ← Codex hook bridge
|
|
192
215
|
└── tests/
|
|
193
216
|
```
|
|
194
217
|
|
|
195
|
-
`Harness/` holds all harness docs.
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## Footprint
|
|
200
|
-
|
|
201
|
-
| | |
|
|
202
|
-
|---|---|
|
|
203
|
-
| Runtime | None |
|
|
204
|
-
| Dependencies | 2 (`@clack/prompts`, `picocolors`) |
|
|
205
|
-
| Node | ≥ 18 |
|
|
206
|
-
| Generated code | None until you pick a stack |
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
MIT © [zingspark](https://github.com/zingspark)
|
|
218
|
+
`Harness/` holds all harness docs. Tool-discovery folders stay at root: `.claude/` for Claude Code, `.agents/skills/` for Codex repo skills, and `.codex/` for Codex config/hooks.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Footprint
|
|
223
|
+
|
|
224
|
+
| | |
|
|
225
|
+
|---|---|
|
|
226
|
+
| Runtime | None |
|
|
227
|
+
| Dependencies | 2 (`@clack/prompts`, `picocolors`) |
|
|
228
|
+
| Node | ≥ 18 |
|
|
229
|
+
| Generated code | None until you pick a stack |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
MIT © [zingspark](https://github.com/zingspark)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import('../src/index.js');
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import('../src/index.js');
|
package/package.json
CHANGED
|
@@ -1,43 +1,45 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "create-harness-vibe-coding",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Scaffold a 0-1 product harness for AI-assisted research, PRD, planning, architecture, build, test, and feedback loops",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": {
|
|
7
|
-
"create-harness-vibe-coding": "
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"bin/",
|
|
11
|
-
"src/",
|
|
12
|
-
"templates/",
|
|
13
|
-
"README-CN.md"
|
|
14
|
-
],
|
|
15
|
-
"scripts": {
|
|
16
|
-
"start": "node src/index.js",
|
|
17
|
-
"build:version": "node scripts/build-version.mjs",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "create-harness-vibe-coding",
|
|
3
|
+
"version": "0.8.0",
|
|
4
|
+
"description": "Scaffold a 0-1 product harness for AI-assisted research, PRD, planning, architecture, build, test, and feedback loops",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-harness-vibe-coding": "bin/create-harness-vibe-coding.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin/",
|
|
11
|
+
"src/",
|
|
12
|
+
"templates/",
|
|
13
|
+
"README-CN.md"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"start": "node src/index.js",
|
|
17
|
+
"build:version": "node scripts/build-version.mjs",
|
|
18
|
+
"prepush": "node scripts/pre-push-check.mjs",
|
|
19
|
+
"prepush:install": "node scripts/pre-push-check.mjs --install",
|
|
20
|
+
"test": "node --test tests/*.test.js",
|
|
21
|
+
"test:smoke": "node --test tests/cli-smoke.test.js",
|
|
22
|
+
"pack:smoke": "node --test tests/pack-smoke.test.js"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@clack/prompts": "^0.7.0",
|
|
26
|
+
"picocolors": "^1.1.0"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18"
|
|
30
|
+
},
|
|
31
|
+
"repository": {
|
|
32
|
+
"type": "git",
|
|
33
|
+
"url": "git+https://github.com/zingspark/create-harness-vibe-coding.git"
|
|
34
|
+
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"claude-code",
|
|
37
|
+
"harness",
|
|
38
|
+
"scaffold",
|
|
39
|
+
"vibe-coding",
|
|
40
|
+
"agentic",
|
|
41
|
+
"ecc",
|
|
42
|
+
"superpowers"
|
|
43
|
+
],
|
|
44
|
+
"license": "MIT"
|
|
45
|
+
}
|