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.
Files changed (82) hide show
  1. package/README-CN.md +103 -155
  2. package/README.md +213 -175
  3. package/bin/create-harness-vibe-coding.js +2 -2
  4. package/package.json +45 -43
  5. package/src/generator.js +115 -77
  6. package/src/index.js +159 -49
  7. package/src/prompts.js +95 -27
  8. package/templates/common/.claude/agents/architect-manager.md +45 -45
  9. package/templates/common/.claude/agents/context-master.md +77 -77
  10. package/templates/common/.claude/agents/debugger.md +41 -41
  11. package/templates/common/.claude/agents/explore-manager.md +41 -41
  12. package/templates/common/.claude/agents/implement-manager.md +49 -49
  13. package/templates/common/.claude/agents/implementer.md +40 -40
  14. package/templates/common/.claude/agents/memory-master.md +66 -66
  15. package/templates/common/.claude/agents/planner.md +34 -34
  16. package/templates/common/.claude/agents/researcher.md +41 -41
  17. package/templates/common/.claude/agents/review-manager.md +56 -56
  18. package/templates/common/.claude/agents/test-writer.md +38 -38
  19. package/templates/common/.claude/agents/verifier.md +32 -32
  20. package/templates/common/.claude/rules/ecc/common.md +45 -45
  21. package/templates/common/.claude/settings.json +68 -68
  22. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +36 -31
  23. package/templates/common/.claude/skills/wf/SKILL.md +36 -0
  24. package/templates/common/.claude/skills/wf-learn/SKILL.md +13 -28
  25. package/templates/common/.claude/skills/wf-max/SKILL.md +24 -88
  26. package/templates/common/.claude/skills/wf-readme/SKILL.md +49 -49
  27. package/templates/common/.claude/skills/wf-remove/SKILL.md +17 -38
  28. package/templates/common/.claude/skills/wf-review/SKILL.md +19 -69
  29. package/templates/common/.claude/skills/wf-update/SKILL.md +19 -61
  30. package/templates/common/.codex/config.toml +2 -2
  31. package/templates/common/.codex/hooks.json +37 -37
  32. package/templates/common/.harness-version +53 -51
  33. package/templates/common/AGENTS.md +30 -30
  34. package/templates/common/CLAUDE.md +94 -94
  35. package/templates/common/{docs/harness → Harness}/PROGRESS.md +17 -17
  36. package/templates/common/{docs → Harness}/README.md +18 -17
  37. package/templates/common/{docs/harness → Harness}/WF-MAX.md +223 -223
  38. package/templates/common/Harness/WF.md +217 -0
  39. package/templates/common/{docs/harness → Harness}/architecture.md +126 -126
  40. package/templates/common/{docs/harness → Harness}/dispatch.md +99 -99
  41. package/templates/common/{docs → Harness}/research/research-results.md +66 -66
  42. package/templates/common/{docs/harness → Harness}/subagents.md +194 -194
  43. package/templates/common/{docs → Harness}/tasks/_template/ARTIFACTS.md +3 -3
  44. package/templates/common/{docs → Harness}/tasks/_template/NOTES.md +3 -3
  45. package/templates/common/{docs → Harness}/tasks/_template/PLAN.md +40 -40
  46. package/templates/common/{docs → Harness}/tasks/_template/PROGRESS.md +29 -29
  47. package/templates/common/MEMORY.md +68 -66
  48. package/templates/common/README.md +44 -37
  49. package/templates/common/SETUP.md +67 -47
  50. package/templates/common/memory/agent-lessons-patterns.md +21 -21
  51. package/templates/common/memory/tool-usage-reflections.md +21 -21
  52. package/templates/common/memory/user-corrections-preferences.md +21 -21
  53. package/templates/common/scripts/scan-clean.mjs +450 -449
  54. package/templates/common/scripts/validate-harness.mjs +56 -34
  55. package/templates/common/scripts/wf-mode-hook.mjs +318 -318
  56. package/templates/common/scripts/wf-remove.mjs +400 -384
  57. package/templates/common/scripts/wf-statusline.ps1 +38 -38
  58. package/templates/common/scripts/wf-statusline.sh +48 -48
  59. package/templates/common/scripts/wf-update-check.mjs +389 -389
  60. package/templates/optional/catalog.json +63 -29
  61. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +194 -194
  62. package/templates/optional/skills/browser-e2e/{docs → Harness}/workflows/browser-e2e.md +75 -75
  63. package/templates/optional/skills/github-pr-review/{docs → Harness}/workflows/github-pr-review.md +28 -28
  64. package/templates/optional/skills/python-backend/{docs → Harness}/workflows/python-backend.md +34 -34
  65. package/templates/optional/skills/ts-react-frontend/{docs → Harness}/workflows/ts-react-frontend.md +35 -35
  66. package/templates/optional/skills/ui-ux-review/{docs → Harness}/workflows/ui-ux-review.md +26 -26
  67. package/templates/common/.claude/commands/wf-learn.md +0 -17
  68. package/templates/common/.claude/commands/wf-max.md +0 -49
  69. package/templates/common/.claude/commands/wf-remove.md +0 -23
  70. package/templates/common/.claude/commands/wf-review.md +0 -25
  71. package/templates/common/.claude/commands/wf-update.md +0 -17
  72. package/templates/common/.claude/commands/wf.md +0 -31
  73. package/templates/common/commands/wf-max.toml +0 -18
  74. package/templates/common/commands/wf-review.toml +0 -15
  75. package/templates/common/docs/harness/WF.md +0 -174
  76. package/templates/optional/skills/browser-e2e/.claude/commands/wf-browser.md +0 -25
  77. /package/templates/common/{docs/harness → Harness}/agent-workflow.md +0 -0
  78. /package/templates/common/{docs/harness → Harness}/context-loading.md +0 -0
  79. /package/templates/common/{docs/harness → Harness}/extension.md +0 -0
  80. /package/templates/common/{docs/harness → Harness}/lifecycle.md +0 -0
  81. /package/templates/common/{docs → Harness}/research/PRD.md +0 -0
  82. /package/templates/common/{docs → Harness}/research/README.md +0 -0
package/README-CN.md CHANGED
@@ -1,212 +1,160 @@
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>
1
+ # create-harness-vibe-coding
7
2
 
8
- <h1 align="center">create-harness-vibe-coding</h1>
9
- <p align="center">
10
- <b>给你的 AI Agent 一个脚手架。一条命令,告别漂移。</b>
11
- </p>
3
+ AI coding agent 用的 0-1 产品脚手架。核心目标:让 agent 先读路由、先确认事实、再写代码。
12
4
 
13
- ## 一条命令。搞定。
5
+ English README: [README.md](README.md)
6
+
7
+ ## 一条命令
14
8
 
15
9
  ```bash
16
10
  npx create-harness-vibe-coding@latest my-project
17
11
  ```
18
12
 
19
- ## 一句话交给你的 Agent
13
+ ## 一句话交给 Agent
20
14
 
21
- 已有项目?**不用读文档**。把这句话贴给它。Agent 知道该做什么。
15
+ 已有项目时,不要让 agent 猜。把这句话贴给它:
22
16
 
23
17
  ```text
24
- 请按照 https://github.com/zingspark/create-harness-vibe-coding 的 README 为当前项目配置 create-harness-vibe-coding;编辑前先询问 Agent-link 安装前置问题;新项目走 0-1 bootstrap,老项目或老架构升级先 dry-run,保留现有文件,只合并缺失的 Harness 规范,然后遵循 Harness/SETUP.md
18
+ 请完整阅读并严格遵循 https://github.com/zingspark/create-harness-vibe-coding,为当前项目配置 create-harness-vibe-coding。
25
19
  ```
26
20
 
27
- 就两条路:
28
- - **你来**:敲上面那行 `npx`
29
- - **交给 Agent**:贴上面那句话
21
+ 复杂规则不塞进这句话里。README 和生成后的 `Harness/SETUP.md` 才是安装、升级、合并和可选能力选择的准则。
30
22
 
31
- [English README](README.md)
23
+ ## 你会得到什么
32
24
 
33
- ---
25
+ | 文件/能力 | 作用 |
26
+ |---|---|
27
+ | `CLAUDE.md` + `AGENTS.md` | 根目录 agent 入口 |
28
+ | `Harness/README.md` | Harness 路由器 |
29
+ | `Harness/tasks/` + `Harness/PROGRESS.md` | 跨会话任务状态 |
30
+ | `.claude/skills/` | Claude Code workflow skill 入口 |
31
+ | `.agents/skills/` | Codex repo skill 入口 |
32
+ | `.codex/` | Codex hooks/config |
33
+ | `/wf` / `$wf` | 长任务 workflow |
34
+ | `/wf-max` / `$wf-max` | 最大并行 workflow |
35
+ | `/wf-review` / `$wf-review` | 交叉审查 workflow |
36
+ | `Harness/scripts/validate-harness.mjs` | 结构校验 |
34
37
 
35
- ## 你能得到什么
38
+ `Harness/` 承载所有 Harness 文档。不要把 Harness 文件放进 `docs/`。
36
39
 
37
- | 得到 | 效果 |
38
- |------|------|
39
- | `CLAUDE.md` + `Harness/README.md` | Agent 从路由器开始,不是读长篇大论 |
40
- | `Harness/tasks/` + `Harness/PROGRESS.md` | 跨会话追踪任务进度 |
41
- | `/wf` 工作流 + 心跳 | 长任务不迷路,失败自动恢复 |
42
- | `/wf update` | 从 GitHub 拉取脚手架最新改进 |
43
- | `subagent-orchestrator` | 并行 Agent 不打架 |
44
- | `memory-master` + `context-master` | 从失败中学习,上下文快满时压缩 |
45
- | PRD + 调研模板 | 先问"做什么""为什么",再写代码 |
46
- | 11 个内置 Agent | 调研、规划、架构、测试、构建、审查、调试、验证 |
47
- | 架构文档 | 知道边界在哪里 |
48
- | 上下文加载协议 | 每个子 Agent 只读它需要的文档 |
49
- | `.claude/` 骨架 | Agent、Skill、命令、钩子——开箱即用 |
40
+ Claude Code Codex 共用同一套核心 Harness 文档,但发现入口不同:
50
41
 
51
- ---
42
+ - Claude Code:`.claude/skills/<name>/SKILL.md`,通常用 `/wf` 调用。
43
+ - Codex:`.agents/skills/<name>/SKILL.md`,通常用 `$wf` 或 `/skills` 调用。
44
+ - `.codex/` 只放 Codex 配置和 hooks;不要再使用根目录 `commands/*.toml` 伪装 Codex slash command。
52
45
 
53
- ## 为什么需要它
46
+ ## 安装或升级路径
54
47
 
55
- 太多 AI 编程项目在代码写烂之前就死了。Agent 跳过思考直接写代码,忘记昨天的决策,上下文塞满整个仓库。
48
+ 写文件前,agent 必须先判断当前项目属于哪一种:
56
49
 
57
- | 没有脚手架 | 有了它 |
58
- |------------|--------|
59
- | 想法 → 代码。赌一把。 | 想法 调研 PRD → 架构 → 构建 → 验证 |
60
- | Agent 读完整个仓库 | 路由器只加载需要的那份文档 |
61
- | Agent 收到一句模糊的"修一下" | 上下文包:角色、边界、返回格式 |
62
- | 漂移只到演示时才暴露 | 验证器标记缺失项 |
63
- | 长任务卡死,上下文爆炸 | `/wf` 心跳 + 恢复循环 |
64
- | 脚手架腐烂 | `/wf update` 从 GitHub 拉最新版 |
50
+ | 项目状态 | 必须怎么做 |
51
+ |---|---|
52
+ | 空项目或新项目 | 运行脚手架,然后遵循 `Harness/SETUP.md` 0-1 bootstrap |
53
+ | 已有项目,没有 `Harness/` | 先扫描项目事实,先 `--dry-run`,保留现有文件,只合并缺失的 Harness 指南 |
54
+ | 老项目或老架构迁移 | 现有代码和文档是事实来源,先 dry-run,再用 `Harness/SETUP.md` 从事实中补 PRD、研究、架构和任务计划 |
55
+ | 已经有 `Harness/` | 不要把 `npx` 当更新器;先问用户是运行 `/wf-update` / `$wf-update` / `node Harness/scripts/wf-update-check.mjs`,保持不动,还是批准后移除重装 |
65
56
 
66
- ---
57
+ 根目录扫描必须包括:顶层文件、`CLAUDE.md`、`AGENTS.md`、`.claude/`、`.agents/`、`.codex/`、`Harness/`、package 文件、CI 文件、应用入口、测试/构建命令、已有文档、已经安装的 skills/plugins/rules。推荐可选能力前,必须先排除已经安装的能力,避免重复推荐。
67
58
 
68
- ## 怎么工作的
59
+ ## 已有项目安全合并
69
60
 
70
- ```text
71
- npx create-harness-vibe-coding@latest my-project
72
-
73
- Agent 读 Harness/SETUP.md
74
-
75
- 路由器只加载任务需要的文档
76
-
77
- PRD → 调研 → 架构 → 第一个任务胶囊
78
-
79
- 构建 → 测试 → 审查 → 验证 → 反馈
80
-
81
- /wf update 保持脚手架最新
82
- ```
61
+ ```bash
62
+ # 先预览,不写文件
63
+ npx create-harness-vibe-coding@latest my-app . -y --dry-run
83
64
 
84
- ```mermaid
85
- graph TD
86
- A[ /wf 进入 ] --> B[ 探索: 3+ 并行 Agent ]
87
- B --> C[ 二阶段计划 ]
88
- C --> D[ 构建: 测试 → 实现 ]
89
- D --> E[ 双门禁审查 ]
90
- E --> F{ 通过? }
91
- F -->| 否 | G[ 调试 → 修复 → 循环 ]
92
- G --> E
93
- F -->| 是 | H[ 收尾: 记忆 + 上下文 ]
94
- H --> I[ /wf update ]
65
+ # 只补缺失文件,不覆盖已有文件
66
+ npx create-harness-vibe-coding@latest my-app . -y --on-conflict skip
95
67
  ```
96
68
 
97
- ---
98
-
99
- ## 怎么用
100
-
101
- ### 新项目
69
+ `npx` 是安装和安全补缺入口,不是已安装 Harness 的同步更新器。项目里已经有 `Harness/` 后,Claude Code 用 `/wf-update`,Codex 用 `$wf-update`,或者直接运行:
102
70
 
103
71
  ```bash
104
- npx create-harness-vibe-coding@latest my-project
105
- cd my-project
106
- # Agent 读 Harness/SETUP.md。搞定。
72
+ node Harness/scripts/wf-update-check.mjs
107
73
  ```
108
74
 
109
- ### 已有项目——安全合并
110
-
111
- ```bash
112
- # 先预览。永远先预览。
113
- npx create-harness-vibe-coding@latest my-app . -y --dry-run
75
+ 原因很直接:`CLAUDE.md`、`AGENTS.md`、`.claude/`、`.agents/`、`.codex/` 和用户改过的 Harness 文档都需要 agent 带着上下文做合并决策。
114
76
 
115
- # 只补缺失。绝不覆盖已有文件。
116
- npx create-harness-vibe-coding@latest my-app . -y --on-conflict skip
117
- ```
118
-
119
- | 参数 | 作用 |
120
- |------|------|
121
- | `-y` | 跳过所有提示 |
122
- | `--dry-run` | 预览——不写任何文件 |
123
- | `--on-conflict skip` | 保留你的文件,只创建新的 |
124
- | `--on-conflict backup` | 备份已有 → 写入新的 |
125
- | `--on-conflict overwrite` | 直接覆盖(谨慎) |
126
- | `--list-options` | 列出可选工作流 |
127
- | `--with <ids>` | 按 id 添加工作流 |
128
- | `--preset <name>` | 添加 `web-app` 或 `fullstack` 预设 |
129
-
130
- ### 可选工作流
77
+ ## 可选能力
131
78
 
132
79
  ```bash
133
80
  npx create-harness-vibe-coding@latest my-app -y --with browser-e2e
134
81
  npx create-harness-vibe-coding@latest my-app -y --preset web-app
82
+ npx create-harness-vibe-coding@latest my-app -y --recommend superpowers,codegraph
135
83
  ```
136
84
 
137
- | 工作流 | 场景 |
138
- |--------|------|
139
- | `browser-e2e` | 截图、链路追踪、冒烟测试 |
140
- | `ui-ux-review` | 响应式、无障碍、视觉润色 |
141
- | `ts-react-frontend` | TypeScript + React + Vite |
142
- | `python-backend` | FastAPI、pytest |
143
- | `github-pr-review` | PR diff 审查 + CI 证据 |
85
+ | 参数 | 作用 |
86
+ |---|---|
87
+ | `--with <ids>` | 安装本地 workflow |
88
+ | `--preset <name>` | 安装预设,如 `web-app`、`fullstack` |
89
+ | `--without <ids>` | 从预设中排除 workflow |
90
+ | `--recommend <ids>` | 记录外部能力建议,不自动安装 |
91
+ | `--list-options` | 查看本地 workflow 和外部建议 |
144
92
 
145
- ### Agent 安装前置问题
93
+ 本地 workflow:`browser-e2e`、`ui-ux-review`、`ts-react-frontend`、`python-backend`、`github-pr-review`。
146
94
 
147
- 当你的 Agent 读到上面那句"一句话"后,它会在动文件前**最多问 3 个问题**:
95
+ 外部建议只写入 `Harness/SETUP.md`,不会自动安装第三方技能:
148
96
 
149
- - 已经有 `CLAUDE.md` `AGENTS.md`?→ 只合并,不替换
150
- - `docs/` 已被产品文档占用?→ 把脚手架放 `Harness/` 目录
151
- - 什么技术栈?→ 安装匹配的可选工作流
97
+ | 建议 | 用途 | 链接 |
98
+ |---|---|---|
99
+ | `superpowers` | 社区 skill registry 和 agent workflow | <https://github.com/obra/Superpowers> |
100
+ | `caveman` | 简洁低 token 的 agent 行为和记忆压缩 | <https://github.com/JuliusBrussee/caveman> |
101
+ | `agent-research` | 文献、产品、依赖和生态研究类 agent skills | <https://github.com/lingzhi227/agent-research-skills> |
102
+ | `codegraph` | 代码图谱或仓库地图工具 | <https://github.com/colbymchenry/codegraph> |
152
103
 
153
- 文件已存在就**先问再动**。默认永远**保留已有**。
104
+ 这些只是给用户 agent 自行评估的 GitHub 链接。脚手架不维护第三方安装步骤,只在确认项目尚未安装同类能力后记录用户选择。
154
105
 
155
- ### 脚手架完成后
106
+ 不加 `-y` 时,CLI 会提供 checkbox/multiselect 选择。
156
107
 
157
- ```text
158
- "读 Harness/SETUP.md。把这个项目引导起来。"
159
- "用 /wf 处理这个长迁移。"
160
- "/wf update — 拉取最新脚手架改进。"
161
- ```
108
+ ## Agent-link 安装前置问题
109
+
110
+ Agent 必须先扫描根目录,再最多问 3 个阻塞问题。扫描要覆盖:
111
+
112
+ - `CLAUDE.md`、`AGENTS.md`
113
+ - `.claude/`、`.agents/`、`.codex/`
114
+ - `Harness/`
115
+ - `README.md`
116
+ - package 文件、CI 文件、已有文档目录、应用入口、测试/构建命令
117
+ - 已安装的 skills/plugins/rules
118
+
119
+ 只在影响写入时提问:
120
+
121
+ - 已有 `CLAUDE.md` 或 `AGENTS.md`:合并缺失 Harness 指南、保持不动,还是跳过?
122
+ - 已有 `Harness/`:走 `/wf-update` / `$wf-update`、dry-run 补缺、保持不动,还是批准后移除重装?
123
+ - 排除已安装能力后,还要启用哪些本地 workflow,或只记录哪些外部 GitHub 推荐链接?
124
+
125
+ 默认策略:保留已有文件,只补缺失内容。
162
126
 
163
- ### 验证
127
+ ## 验证
164
128
 
165
129
  ```bash
166
130
  npm test
167
131
  node Harness/scripts/validate-harness.mjs
168
132
  ```
169
133
 
170
- ---
134
+ ## 项目结构
171
135
 
172
- ## 文件结构
173
-
174
- ```
136
+ ```text
175
137
  my-project/
176
- ├── CLAUDE.md ← Agent 入口
177
- ├── AGENTS.md ← Agent 注册表
178
- ├── .gitignore
138
+ ├── CLAUDE.md
139
+ ├── AGENTS.md
179
140
  ├── Harness/
180
- │ ├── README.md ← 文档路由器
181
- │ ├── SETUP.md ← 引导指南(初始化后可删除)
182
- │ ├── MEMORY.md ← 资源索引
183
- │ ├── PROGRESS.md ← 任务追踪
184
- │ ├── WF.md / WF-MAX.md ← 工作流模式
185
- │ ├── tasks/ ← 每任务胶囊
186
- │ ├── research/ ← PRD + 调研模板
187
- │ ├── memory/ ← 持久自学习
188
- │ └── scripts/ ← 验证器
141
+ │ ├── README.md
142
+ │ ├── SETUP.md
143
+ │ ├── MEMORY.md
144
+ │ ├── PROGRESS.md
145
+ │ ├── WF.md
146
+ │ ├── tasks/
147
+ │ ├── research/
148
+ │ ├── workflows/
149
+ │ └── scripts/
189
150
  ├── .claude/
190
- │ ├── agents/ ← 11 个通用 Agent
191
- │ ├── skills/ ← Harness 加载器
192
- ├── commands/ ← /wf、/wf update
193
- │ └── rules/ ← 通用编码规则
151
+ │ ├── agents/
152
+ │ ├── skills/
153
+ └── rules/
154
+ ├── .agents/
155
+ │ └── skills/
156
+ ├── .codex/
194
157
  └── tests/
195
158
  ```
196
159
 
197
- `Harness/` 放所有脚手架文档。`.claude/` 留在根目录——Claude Code 在这里发现 Agent、Skill 和命令。
198
-
199
- ---
200
-
201
- ## 足迹
202
-
203
- | | |
204
- |---|---|
205
- | 运行时 | 无 |
206
- | 依赖 | 2(`@clack/prompts`、`picocolors`) |
207
- | Node | ≥ 18 |
208
- | 生成代码 | 无——直到你选定技术栈 |
209
-
210
- ---
211
-
212
- MIT © [zingspark](https://github.com/zingspark)
160
+ MIT - [zingspark](https://github.com/zingspark)