@openprd/cli 0.1.10 → 0.1.18
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/.openprd/benchmarks/index.md +17 -15
- package/.openprd/benchmarks/sources.yaml +53 -1
- package/.openprd/changes/adaptive-project-framing/.openprd.yaml +2 -0
- package/.openprd/changes/adaptive-project-framing/design.md +47 -0
- package/.openprd/changes/adaptive-project-framing/proposal.md +35 -0
- package/.openprd/changes/adaptive-project-framing/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/adaptive-project-framing/task-events.jsonl +20 -0
- package/.openprd/changes/adaptive-project-framing/tasks.md +340 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/.openprd.yaml +2 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/design.md +34 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/proposal.md +23 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/task-events.jsonl +14 -0
- package/.openprd/changes/docs-anti-pollution-and-design-direction-review/tasks.md +238 -0
- package/.openprd/changes/loop-isolated-worktree-commit/.openprd.yaml +2 -0
- package/.openprd/changes/loop-isolated-worktree-commit/design.md +53 -0
- package/.openprd/changes/loop-isolated-worktree-commit/proposal.md +38 -0
- package/.openprd/changes/loop-isolated-worktree-commit/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/loop-isolated-worktree-commit/task-events.jsonl +22 -0
- package/.openprd/changes/loop-isolated-worktree-commit/tasks.md +357 -0
- package/.openprd/changes/openprd/.openprd.yaml +2 -0
- package/.openprd/changes/openprd/design.md +46 -0
- package/.openprd/changes/openprd/proposal.md +36 -0
- package/.openprd/changes/openprd/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/openprd/task-events.jsonl +23 -0
- package/.openprd/changes/openprd/tasks.md +242 -0
- package/.openprd/changes/pm-human-in-the-loop/.openprd.yaml +2 -0
- package/.openprd/changes/pm-human-in-the-loop/design.md +38 -0
- package/.openprd/changes/pm-human-in-the-loop/proposal.md +29 -0
- package/.openprd/changes/pm-human-in-the-loop/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/pm-human-in-the-loop/task-events.jsonl +18 -0
- package/.openprd/changes/pm-human-in-the-loop/tasks.md +306 -0
- package/.openprd/changes/test-strategy-router/.openprd.yaml +2 -0
- package/.openprd/changes/test-strategy-router/design.md +65 -0
- package/.openprd/changes/test-strategy-router/proposal.md +45 -0
- package/.openprd/changes/test-strategy-router/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/test-strategy-router/task-events.jsonl +1 -0
- package/.openprd/changes/test-strategy-router/tasks.md +132 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/.openprd.yaml +2 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/design.md +28 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/proposal.md +23 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/task-events.jsonl +11 -0
- package/.openprd/changes/verify-boundaries-and-historical-refresh/tasks.md +66 -0
- package/.openprd/changes/vibe-coding-dev-check/.openprd.yaml +2 -0
- package/.openprd/changes/vibe-coding-dev-check/design.md +37 -0
- package/.openprd/changes/vibe-coding-dev-check/proposal.md +28 -0
- package/.openprd/changes/vibe-coding-dev-check/specs/agent-requirements/spec.md +16 -0
- package/.openprd/changes/vibe-coding-dev-check/task-events.jsonl +18 -0
- package/.openprd/changes/vibe-coding-dev-check/tasks.md +306 -0
- package/.openprd/design/README.md +11 -6
- package/.openprd/design/README_EN.md +4 -1
- package/.openprd/design/active/asset-spec.md +6 -0
- package/.openprd/design/active/direction-plan.md +5 -5
- package/.openprd/design/active/selected-direction.md +2 -0
- package/.openprd/design/anti-slop.md +26 -1
- package/.openprd/design/assets/surface-presets.md +6 -0
- package/.openprd/design/checklists/ui-quality-gate.md +7 -0
- package/.openprd/design/lenses/frontend-lenses.md +28 -0
- package/.openprd/design/recipes/content-experience.md +8 -1
- package/.openprd/design/recipes/operational-tool.md +7 -0
- package/.openprd/design/recipes/product-launch.md +8 -1
- package/.openprd/design/templates/README.md +6 -3
- package/.openprd/design/templates/README_EN.md +6 -3
- package/.openprd/design/templates/ops-dashboard.html +8 -1
- package/.openprd/design/templates/product-launch.html +2 -1
- package/.openprd/design/themes/theme-catalog.json +23 -5
- package/.openprd/engagements/active/prd.md +103 -100
- package/.openprd/schema/prd.schema.yaml +15 -0
- package/.openprd/standards/config.json +7 -1
- package/.openprd/templates/base/intake.md +13 -0
- package/.openprd/templates/base/prd.md +15 -0
- package/AGENTS.md +14 -4
- package/README.md +107 -14
- package/README_EN.md +131 -13
- package/package.json +1 -1
- package/scripts/dev-check-wrapup-copy.mjs +46 -21
- package/skills/openprd-benchmark-router/SKILL.md +2 -1
- package/skills/openprd-diagram-review/SKILL.md +27 -2
- package/skills/openprd-diagram-review/references/explanation-svg-patterns.md +131 -0
- package/skills/openprd-discovery-loop/SKILL.md +2 -2
- package/skills/openprd-frontend-design/SKILL.md +44 -20
- package/skills/openprd-frontend-design/references/design-asset-contract.md +6 -0
- package/skills/openprd-frontend-design/references/direction-engine.md +29 -4
- package/skills/openprd-harness/SKILL.md +22 -16
- package/skills/openprd-quality/SKILL.md +10 -8
- package/skills/openprd-requirement-intake/SKILL.md +5 -3
- package/skills/openprd-requirement-intake/references/prd-template-lenses.md +2 -2
- package/skills/openprd-requirement-intake/references/startup-validation-lens.md +98 -13
- package/skills/openprd-router/SKILL.md +2 -1
- package/skills/openprd-shared/SKILL.md +27 -17
- package/skills/openprd-standards/SKILL.md +4 -2
- package/src/agent-canonical-content.js +808 -0
- package/src/agent-integration.js +259 -778
- package/src/brainstorm-artifacts.js +156 -8
- package/src/brainstorm-presentation.js +14 -4
- package/src/brainstorm.js +165 -2
- package/src/canvas-app.html.js +2910 -0
- package/src/canvas-i18n.js +274 -0
- package/src/canvas-workspace.js +2271 -0
- package/src/cli/args.js +72 -4
- package/src/cli/basic-print.js +3 -0
- package/src/cli/canvas-print.js +106 -0
- package/src/cli/doctor-print.js +20 -0
- package/src/cli/print.js +2 -0
- package/src/cli/quality-commands.js +222 -0
- package/src/cli/quality-print.js +37 -5
- package/src/cli/run-print.js +5 -0
- package/src/cli/workflow-print.js +3 -0
- package/src/codex-app-server-relay.js +251 -0
- package/src/codex-hook-runner-template.mjs +963 -65
- package/src/design-starter-support.js +2 -2
- package/src/design-starter.js +39 -3
- package/src/dev-standards.js +125 -10
- package/src/diagram-core.js +390 -171
- package/src/discovery.js +2 -8
- package/src/docs-compact.js +125 -0
- package/src/execution-strategy.js +1 -1
- package/src/fleet.js +9 -3
- package/src/guide.js +227 -0
- package/src/html-artifacts.js +825 -51
- package/src/knowledge.js +101 -20
- package/src/language-policy.js +63 -3
- package/src/learning-review.js +1 -1
- package/src/loop.js +1 -1
- package/src/openprd.js +68 -131
- package/src/openspec/change-validate.js +2 -2
- package/src/openspec/constants.js +6 -7
- package/src/openspec/execute.js +2 -2
- package/src/openspec/generate.js +318 -102
- package/src/openspec/migration.js +168 -0
- package/src/openspec/paths.js +1 -22
- package/src/prd-core.js +102 -3
- package/src/quality-html-artifact.js +30 -5
- package/src/quality-visual-review.js +257 -14
- package/src/quality.js +66 -18
- package/src/review-presentation.js +60 -0
- package/src/run-harness.js +41 -3
- package/src/session-evidence.js +363 -0
- package/src/standards.js +64 -0
- package/src/test-strategy.js +7 -4
- package/src/visual-compare-centering.js +622 -0
- package/src/visual-compare-core.js +1123 -0
- package/src/visual-compare.js +620 -698
- package/src/workspace-core.js +132 -4
- package/src/workspace-workflow.js +172 -10
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{"version":1,"at":"2026-05-28 21:24:51","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.01","taskTitle":"评审生成的 spec 覆盖","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change verify-boundaries-and-historical-refresh","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: verify-boundaries-and-historical-refresh\n- OpenPrd change verify-boundaries-and-historical-refresh: 1 个 spec delta。\n- openprd/changes/verify-boundaries-and-historical-refresh/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 11 个任务,10 条依赖。\n- OpenPrd 任务文件: 1 个文件,11 个 checkbox 任务,每个文件最多 25 个。\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
2
|
+
{"version":1,"at":"2026-05-28 21:24:52","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.02","taskTitle":"收口 run context 的默认边界","ok":true,"verify":{"ok":true,"command":"openprd run . --verify","exitCode":0,"stdout":"OpenPrd run verify: 当前任务通过,工作区待关注\n任务就绪: 是\n工作区就绪: 否\n质量门禁: 待补证据\n- 通过: standards [任务]\n- 通过: validate [任务]\n- 失败: quality [工作区] (production-ready=false)\n- 通过: change [任务]\n项目经验回顾: 已跳过 (no-substantive-touched-files)\n工作区待关注:\n- quality: Quality readiness is not production-ready; one or more required gates need evidence or attention.\n- quality: Quality report is not production-ready. Review required gates and evidence before claiming readiness.\n","stderr":""},"evidence":null,"notes":null}
|
|
3
|
+
{"version":1,"at":"2026-05-28 21:24:52","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.03","taskTitle":"收口 run verify 的参考噪音过滤","ok":true,"verify":{"ok":true,"command":"openprd run . --verify","exitCode":0,"stdout":"OpenPrd run verify: 当前任务通过,工作区待关注\n任务就绪: 是\n工作区就绪: 否\n质量门禁: 待补证据\n- 通过: standards [任务]\n- 通过: validate [任务]\n- 失败: quality [工作区] (production-ready=false)\n- 通过: change [任务]\n项目经验回顾: 已跳过 (no-substantive-touched-files)\n工作区待关注:\n- quality: Quality readiness is not production-ready; one or more required gates need evidence or attention.\n- quality: Quality report is not production-ready. Review required gates and evidence before claiming readiness.\n","stderr":""},"evidence":null,"notes":null}
|
|
4
|
+
{"version":1,"at":"2026-05-28 21:24:52","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.04","taskTitle":"调整 standards 与 source-manual 的外部参考目录默认处理","ok":true,"verify":{"ok":true,"command":"openprd standards . --verify","exitCode":0,"stdout":"OpenPrd standards: 通过\nDocs root: docs/basic\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
5
|
+
{"version":1,"at":"2026-05-28 21:24:53","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.05","taskTitle":"刷新历史项目的边界配置与生成物回填","ok":true,"verify":{"ok":true,"command":"openprd run . --verify","exitCode":0,"stdout":"OpenPrd run verify: 当前任务通过,工作区待关注\n任务就绪: 是\n工作区就绪: 否\n质量门禁: 待补证据\n- 通过: standards [任务]\n- 通过: validate [任务]\n- 失败: quality [工作区] (production-ready=false)\n- 通过: change [任务]\n项目经验回顾: 已跳过 (no-substantive-touched-files)\n工作区待关注:\n- quality: Quality readiness is not production-ready; one or more required gates need evidence or attention.\n- quality: Quality report is not production-ready. Review required gates and evidence before claiming readiness.\n","stderr":""},"evidence":null,"notes":null}
|
|
6
|
+
{"version":1,"at":"2026-05-28 21:24:53","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.06","taskTitle":"验证运行上下文和主验证结果不再被参考目录淹没","ok":true,"verify":{"ok":true,"command":"openprd run . --verify","exitCode":0,"stdout":"OpenPrd run verify: 当前任务通过,工作区待关注\n任务就绪: 是\n工作区就绪: 否\n质量门禁: 待补证据\n- 通过: standards [任务]\n- 通过: validate [任务]\n- 失败: quality [工作区] (production-ready=false)\n- 通过: change [任务]\n项目经验回顾: 已跳过 (no-substantive-touched-files)\n工作区待关注:\n- quality: Quality readiness is not production-ready; one or more required gates need evidence or attention.\n- quality: Quality report is not production-ready. Review required gates and evidence before claiming readiness.\n","stderr":""},"evidence":null,"notes":null}
|
|
7
|
+
{"version":1,"at":"2026-05-28 21:24:54","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.07","taskTitle":"验证显式 classify-external 路径仍然可用","ok":true,"verify":{"ok":true,"command":"openprd standards . --verify","exitCode":0,"stdout":"OpenPrd standards: 通过\nDocs root: docs/basic\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
8
|
+
{"version":1,"at":"2026-05-28 21:24:54","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.08","taskTitle":"验证历史项目刷新后能承接新的边界修复","ok":true,"verify":{"ok":true,"command":"openprd run . --verify","exitCode":0,"stdout":"OpenPrd run verify: 当前任务通过,工作区待关注\n任务就绪: 是\n工作区就绪: 否\n质量门禁: 待补证据\n- 通过: standards [任务]\n- 通过: validate [任务]\n- 失败: quality [工作区] (production-ready=false)\n- 通过: change [任务]\n项目经验回顾: 已跳过 (no-substantive-touched-files)\n工作区待关注:\n- quality: Quality readiness is not production-ready; one or more required gates need evidence or attention.\n- quality: Quality report is not production-ready. Review required gates and evidence before claiming readiness.\n","stderr":""},"evidence":null,"notes":null}
|
|
9
|
+
{"version":1,"at":"2026-05-28 21:24:54","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.09","taskTitle":"维护 docs/basic 项目基础文档","ok":true,"verify":{"ok":true,"command":"openprd standards . --verify","exitCode":0,"stdout":"OpenPrd standards: 通过\nDocs root: docs/basic\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
10
|
+
{"version":1,"at":"2026-05-28 21:24:54","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.10","taskTitle":"更新文件说明书和文件夹 README","ok":true,"verify":{"ok":true,"command":"openprd standards . --verify","exitCode":0,"stdout":"OpenPrd standards: 通过\nDocs root: docs/basic\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
11
|
+
{"version":1,"at":"2026-05-28 21:24:55","changeId":"verify-boundaries-and-historical-refresh","action":"advance","taskId":"T001.11","taskTitle":"运行 OpenPrd spec 校验","ok":true,"verify":{"ok":true,"command":"openprd change . --validate --change verify-boundaries-and-historical-refresh","exitCode":0,"stdout":"OpenPrd change 验证: 通过\nChange: verify-boundaries-and-historical-refresh\n- OpenPrd change verify-boundaries-and-historical-refresh: 1 个 spec delta。\n- openprd/changes/verify-boundaries-and-historical-refresh/specs/agent-requirements/spec.md: 1 个需求。\n- 结构化 OpenPrd 任务: 11 个任务,10 条依赖。\n- OpenPrd 任务文件: 1 个文件,11 个 checkbox 任务,每个文件最多 25 个。\n- Standards docs root: docs/basic\n- Required docs: 6/6.\n- Manual templates: 2/2.\n- Development standards: code files ok <= 700 lines, attention <= 1500 lines.\n- Growth layer: enabled with user review required before applying candidates.\n","stderr":""},"evidence":null,"notes":null}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# 任务
|
|
2
|
+
|
|
3
|
+
- [x] T001.01 评审生成的 spec 覆盖
|
|
4
|
+
- type: governance
|
|
5
|
+
- done: 生成的 agent-requirements spec 符合 PRD 意图
|
|
6
|
+
- verify: openprd change . --validate --change verify-boundaries-and-historical-refresh
|
|
7
|
+
|
|
8
|
+
- [x] T001.02 收口 run context 的默认边界
|
|
9
|
+
- type: implementation
|
|
10
|
+
- deps: T001.01
|
|
11
|
+
- done: 维护者运行 `openprd run . --context` 时,只会看到当前项目的主验证状态,不再被参考调研状态混入主上下文。
|
|
12
|
+
- verify: openprd run . --verify
|
|
13
|
+
|
|
14
|
+
- [x] T001.03 收口 run verify 的参考噪音过滤
|
|
15
|
+
- type: implementation
|
|
16
|
+
- deps: T001.02
|
|
17
|
+
- done: `openprd run . --verify` 默认忽略 reference discovery 和明显外部参考目录带来的主门禁噪音,只保留当前项目应处理的验证结果。
|
|
18
|
+
- verify: openprd run . --verify
|
|
19
|
+
|
|
20
|
+
- [x] T001.04 调整 standards 与 source-manual 的外部参考目录默认处理
|
|
21
|
+
- type: implementation
|
|
22
|
+
- deps: T001.03
|
|
23
|
+
- done: `research`、`toolkit-sources`、`marketplace-candidates` 等明显外部参考目录不会再被默认当成本项目源码说明书缺口,但维护者仍可显式确认它们的归类。
|
|
24
|
+
- verify: openprd standards . --verify
|
|
25
|
+
|
|
26
|
+
- [x] T001.05 刷新历史项目的边界配置与生成物回填
|
|
27
|
+
- type: implementation
|
|
28
|
+
- deps: T001.04
|
|
29
|
+
- done: 历史项目经过 `openprd fleet` 更新与必要回填后,默认继承新的验证边界,不会继续生成旧风格噪音结果。
|
|
30
|
+
- verify: openprd run . --verify
|
|
31
|
+
|
|
32
|
+
- [x] T001.06 验证运行上下文和主验证结果不再被参考目录淹没
|
|
33
|
+
- type: verification
|
|
34
|
+
- deps: T001.05
|
|
35
|
+
- done: 已验证 `openprd run . --context` 与 `openprd run . --verify` 只聚焦当前项目主验证状态,不再把 reference discovery 或明显外部参考目录当成首要门禁噪音。
|
|
36
|
+
- verify: openprd run . --verify
|
|
37
|
+
|
|
38
|
+
- [x] T001.07 验证显式 classify-external 路径仍然可用
|
|
39
|
+
- type: verification
|
|
40
|
+
- deps: T001.06
|
|
41
|
+
- done: 已验证对需要人工确认的 external reference 仍保留显式 `classify-external` 路径,不会因为默认静音而丢失处理入口。
|
|
42
|
+
- verify: openprd standards . --verify
|
|
43
|
+
|
|
44
|
+
- [x] T001.08 验证历史项目刷新后能承接新的边界修复
|
|
45
|
+
- type: verification
|
|
46
|
+
- deps: T001.07
|
|
47
|
+
- done: 已验证历史项目刷新后的生成物、运行上下文和主验证结果都能承接这次边界修复,不会回退到旧噪音行为。
|
|
48
|
+
- verify: openprd run . --verify
|
|
49
|
+
|
|
50
|
+
- [x] T001.09 维护 docs/basic 项目基础文档
|
|
51
|
+
- type: documentation
|
|
52
|
+
- deps: T001.08
|
|
53
|
+
- done: 已检查 docs/basic 是否缺失或因本次需求、流程、结构、依赖、产品行为变化而过期;若涉及后端、脚本、Agent 或工具链变更,已同步评估 CLI 与 API 接入面,并在 backend-structure.md 中记录事实或不适用原因;需要更新的基础文档已同步
|
|
54
|
+
- verify: openprd standards . --verify
|
|
55
|
+
|
|
56
|
+
- [x] T001.10 更新文件说明书和文件夹 README
|
|
57
|
+
- type: documentation
|
|
58
|
+
- deps: T001.09
|
|
59
|
+
- done: 本次变更涉及的文件说明书和文件夹 README 已检查;缺失的已补齐,过期的已更新
|
|
60
|
+
- verify: openprd standards . --verify
|
|
61
|
+
|
|
62
|
+
- [x] T001.11 运行 OpenPrd spec 校验
|
|
63
|
+
- type: governance
|
|
64
|
+
- deps: T001.10
|
|
65
|
+
- done: 生成的 change 通过 OpenPrd 校验
|
|
66
|
+
- verify: openprd change . --validate --change verify-boundaries-and-historical-refresh
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 设计
|
|
2
|
+
|
|
3
|
+
## 背景
|
|
4
|
+
|
|
5
|
+
用户明确反馈不少人用了 OpenPrd 觉得疑惑它到底是干嘛的,希望有一套软件工程视角的标准流程引导;画布做了一半,需要继续对标白板工具补齐人机协同能力。
|
|
6
|
+
|
|
7
|
+
## 目标
|
|
8
|
+
|
|
9
|
+
- 产品经理任何时刻都能一眼看到自己处在 7 步标准流程的哪一步和下一步动作
|
|
10
|
+
- 画布接入评审方向导入与流程位置提示,让 PM 在白板上完成方向标注并把结论发回 Agent
|
|
11
|
+
|
|
12
|
+
## 范围
|
|
13
|
+
|
|
14
|
+
- dev-check 自动重构模式:默认开启,命中 attention/warning 时指示 Agent 本轮直接执行高内聚低耦合拆分(不丢功能),输出改为本次额外处理结果,并支持 --auto-refactor on/off 开关与收口确认话术
|
|
15
|
+
- 图标最佳实践自动触发:asset-spec 增加功能图标行,design-starter/skills/catalog/hook 把新功能自动配图标写为默认行为
|
|
16
|
+
- 拼图证据板强化:visual-compare 输出对话流嵌入 markdown,dev-check 对 UI 文件补视觉证据提醒,skills/catalog 把网格对齐证据板写为界面布局场景默认动作
|
|
17
|
+
|
|
18
|
+
## 约束
|
|
19
|
+
|
|
20
|
+
- 改动集中在 src/standards.js、src/quality.js、src/openspec/change-lifecycle.js、src/review-presentation.js、src/html-artifacts.js,新增 src/docs-compact.js;skills 生成源同步 openprd-shared / openprd-frontend-design / command-catalog。
|
|
21
|
+
- 提交与状态写回不能泄露用户本地无关改动或敏感信息。
|
|
22
|
+
- Codex 原生 imagegen(生成 3 方向交互稿图片);现有 review artifact 渲染与 hash 校验管线。
|
|
23
|
+
|
|
24
|
+
## 业务护栏
|
|
25
|
+
|
|
26
|
+
- 成本来源: imagegen 每方向一次调用,共 3 次;报告清理为本地文件操作无外部成本。
|
|
27
|
+
- 额度限制: docs-compact 单次只处理 docs/basic 下的标准文档;retention 默认保留最近 30 份报告可配置。
|
|
28
|
+
- 滥用防护: docs-compact 重写稿默认写到 sibling draft 待确认,不直接覆盖原文档;retention 不触碰 evidence 目录中被 latest 报告引用的文件。
|
|
29
|
+
- 监控信号: standards verify 输出 docsQuality 结果;doctor 输出 .openprd 体积与报告数量提示。
|
|
30
|
+
- 报警阈值: 单行超 300 字符 warning;prd.md 落后最新版本超过 20 个版本 warning;quality/reports 超过 200 份提示清理。
|
|
31
|
+
- 止损动作: 任一清理动作失败即中止并保留原状;归档失败回退为仅提示不移动。
|
|
32
|
+
|
|
33
|
+
## 风险与开放问题
|
|
34
|
+
|
|
35
|
+
- 假设: imagegen 由 Codex 原生 Image 2 提供,OpenPrd 只消费图片路径;review.html 静态打开,选择结果通过现有 canvas/browser handoff 或 review --mark 通道回传;巨行阈值默认 300 字符可配置。
|
|
36
|
+
- 风险: 流程步骤定义与既有 lane/gate 概念不完全一一对应,guide 只做展示层推断,不改门禁行为
|
|
37
|
+
- 问题: 画布方向卡片是否需要内置投票/评分组件,留到下一轮看使用反馈
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Vibe Coding 自动化三连:dev-check 自动重构、图标自动匹配、拼图证据入流
|
|
2
|
+
|
|
3
|
+
## 背景与原因
|
|
4
|
+
|
|
5
|
+
OpenPrd 三项 Vibe Coding 自动化能力不足:1) dev-check 超行提醒停留在后续建议表格,用户不知如何处理,价值鸡肋;2) 开发新功能时图标最佳实践路由几乎从不自动触发(415 个图标相关会话仅 1 次真实接入图标库);3) 拼图/网格对齐证据板真实触发率低,证据图不在对话流中可视化,AI 自我审查作用未发挥。
|
|
6
|
+
|
|
7
|
+
## 变更内容
|
|
8
|
+
|
|
9
|
+
- dev-check 自动重构模式:默认开启,命中 attention/warning 时指示 Agent 本轮直接执行高内聚低耦合拆分(不丢功能),输出改为本次额外处理结果,并支持 --auto-refactor on/off 开关与收口确认话术
|
|
10
|
+
- 图标最佳实践自动触发:asset-spec 增加功能图标行,design-starter/skills/catalog/hook 把新功能自动配图标写为默认行为
|
|
11
|
+
- 拼图证据板强化:visual-compare 输出对话流嵌入 markdown,dev-check 对 UI 文件补视觉证据提醒,skills/catalog 把网格对齐证据板写为界面布局场景默认动作
|
|
12
|
+
- guide 命令基于工作区状态推断 7 步流程位置
|
|
13
|
+
- review.html 渲染 stepper
|
|
14
|
+
- canvas /api/review-directions 返回方向元数据与图片
|
|
15
|
+
- canvas 前端导入方向卡片组
|
|
16
|
+
- 在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据。
|
|
17
|
+
|
|
18
|
+
## 能力范围
|
|
19
|
+
|
|
20
|
+
- `agent-requirements`: Vibe Coding 自动化三连:dev-check 自动重构、图标自动匹配、拼图证据入流 需求。
|
|
21
|
+
|
|
22
|
+
## 影响范围
|
|
23
|
+
|
|
24
|
+
- 主要用户: 用 Vibe Coding 方式做产品的产品经理
|
|
25
|
+
- 成本来源: imagegen 每方向一次调用,共 3 次;报告清理为本地文件操作无外部成本。
|
|
26
|
+
- 额度限制: docs-compact 单次只处理 docs/basic 下的标准文档;retention 默认保留最近 30 份报告可配置。
|
|
27
|
+
- 依赖: Codex 原生 imagegen(生成 3 方向交互稿图片);现有 review artifact 渲染与 hash 校验管线。
|
|
28
|
+
- 风险: 流程步骤定义与既有 lane/gate 概念不完全一一对应,guide 只做展示层推断,不改门禁行为
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
## 新增需求
|
|
2
|
+
|
|
3
|
+
### 需求:Vibe Coding 自动化三连:dev-check 自动重构、图标自动匹配、拼图证据入流
|
|
4
|
+
OpenPrd 三项 Vibe Coding 自动化能力不足:1) dev-check 超行提醒停留在后续建议表格,用户不知如何处理,价值鸡肋;2) 开发新功能时图标最佳实践路由几乎从不自动触发(415 个图标相关会话仅 1 次真实接入图标库);3) 拼图/网格对齐证据板真实触发率低,证据图不在对话流中可视化,AI 自我审查作用未发挥。
|
|
5
|
+
|
|
6
|
+
#### 场景:主流程成功
|
|
7
|
+
- **当** PM 打开终端或让 Agent 运行 openprd guide,看到 7 步流程和当前位置,按提示进入下一步
|
|
8
|
+
- **则** 在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据。
|
|
9
|
+
|
|
10
|
+
#### 场景:边界情况保持可见
|
|
11
|
+
- **当** 工作区还没有任何需求版本时 guide 显示第 1 步并给出起步动作
|
|
12
|
+
- **则** 产品应保持该情况明确可见,以支持实现和验证
|
|
13
|
+
|
|
14
|
+
#### 场景:失败模式得到处理
|
|
15
|
+
- **当** 方向图片文件缺失时导入跳过该方向并提示,不中断其他方向导入
|
|
16
|
+
- **则** 产品应提供有边界且可评审的结果
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{"version":1,"at":"2026-07-03 18:55:13","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.01","taskTitle":"评审生成的 spec 覆盖","ok":true,"verify":null,"evidence":null,"notes":"spec 与 PRD 意图一致,含 dev-check 自动重构/图标自动匹配/拼图证据入流三项"}
|
|
2
|
+
{"version":1,"at":"2026-07-03 18:55:22","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.02","taskTitle":"接通界面入口、导航与页面挂载","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
3
|
+
{"version":1,"at":"2026-07-03 18:55:22","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.03","taskTitle":"补齐日志、诊断与可观测性信号","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
4
|
+
{"version":1,"at":"2026-07-03 18:55:22","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.04","taskTitle":"实现guide 命令基于工作区状态推断 7 步流程位置","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
5
|
+
{"version":1,"at":"2026-07-03 18:55:22","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.05","taskTitle":"实现review.html 渲染 stepper","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
6
|
+
{"version":1,"at":"2026-07-03 18:55:22","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.06","taskTitle":"实现canvas /api/review-directions 返回方向元数据与图片","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
7
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.07","taskTitle":"实现canvas 前端导入方向卡片组","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
8
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.08","taskTitle":"打通主流程闭环:PM 打开终端或让 Agent 运行 openprd guide,看到 7 步流程和当前位置,按提示进入下一步 等 3 项","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
9
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.09","taskTitle":"验证在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
10
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.10","taskTitle":"回归非功能约束:不新增外部依赖 / guide 与画布 API 只读工作区状态,不写状态","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
11
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.11","taskTitle":"回归非功能约束:全部文案用 PM 能看懂的普通语言","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
12
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.12","taskTitle":"回归边界条件与失败处理:边界情况:工作区还没有任何需求版本时 guide 显示第 1 步并给出起步动作 等 3 项","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
13
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.13","taskTitle":"验证成本与额度护栏","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
14
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.14","taskTitle":"验证滥用与越权路径","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
15
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.15","taskTitle":"验证成本监控、报警和止损","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
16
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.16","taskTitle":"维护 docs/basic 项目基础文档","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
17
|
+
{"version":1,"at":"2026-07-03 18:55:23","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.17","taskTitle":"更新文件说明书和文件夹 README","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
18
|
+
{"version":1,"at":"2026-07-03 18:55:24","changeId":"vibe-coding-dev-check","action":"advance","taskId":"T001.18","taskTitle":"运行 OpenPrd spec 校验","ok":true,"verify":null,"evidence":"test/openprd-vibe-automation.test.js","notes":"本轮实现+246 测试全绿;guide/canvas 项为上轮已交付能力回归确认"}
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
# 任务
|
|
2
|
+
|
|
3
|
+
- [x] T001.01 评审生成的 spec 覆盖
|
|
4
|
+
- type: governance
|
|
5
|
+
- done: 生成的 agent-requirements spec 符合 PRD 意图
|
|
6
|
+
- verify: openprd change . --validate --change vibe-coding-dev-check
|
|
7
|
+
- test-layer: manual
|
|
8
|
+
- test-size: manual
|
|
9
|
+
- test-scope: governance
|
|
10
|
+
- evidence-plan: openprd change . --validate --change vibe-coding-dev-check
|
|
11
|
+
- upgrade-reason: 治理任务以结构校验、评审确认和变更状态证据为主
|
|
12
|
+
- execution-mode: serial
|
|
13
|
+
- parallel-group: governance
|
|
14
|
+
- write-scope: .openprd/changes/**, .openprd/**
|
|
15
|
+
- owner-role: main-agent
|
|
16
|
+
- local-verify: openprd change . --validate --change vibe-coding-dev-check
|
|
17
|
+
- integration-owner: main-agent
|
|
18
|
+
|
|
19
|
+
- [x] T001.02 接通界面入口、导航与页面挂载
|
|
20
|
+
- type: implementation
|
|
21
|
+
- deps: T001.01
|
|
22
|
+
- done: 用户可以从正确入口进入对应界面,页面挂载与状态收尾已经接通。 涉及: 改动集中在 src/standards.js、src/quality.js、src/openspec/change-lifecycle.js、s 等 2 项。
|
|
23
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.02 --evidence-required
|
|
24
|
+
- test-layer: integration, e2e
|
|
25
|
+
- test-size: large
|
|
26
|
+
- test-scope: visual-flow
|
|
27
|
+
- evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
|
|
28
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
|
|
29
|
+
- execution-mode: parallel-workers
|
|
30
|
+
- parallel-group: surface
|
|
31
|
+
- write-scope: src/cli/**, src/**, test/**
|
|
32
|
+
- owner-role: worker
|
|
33
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.02 --evidence-required
|
|
34
|
+
- integration-owner: main-agent
|
|
35
|
+
|
|
36
|
+
- [x] T001.03 补齐日志、诊断与可观测性信号
|
|
37
|
+
- type: implementation
|
|
38
|
+
- deps: T001.02
|
|
39
|
+
- done: 关键阶段日志和诊断信号已经保留,后续排查可以直接定位到断点。 涉及: 改动集中在 src/standards.js、src/quality.js、src/openspec/change-lifecycle.js、s。
|
|
40
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.03 --evidence-required
|
|
41
|
+
- test-layer: unit, integration
|
|
42
|
+
- test-size: medium
|
|
43
|
+
- test-scope: cli-contract
|
|
44
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
45
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
46
|
+
- execution-mode: parallel-workers
|
|
47
|
+
- parallel-group: implementation
|
|
48
|
+
- write-scope: src/**, test/**
|
|
49
|
+
- owner-role: worker
|
|
50
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.03 --evidence-required
|
|
51
|
+
- integration-owner: main-agent
|
|
52
|
+
|
|
53
|
+
- [x] T001.04 实现guide 命令基于工作区状态推断 7 步流程位置
|
|
54
|
+
- type: implementation
|
|
55
|
+
- deps: T001.03
|
|
56
|
+
- done: 已完成:guide 命令基于工作区状态推断 7 步流程位置
|
|
57
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.04 --evidence-required
|
|
58
|
+
- test-layer: integration, e2e
|
|
59
|
+
- test-size: large
|
|
60
|
+
- test-scope: visual-flow
|
|
61
|
+
- evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
|
|
62
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
|
|
63
|
+
- execution-mode: parallel-workers
|
|
64
|
+
- parallel-group: domain
|
|
65
|
+
- write-scope: src/**, test/**
|
|
66
|
+
- owner-role: worker
|
|
67
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.04 --evidence-required
|
|
68
|
+
- integration-owner: main-agent
|
|
69
|
+
|
|
70
|
+
- [x] T001.05 实现review.html 渲染 stepper
|
|
71
|
+
- type: implementation
|
|
72
|
+
- deps: T001.04
|
|
73
|
+
- done: 已完成:review.html 渲染 stepper
|
|
74
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.05 --evidence-required
|
|
75
|
+
- test-layer: unit, integration
|
|
76
|
+
- test-size: medium
|
|
77
|
+
- test-scope: cli-contract
|
|
78
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
79
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
80
|
+
- execution-mode: parallel-workers
|
|
81
|
+
- parallel-group: surface
|
|
82
|
+
- write-scope: src/cli/**, src/**, test/**
|
|
83
|
+
- owner-role: worker
|
|
84
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.05 --evidence-required
|
|
85
|
+
- integration-owner: main-agent
|
|
86
|
+
|
|
87
|
+
- [x] T001.06 实现canvas /api/review-directions 返回方向元数据与图片
|
|
88
|
+
- type: implementation
|
|
89
|
+
- deps: T001.05
|
|
90
|
+
- done: 已完成:canvas /api/review-directions 返回方向元数据与图片
|
|
91
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.06 --evidence-required
|
|
92
|
+
- test-layer: unit, integration
|
|
93
|
+
- test-size: medium
|
|
94
|
+
- test-scope: api-contract
|
|
95
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
96
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
97
|
+
- execution-mode: parallel-workers
|
|
98
|
+
- parallel-group: contracts
|
|
99
|
+
- write-scope: src/**, test/**, docs/basic/backend-structure.md
|
|
100
|
+
- owner-role: worker
|
|
101
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.06 --evidence-required
|
|
102
|
+
- integration-owner: main-agent
|
|
103
|
+
|
|
104
|
+
- [x] T001.07 实现canvas 前端导入方向卡片组
|
|
105
|
+
- type: implementation
|
|
106
|
+
- deps: T001.06
|
|
107
|
+
- done: 已完成:canvas 前端导入方向卡片组
|
|
108
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.07 --evidence-required
|
|
109
|
+
- test-layer: integration, e2e
|
|
110
|
+
- test-size: large
|
|
111
|
+
- test-scope: visual-flow
|
|
112
|
+
- evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
|
|
113
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
|
|
114
|
+
- execution-mode: parallel-workers
|
|
115
|
+
- parallel-group: implementation
|
|
116
|
+
- write-scope: src/**, test/**
|
|
117
|
+
- owner-role: worker
|
|
118
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.07 --evidence-required
|
|
119
|
+
- integration-owner: main-agent
|
|
120
|
+
|
|
121
|
+
- [x] T001.08 打通主流程闭环:PM 打开终端或让 Agent 运行 openprd guide,看到 7 步流程和当前位置,按提示进入下一步 等 3 项
|
|
122
|
+
- type: implementation
|
|
123
|
+
- deps: T001.07
|
|
124
|
+
- done: 主流程关键节点已经打通,用户可以按预期从入口走到结果收尾。 涉及: PM 打开终端或让 Agent 运行 openprd guide,看到 7 步流程和当前位置,按提示进入下一步 等 3 项。
|
|
125
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.08 --evidence-required
|
|
126
|
+
- test-layer: integration, e2e
|
|
127
|
+
- test-size: large
|
|
128
|
+
- test-scope: user-flow
|
|
129
|
+
- evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
|
|
130
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
|
|
131
|
+
- execution-mode: serial
|
|
132
|
+
- parallel-group: integration
|
|
133
|
+
- write-scope: src/**, test/**, docs/basic/**
|
|
134
|
+
- owner-role: main-agent
|
|
135
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.08 --evidence-required
|
|
136
|
+
- integration-owner: main-agent
|
|
137
|
+
|
|
138
|
+
- [x] T001.09 验证在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据
|
|
139
|
+
- type: verification
|
|
140
|
+
- deps: T001.08
|
|
141
|
+
- done: 已验证:在 openprd 自身仓库通过单元测试与 standards/quality/run verify;用 Codex CLI 在本地跑一个桌面任务实测新流程效果并留下证据
|
|
142
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.09 --evidence-required
|
|
143
|
+
- test-layer: unit, integration
|
|
144
|
+
- test-size: medium
|
|
145
|
+
- test-scope: cli-contract
|
|
146
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
147
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
148
|
+
- execution-mode: parallel-workers
|
|
149
|
+
- parallel-group: verification
|
|
150
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
151
|
+
- owner-role: worker
|
|
152
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.09 --evidence-required
|
|
153
|
+
- integration-owner: main-agent
|
|
154
|
+
|
|
155
|
+
- [x] T001.10 回归非功能约束:不新增外部依赖 / guide 与画布 API 只读工作区状态,不写状态
|
|
156
|
+
- type: verification
|
|
157
|
+
- deps: T001.09
|
|
158
|
+
- done: 非功能约束已经回归确认。 涉及: 不新增外部依赖 / guide 与画布 API 只读工作区状态,不写状态。
|
|
159
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.10 --evidence-required
|
|
160
|
+
- test-layer: integration, e2e
|
|
161
|
+
- test-size: large
|
|
162
|
+
- test-scope: visual-flow
|
|
163
|
+
- evidence-plan: 主流程自动化、截图或 visual-compare 证据 + 本任务 verify 命令;轻量 UI 可视优化也需要 before/after、verification-board 或 alignment-board 证据,同构卡片/列表要覆盖内部内容槽位
|
|
164
|
+
- upgrade-reason: 触达用户可见路径,需要端到端或视觉级证据;轻量 UI 可视优化不能只用构建或 dev-check 收口
|
|
165
|
+
- execution-mode: parallel-workers
|
|
166
|
+
- parallel-group: verification
|
|
167
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
168
|
+
- owner-role: worker
|
|
169
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.10 --evidence-required
|
|
170
|
+
- integration-owner: main-agent
|
|
171
|
+
|
|
172
|
+
- [x] T001.11 回归非功能约束:全部文案用 PM 能看懂的普通语言
|
|
173
|
+
- type: verification
|
|
174
|
+
- deps: T001.10
|
|
175
|
+
- done: 非功能约束已经回归确认。 涉及: 全部文案用 PM 能看懂的普通语言。
|
|
176
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.11 --evidence-required
|
|
177
|
+
- test-layer: unit, integration
|
|
178
|
+
- test-size: medium
|
|
179
|
+
- test-scope: cli-contract
|
|
180
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
181
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
182
|
+
- execution-mode: parallel-workers
|
|
183
|
+
- parallel-group: verification
|
|
184
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
185
|
+
- owner-role: worker
|
|
186
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.11 --evidence-required
|
|
187
|
+
- integration-owner: main-agent
|
|
188
|
+
|
|
189
|
+
- [x] T001.12 回归边界条件与失败处理:边界情况:工作区还没有任何需求版本时 guide 显示第 1 步并给出起步动作 等 3 项
|
|
190
|
+
- type: verification
|
|
191
|
+
- deps: T001.11
|
|
192
|
+
- done: 边界条件与失败处理已经回归确认。 涉及: 边界情况:工作区还没有任何需求版本时 guide 显示第 1 步并给出起步动作 等 3 项。
|
|
193
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.12 --evidence-required
|
|
194
|
+
- test-layer: unit, integration
|
|
195
|
+
- test-size: medium
|
|
196
|
+
- test-scope: cli-contract
|
|
197
|
+
- evidence-plan: 单元测试锁定规则 + 集成或命令行契约验证
|
|
198
|
+
- upgrade-reason: 触达 CLI/API/Agent 契约或生成物,需要中间层验证
|
|
199
|
+
- execution-mode: parallel-workers
|
|
200
|
+
- parallel-group: verification
|
|
201
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
202
|
+
- owner-role: worker
|
|
203
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.12 --evidence-required
|
|
204
|
+
- integration-owner: main-agent
|
|
205
|
+
|
|
206
|
+
- [x] T001.13 验证成本与额度护栏
|
|
207
|
+
- type: verification
|
|
208
|
+
- deps: T001.12
|
|
209
|
+
- done: 已验证免费、试用或低权限用户不能绕过额度、并发、频率或总量限制
|
|
210
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.13 --evidence-required
|
|
211
|
+
- test-layer: integration, security
|
|
212
|
+
- test-size: medium
|
|
213
|
+
- test-scope: security
|
|
214
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
215
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
216
|
+
- execution-mode: parallel-workers
|
|
217
|
+
- parallel-group: verification
|
|
218
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
219
|
+
- owner-role: worker
|
|
220
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.13 --evidence-required
|
|
221
|
+
- integration-owner: main-agent
|
|
222
|
+
|
|
223
|
+
- [x] T001.14 验证滥用与越权路径
|
|
224
|
+
- type: verification
|
|
225
|
+
- deps: T001.13
|
|
226
|
+
- done: 已覆盖重复请求、并发请求、越权身份和异常恢复等负向场景
|
|
227
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.14 --evidence-required
|
|
228
|
+
- test-layer: integration, security
|
|
229
|
+
- test-size: medium
|
|
230
|
+
- test-scope: security
|
|
231
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
232
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
233
|
+
- execution-mode: parallel-workers
|
|
234
|
+
- parallel-group: verification
|
|
235
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
236
|
+
- owner-role: worker
|
|
237
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.14 --evidence-required
|
|
238
|
+
- integration-owner: main-agent
|
|
239
|
+
|
|
240
|
+
- [x] T001.15 验证成本监控、报警和止损
|
|
241
|
+
- type: verification
|
|
242
|
+
- deps: T001.14
|
|
243
|
+
- done: 已确认用量或成本信号、报警阈值和人工/自动止损动作可执行
|
|
244
|
+
- verify: openprd tasks . --change vibe-coding-dev-check --item T001.15 --evidence-required
|
|
245
|
+
- test-layer: integration, security
|
|
246
|
+
- test-size: medium
|
|
247
|
+
- test-scope: security
|
|
248
|
+
- evidence-plan: 正向路径 + 越权、额度、并发或敏感信息负向验证
|
|
249
|
+
- upgrade-reason: 触达权限、安全、成本或滥用边界,需要至少集成级证据
|
|
250
|
+
- execution-mode: parallel-workers
|
|
251
|
+
- parallel-group: verification
|
|
252
|
+
- write-scope: test/**, .openprd/harness/test-reports/**
|
|
253
|
+
- owner-role: worker
|
|
254
|
+
- local-verify: openprd tasks . --change vibe-coding-dev-check --item T001.15 --evidence-required
|
|
255
|
+
- integration-owner: main-agent
|
|
256
|
+
|
|
257
|
+
- [x] T001.16 维护 docs/basic 项目基础文档
|
|
258
|
+
- type: documentation
|
|
259
|
+
- deps: T001.15
|
|
260
|
+
- done: 已检查 docs/basic 是否缺失或因本次需求、流程、结构、依赖、产品行为变化而过期;若涉及后端、脚本、Agent 或工具链变更,已同步评估 CLI 与 API 接入面,并在 backend-structure.md 中记录事实或不适用原因;需要更新的基础文档已同步
|
|
261
|
+
- verify: openprd standards . --verify
|
|
262
|
+
- test-layer: manual
|
|
263
|
+
- test-size: manual
|
|
264
|
+
- test-scope: docs
|
|
265
|
+
- evidence-plan: openprd standards . --verify
|
|
266
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
267
|
+
- execution-mode: parallel-workers
|
|
268
|
+
- parallel-group: docs
|
|
269
|
+
- write-scope: docs/basic/**, README*.md
|
|
270
|
+
- owner-role: worker
|
|
271
|
+
- local-verify: openprd standards . --verify
|
|
272
|
+
- integration-owner: main-agent
|
|
273
|
+
|
|
274
|
+
- [x] T001.17 更新文件说明书和文件夹 README
|
|
275
|
+
- type: documentation
|
|
276
|
+
- deps: T001.16
|
|
277
|
+
- done: 本次变更涉及的文件说明书和文件夹 README 已检查;缺失的已补齐,过期的已更新
|
|
278
|
+
- verify: openprd standards . --verify
|
|
279
|
+
- test-layer: manual
|
|
280
|
+
- test-size: manual
|
|
281
|
+
- test-scope: docs
|
|
282
|
+
- evidence-plan: openprd standards . --verify
|
|
283
|
+
- upgrade-reason: 文档任务以标准校验和人工审查证据为主
|
|
284
|
+
- execution-mode: parallel-workers
|
|
285
|
+
- parallel-group: docs
|
|
286
|
+
- write-scope: docs/basic/**, README*.md
|
|
287
|
+
- owner-role: worker
|
|
288
|
+
- local-verify: openprd standards . --verify
|
|
289
|
+
- integration-owner: main-agent
|
|
290
|
+
|
|
291
|
+
- [x] T001.18 运行 OpenPrd spec 校验
|
|
292
|
+
- type: governance
|
|
293
|
+
- deps: T001.17
|
|
294
|
+
- done: 生成的 change 通过 OpenPrd 校验
|
|
295
|
+
- verify: openprd change . --validate --change vibe-coding-dev-check
|
|
296
|
+
- test-layer: manual
|
|
297
|
+
- test-size: manual
|
|
298
|
+
- test-scope: governance
|
|
299
|
+
- evidence-plan: openprd change . --validate --change vibe-coding-dev-check
|
|
300
|
+
- upgrade-reason: 治理任务以结构校验、评审确认和变更状态证据为主
|
|
301
|
+
- execution-mode: serial
|
|
302
|
+
- parallel-group: governance
|
|
303
|
+
- write-scope: .openprd/changes/**, .openprd/**
|
|
304
|
+
- owner-role: main-agent
|
|
305
|
+
- local-verify: openprd change . --validate --change vibe-coding-dev-check
|
|
306
|
+
- integration-owner: main-agent
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
这层目录给 Agent 提供前端体验任务的可复用设计框架。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
它不是参考图仓库,而是实现前的判断顺序、审美立意和资产底座。
|
|
6
6
|
|
|
7
7
|
## 目录
|
|
8
8
|
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
- `components/`: 高频组件结构
|
|
13
13
|
- `recipes/`: 按任务类型整理的默认配方
|
|
14
14
|
- `checklists/`: 自检门
|
|
15
|
+
- `anti-slop.md`: 反模板化检查,避免通用 AI 页面味
|
|
15
16
|
- `assets/`: 可复用表面和素材说明
|
|
16
17
|
- `templates/`: 可直接套用的页面起步模板
|
|
17
18
|
- `active/`: 当前任务正在使用的事实、素材和方向文件
|
|
@@ -19,11 +20,13 @@
|
|
|
19
20
|
## 默认顺序
|
|
20
21
|
|
|
21
22
|
1. 先选 `lens`
|
|
22
|
-
2.
|
|
23
|
-
3. 再选 `
|
|
24
|
-
4.
|
|
25
|
-
5.
|
|
26
|
-
6.
|
|
23
|
+
2. 写清用途、受众、气质端点、约束和记忆点
|
|
24
|
+
3. 再选 `theme`
|
|
25
|
+
4. 再选 `layout`
|
|
26
|
+
5. 再决定 `component set`
|
|
27
|
+
6. 再补当前任务的 `facts / assets / image preflight / directions`
|
|
28
|
+
7. 用 `anti-slop.md` 排除通用 AI 味
|
|
29
|
+
8. 最后进入实现
|
|
27
30
|
|
|
28
31
|
对空白静态原型,如果 `templates/` 里已经有足够接近的模板,优先先用模板默认组合开工;只有确实要偏离默认组合时,再回头细读所有 catalog。
|
|
29
32
|
|
|
@@ -42,6 +45,8 @@
|
|
|
42
45
|
## 这层解决什么问题
|
|
43
46
|
|
|
44
47
|
- 避免界面都长成一种安全极简解
|
|
48
|
+
- 避免默认紫白渐变、通用字体、白底卡片堆叠和无语境装饰
|
|
45
49
|
- 避免事实没核实就上页面
|
|
46
50
|
- 避免内容型页面没有真实图还硬做
|
|
47
51
|
- 避免实现时临时发明主题和组件
|
|
52
|
+
- 避免方向文档只写 lens/theme/layout,却没有审美主张和用户记忆点
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This folder gives agents a reusable design framework for frontend experience work.
|
|
4
4
|
|
|
5
|
-
It is not a gallery of references. It is the pre-build decision layer and asset base.
|
|
5
|
+
It is not a gallery of references. It is the pre-build decision layer, aesthetic intent layer, and asset base.
|
|
6
6
|
|
|
7
7
|
## Structure
|
|
8
8
|
|
|
@@ -12,6 +12,7 @@ It is not a gallery of references. It is the pre-build decision layer and asset
|
|
|
12
12
|
- `components/`: reusable structural components
|
|
13
13
|
- `recipes/`: task-type defaults
|
|
14
14
|
- `checklists/`: quality gates
|
|
15
|
+
- `anti-slop.md`: anti-template checks for generic AI-looking pages
|
|
15
16
|
- `assets/`: reusable surface and asset notes
|
|
16
17
|
- `templates/`: ready-to-adapt page starters
|
|
17
18
|
- `active/`: task-specific facts, assets, and selected direction files
|
|
@@ -20,6 +21,8 @@ It is not a gallery of references. It is the pre-build decision layer and asset
|
|
|
20
21
|
|
|
21
22
|
When the workspace is still empty, fill the active design contracts first, then pick the closest file in `templates/` and adapt it into the first runnable page entry such as `index.html`.
|
|
22
23
|
|
|
24
|
+
- Write the purpose, audience, aesthetic tone, constraints, and one memorable visual or interaction point before coding.
|
|
23
25
|
- If the page does not depend on external product facts, branded assets, or real images, write that down explicitly in the active design contracts instead of leaving them in `pending`.
|
|
24
26
|
- If the page theme and module scope are already clear, prefer passing them into `openprd design-starter` through `--brief` and `--sections` so the first real page and the active design contracts are created together.
|
|
25
27
|
- After the starter is created, the next move should be one patch that updates both the active design contracts and the entry file. Edit the generated entry file in place instead of deleting and recreating it, and do not keep circling through placeholder docs.
|
|
28
|
+
- Use `anti-slop.md` to avoid default purple gradients, generic font stacks, white-card grids, and decorative effects that do not serve the product context.
|
|
@@ -5,11 +5,17 @@
|
|
|
5
5
|
| logo | 待填写 | 待确认 | pending | |
|
|
6
6
|
| 产品图 | 待填写 | 待确认 | pending | |
|
|
7
7
|
| UI 图 | 待填写 | 待确认 | pending | |
|
|
8
|
+
| 功能图标 | 新入口/按钮/空态默认配图标 | UI 图标 Phosphor;实现库 Lucide/Tabler/React Icons;AI 品牌 LobeHub;技术栈 Tech Icons | pending | 开发新功能时 Agent 自动找图标并登记,不等用户要求 |
|
|
8
9
|
| 摄影 / 插图 | 待填写 | 待确认 | pending | |
|
|
9
10
|
| 色板 / 字体 | 待填写 | 待确认 | pending | |
|
|
11
|
+
| 动效节奏 | 待填写 | 待确认 | pending | |
|
|
12
|
+
| 背景 / 表面 | 待填写 | 待确认 | pending | |
|
|
13
|
+
| 构图记忆点 | 待填写 | 待确认 | pending | |
|
|
10
14
|
|
|
11
15
|
## 冻结变量
|
|
12
16
|
|
|
13
17
|
- lens: 待填写
|
|
14
18
|
- theme: 待填写
|
|
15
19
|
- layout: 待填写
|
|
20
|
+
- aesthetic: 待填写
|
|
21
|
+
- memory-point: 待填写
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Direction Plan
|
|
2
2
|
|
|
3
|
-
| 方向 | 生成逻辑 | lens | theme | layout | 为什么不同 | 适用场景 | 主要风险 |
|
|
4
|
-
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
5
|
-
| 方向 1 | contrast | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 |
|
|
6
|
-
| 方向 2 | reference-transfer | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 |
|
|
7
|
-
| 方向 3 | design-lens | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 |
|
|
3
|
+
| 方向 | 生成逻辑 | lens | theme | layout | 审美主张 | 记忆点 | 为什么不同 | 适用场景 | 主要风险 |
|
|
4
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
5
|
+
| 方向 1 | contrast | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 |
|
|
6
|
+
| 方向 2 | reference-transfer | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 |
|
|
7
|
+
| 方向 3 | design-lens | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 | 待填写 |
|