svharness 0.14.18 → 0.15.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.md +16 -2
- package/auto/auto-harness-detail-design.md +2476 -0
- package/auto/auto_/345/212/237/350/203/275/345/256/236/347/216/260_8c2115ba.plan.md +118 -0
- package/auto/commands/auto-harness.mjs +248 -0
- package/auto/design-problem.md +663 -0
- package/auto/design-problem2.md +731 -0
- package/auto/design-revision-plan.md +570 -0
- package/auto/skills/svharness/SKILL.md +445 -0
- package/auto/templates/auto.config.example.yaml +46 -0
- package/auto/templates/phase-prompts/S10-wiki.md +14 -0
- package/auto/templates/phase-prompts/S40-requirements.md +15 -0
- package/auto/templates/phase-prompts/S50-specs.md +15 -0
- package/auto/templates/phase-prompts/S60-references.md +22 -0
- package/auto/templates/phase-prompts/S65-agent-env.md +14 -0
- package/auto/templates/phase-prompts/S70-runtime-assets.md +19 -0
- package/auto/templates/phase-prompts/S80-seed-memory.md +13 -0
- package/auto/templates/phase-prompts/S85-review.md +29 -0
- package/auto/templates/phase-prompts/optimize-implement.md +13 -0
- package/auto/templates/phase-prompts/optimize-plan.md +18 -0
- package/auto/templates/review-rubric.yaml +104 -0
- package/dist/commands/auto.js +66 -0
- package/dist/commands/doctor/check-specs-depth.js +2 -19
- package/dist/commands/doctor/check-specs.js +9 -3
- package/dist/commands/doctor/spec-layers-shared.js +9 -0
- package/dist/commands/doctor/spec-layers.js +31 -0
- package/dist/commands/init.js +12 -0
- package/dist/commands/wizard.js +9 -0
- package/dist/config/index.js +2 -1
- package/dist/config/merge-options.js +34 -0
- package/dist/config/normalize.js +52 -0
- package/dist/core/build-project-entry.js +2 -0
- package/dist/core/cli-input-declarations.js +1 -1
- package/dist/core/state.js +1 -0
- package/dist/index.js +48 -1
- package/dist/lib/acp-client.js +54 -0
- package/dist/lib/auto-assets.js +19 -0
- package/dist/lib/auto-finalize.js +32 -0
- package/dist/lib/auto-materials-prep.js +230 -0
- package/dist/lib/auto-optimize.js +88 -0
- package/dist/lib/auto-orchestrator.js +131 -0
- package/dist/lib/auto-review.js +102 -0
- package/dist/lib/auto-state.js +37 -0
- package/dist/lib/cost-tracker.js +52 -0
- package/dist/lib/gate-checker.js +62 -0
- package/dist/lib/harness-resolver.js +36 -0
- package/dist/lib/phase-deps.js +43 -0
- package/dist/lib/phase-prompt-loader.js +25 -0
- package/dist/lib/phase-runner.js +164 -0
- package/dist/lib/review-parser.js +75 -0
- package/dist/lib/score-aggregator.js +47 -0
- package/dist/types/auto-types.js +2 -0
- package/dist/utils/validate-args.js +17 -0
- package/dist/utils/yaml-safe-string.js +15 -0
- package/package.json +3 -1
- package/templates/_shared/build-rules/harness-build-rule-pre-seal-review.md +16 -4
- package/templates/_shared/build-skills/harness-build-skill-pre-seal-review.md +140 -93
- package/templates/_shared/meta/AGENTS_BUILD.md.ejs +3 -3
- package/templates/_shared/meta/README.md.ejs +4 -0
- package/templates/_shared/meta/harness.yaml.ejs +5 -0
- package/templates/_shared/tasks/templates/README.md +1 -1
- package/templates/documents/build-rules/harness-build-rule-specs-schema.md +32 -0
- package/templates/documents/meta/README.md.ejs +29 -0
- package/templates/documents/meta/harness.yaml.ejs +71 -0
- package/templates/documents/meta/task_list.md.ejs +26 -0
- package/templates/documents/skeleton/agent-env/review-profiles/documents.yaml +15 -0
- package/templates/svharness.config.example.yaml +1 -0
package/README.md
CHANGED
|
@@ -35,6 +35,9 @@ svharness wizard
|
|
|
35
35
|
# 配置文件驱动(团队模板 / CI)
|
|
36
36
|
svharness build --config svharness.config.yaml --yes
|
|
37
37
|
|
|
38
|
+
# 全自动模式 —— 资料整理 → 构建 → 审查 → 优化,支持断点续跑
|
|
39
|
+
svharness auto --work-dir . --auto-approve -y
|
|
40
|
+
|
|
38
41
|
# 一行式 —— 跳过交互,直接生成
|
|
39
42
|
svharness build --harness-name my-app --arch android-compose --agent qoder --yes
|
|
40
43
|
|
|
@@ -60,6 +63,8 @@ svharness start-agent --work-dir .
|
|
|
60
63
|
|
|
61
64
|
**`svharness wizard`**:分步 TUI,支持同时填写**文件路径**与**说明文字**(如 `requirementsNote`),结束时可选「立即执行 / 仅保存配置 / 保存并执行」。
|
|
62
65
|
|
|
66
|
+
**`svharness auto`**:无人值守构建入口。工作目录可以是已有 `<name>-harness/`(从 `.harness-build-state.yaml` 断点续跑),也可以是资料包根(自动检测 `baseline/`、`requirements/`、`references/`、`extra-skills/` 后先执行 build)。配置示例见 `auto/templates/auto.config.example.yaml`。
|
|
67
|
+
|
|
63
68
|
生成完成后,在你的 Agent IDE 中说:
|
|
64
69
|
- "运行 harness-build-skills-main"或"harness-build-skill-orchestrator"即可开始逐步填充内容;
|
|
65
70
|
- 构建完成后在目标项目中说"应用 harness-apply-skills-main 完成 xxx 功能开发"即可调用 harness。
|
|
@@ -235,6 +240,7 @@ svharness wizard
|
|
|
235
240
|
| 字段 | 说明 |
|
|
236
241
|
|------|------|
|
|
237
242
|
| `requirementsNote` | 需求文档业务说明 |
|
|
243
|
+
| `goal` | harness 构建目的(写入 harness 目录) |
|
|
238
244
|
| `referencesNote` | 参考资料说明 |
|
|
239
245
|
| `extraSkillsNote` | 额外 skills/rules 说明 |
|
|
240
246
|
|
|
@@ -270,7 +276,8 @@ svharness build \
|
|
|
270
276
|
| `--save-config [path]` | 可选 | build 成功后把参数写入配置文件 | — |
|
|
271
277
|
| `--harness-name <name>` | ✅ 必填* | harness 名称;可在 `build.harnessName` 中提供 | — |
|
|
272
278
|
| `--name <name>` | ⚠️ 已废弃别名 | 等同 `--harness-name`,下个 minor 版本移除 | — |
|
|
273
|
-
| `--arch <arch>` | 可选 | 架构模板:`android-compose` / `android-xml` / `cpp` / `web-react` / `python` | `android-compose` |
|
|
279
|
+
| `--arch <arch>` | 可选 | 架构模板:`android-compose` / `android-xml` / `cpp` / `web-react` / `python` / `documents` | `android-compose` |
|
|
280
|
+
| `--goal <text>` | 可选 | harness 构建目的(1–2 句话,写入 `harness.yaml` 与 state;最多 500 字符) | — |
|
|
274
281
|
| `--agent <agent>` | 可选 | 目标 Agent IDE:`codechat` / `qoder` / `cursor` / `claude-code` / `opencode` / `codex` / `generic` | `codechat` |
|
|
275
282
|
| `--baseline <path\|url>` | 可选 | 基线来源:本地目录 **或** git 仓库 URL | — |
|
|
276
283
|
| `--requirements <path>` | 可选 | 需求输入路径(文件或目录);build 阶段**扁平**拷贝到 `requirements/raw/`(不保留源目录里的 `assets/raw/converted_md` 等嵌套),随后自动 convert 到 `requirements/md/`(失败仅告警,不中断 build) | — |
|
|
@@ -850,6 +857,13 @@ npm uninstall -g svharness
|
|
|
850
857
|
| `cpp` | C++17 + CMake | 5 条 `seed-*.md` | 现代 C++ + CMake 规范 |
|
|
851
858
|
| `web-react` | TypeScript + React | 5 条 `seed-*.md` | Hooks + 状态管理规范 |
|
|
852
859
|
| `python` | Python | — | 通用 Python 模板 |
|
|
860
|
+
| `documents` | — | — | 文档型 harness(无代码基线;spec 域为 behavior + interfaces) |
|
|
861
|
+
|
|
862
|
+
```bash
|
|
863
|
+
# 文档型 harness + 构建目的
|
|
864
|
+
svharness build --harness-name doc-demo --arch documents --agent codechat \
|
|
865
|
+
--goal "车载 CAN 信号协议文档标准化 harness" --yes --force
|
|
866
|
+
```
|
|
853
867
|
|
|
854
868
|
> **两层叠拷合并**:`_shared/` 先落盘,`<arch>/` 随后覆盖同名文件。
|
|
855
869
|
> 新增架构只需在 `templates/<new-arch>/skeleton/agent-env/rules/` 下放 3-5 条规则文件,
|
|
@@ -1140,7 +1154,7 @@ svharness build --harness-name demo-unknown --arch python --agent codechat `
|
|
|
1140
1154
|
- [x] 参数 `--name` → `--harness-name`(保留 `--name` 别名一版本)
|
|
1141
1155
|
- [x] `--arch` 默认 `android-compose`、`--agent` 默认 `codechat`
|
|
1142
1156
|
- [x] `build` —— 骨架 + 元文件 + 状态文件 + skill 注入
|
|
1143
|
-
- [x] 多架构模板(`android-compose` / `android-xml` / `cpp` / `web-react` / `python`)
|
|
1157
|
+
- [x] 多架构模板(`android-compose` / `android-xml` / `cpp` / `web-react` / `python` / `documents`)
|
|
1144
1158
|
- [x] `_shared/` + `<arch>/` 两层叠拷合并
|
|
1145
1159
|
- [x] 每个架构自带 3-5 条规则文件(`.mdc` 格式,`alwaysApply: true` 默认启用)
|
|
1146
1160
|
- [x] `apply` —— 把已构建好的 harness 绑定到目标项目(默认复制模式,`--clone` 兼容保留)
|