@gordon.gan/specflow 1.8.0-beta → 1.8.2-beta
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 +7 -5
- package/dist/cli/commands/document-run.d.ts +98 -0
- package/dist/cli/commands/document-run.js +1064 -0
- package/dist/cli/index.js +2 -2
- package/dist/core/artifact-language.js +11 -1
- package/dist/core/document/asset-paths.d.ts +15 -0
- package/dist/core/document/asset-paths.js +38 -0
- package/dist/core/document/chapters.d.ts +6 -0
- package/dist/core/document/chapters.js +38 -0
- package/dist/core/document/coverage.d.ts +25 -0
- package/dist/core/document/coverage.js +49 -0
- package/dist/core/document/digests.d.ts +40 -0
- package/dist/core/document/digests.js +144 -0
- package/dist/core/document/engine.d.ts +101 -0
- package/dist/core/document/engine.js +722 -0
- package/dist/core/document/extract.d.ts +61 -0
- package/dist/core/document/extract.js +437 -0
- package/dist/core/{approval → document}/forbidden-patterns.d.ts +4 -2
- package/dist/core/document/forbidden-patterns.js +36 -0
- package/dist/core/document/gates.d.ts +39 -0
- package/dist/core/document/gates.js +75 -0
- package/dist/core/document/input-digest.d.ts +63 -0
- package/dist/core/document/input-digest.js +200 -0
- package/dist/core/document/input-features.d.ts +43 -0
- package/dist/core/document/input-features.js +161 -0
- package/dist/core/document/lint.d.ts +39 -0
- package/dist/core/document/lint.js +147 -0
- package/dist/core/document/llm.d.ts +28 -0
- package/dist/core/document/llm.js +22 -0
- package/dist/core/document/map.d.ts +52 -0
- package/dist/core/document/map.js +296 -0
- package/dist/core/document/outline.d.ts +29 -0
- package/dist/core/document/outline.js +171 -0
- package/dist/core/document/paths.d.ts +23 -0
- package/dist/core/document/paths.js +36 -0
- package/dist/core/document/profile-validator.d.ts +23 -0
- package/dist/core/document/profile-validator.js +155 -0
- package/dist/core/document/profiles.d.ts +23 -0
- package/dist/core/document/profiles.js +76 -0
- package/dist/core/document/render.d.ts +61 -0
- package/dist/core/document/render.js +243 -0
- package/dist/core/document/review.d.ts +57 -0
- package/dist/core/document/review.js +202 -0
- package/dist/core/document/scene-detect.d.ts +32 -0
- package/dist/core/document/scene-detect.js +237 -0
- package/dist/core/document/schemas.d.ts +1111 -0
- package/dist/core/document/schemas.js +191 -0
- package/dist/integrations/shared/capability-evidence.js +4 -9
- package/dist/integrations/shared/command-catalog.js +2 -1
- package/dist/integrations/shared/parity-manifest.js +4 -9
- package/package.json +2 -1
- package/prompts/apply/phase-a-plan.md +1 -1
- package/prompts/document/map/acceptance.md +9 -0
- package/prompts/document/map/anti-ai.md +29 -0
- package/prompts/document/map/api-design.md +26 -0
- package/prompts/document/map/architecture.md +27 -0
- package/prompts/document/map/benchmark.md +26 -0
- package/prompts/document/map/closed-loop.md +9 -0
- package/prompts/document/map/compat-migration.md +31 -0
- package/prompts/document/map/component-design.md +30 -0
- package/prompts/document/map/config-runtime.md +9 -0
- package/prompts/document/map/core-flow.md +62 -0
- package/prompts/document/map/core-logic.md +9 -0
- package/prompts/document/map/data-model.md +18 -0
- package/prompts/document/map/deploy.md +26 -0
- package/prompts/document/map/fix.md +8 -0
- package/prompts/document/map/frontend-architecture.md +35 -0
- package/prompts/document/map/goal.md +8 -0
- package/prompts/document/map/impact.md +8 -0
- package/prompts/document/map/implementability.md +9 -0
- package/prompts/document/map/migration-guide.md +36 -0
- package/prompts/document/map/mvp-boundary.md +8 -0
- package/prompts/document/map/non-goals.md +8 -0
- package/prompts/document/map/ops.md +33 -0
- package/prompts/document/map/performance.md +32 -0
- package/prompts/document/map/poc-demo.md +25 -0
- package/prompts/document/map/regression.md +8 -0
- package/prompts/document/map/reproduce.md +8 -0
- package/prompts/document/map/requirement.md +8 -0
- package/prompts/document/map/research.md +25 -0
- package/prompts/document/map/root-cause.md +8 -0
- package/prompts/document/map/signoff.md +9 -0
- package/prompts/document/map/state-management.md +23 -0
- package/prompts/document/map/tech-selection.md +29 -0
- package/prompts/document/map/test-strategy.md +24 -0
- package/prompts/document/map/ui-design.md +21 -0
- package/prompts/document/outline/general.md +46 -0
- package/prompts/document/review/ai-review.md +57 -0
- package/prompts/document/shared/grounding.md +84 -0
- package/prompts/explore/explore-session.md +1 -1
- package/prompts/propose/design-draft.md +1 -1
- package/prompts/propose/proposal.md +1 -1
- package/prompts/propose/specs.md +1 -1
- package/prompts/propose/tasks-draft.md +1 -1
- package/prompts/refine/design-output.md +1 -1
- package/prompts/refine/update-artifacts.md +2 -0
- package/prompts/shared/artifact-language.md +13 -0
- package/skills/specflow-techdoc/SKILL.md +143 -0
- package/skills/specflow-techdoc-synth/SKILL.md +115 -0
- package/templates/document/chapters/acceptance.yaml +16 -0
- package/templates/document/chapters/api-design.yaml +29 -0
- package/templates/document/chapters/architecture.yaml +21 -0
- package/templates/document/chapters/benchmark.yaml +20 -0
- package/templates/document/chapters/closed-loop.yaml +22 -0
- package/templates/document/chapters/compat-migration.yaml +21 -0
- package/templates/document/chapters/component-design.yaml +22 -0
- package/templates/document/chapters/config-runtime.yaml +16 -0
- package/templates/document/chapters/core-flow.yaml +27 -0
- package/templates/document/chapters/core-logic.yaml +16 -0
- package/templates/document/chapters/data-model.yaml +25 -0
- package/templates/document/chapters/deploy.yaml +22 -0
- package/templates/document/chapters/fix.yaml +18 -0
- package/templates/document/chapters/frontend-architecture.yaml +22 -0
- package/templates/document/chapters/goal.yaml +17 -0
- package/templates/document/chapters/impact.yaml +16 -0
- package/templates/document/chapters/implementability.yaml +22 -0
- package/templates/document/chapters/migration-guide.yaml +21 -0
- package/templates/document/chapters/mvp-boundary.yaml +20 -0
- package/templates/document/chapters/non-goals.yaml +17 -0
- package/templates/document/chapters/ops.yaml +25 -0
- package/templates/document/chapters/performance.yaml +21 -0
- package/templates/document/chapters/poc-demo.yaml +22 -0
- package/templates/document/chapters/regression.yaml +16 -0
- package/templates/document/chapters/reproduce.yaml +16 -0
- package/templates/document/chapters/requirement.yaml +18 -0
- package/templates/document/chapters/research.yaml +22 -0
- package/templates/document/chapters/root-cause.yaml +18 -0
- package/templates/document/chapters/signoff.yaml +15 -0
- package/templates/document/chapters/state-management.yaml +22 -0
- package/templates/document/chapters/tech-selection.yaml +23 -0
- package/templates/document/chapters/test-strategy.yaml +23 -0
- package/templates/document/chapters/ui-design.yaml +28 -0
- package/templates/document/profiles/0to1.yaml +44 -0
- package/templates/document/profiles/approve.yaml +22 -0
- package/templates/document/profiles/bugfix.yaml +15 -0
- package/templates/document/profiles/feature.yaml +23 -0
- package/templates/document/profiles/frontend-0to1.yaml +47 -0
- package/templates/document/profiles/migration.yaml +42 -0
- package/templates/document/profiles/poc.yaml +46 -0
- package/dist/cli/commands/approval-assemble.d.ts +0 -64
- package/dist/cli/commands/approval-assemble.js +0 -408
- package/dist/core/approval/assemble.d.ts +0 -10
- package/dist/core/approval/assemble.js +0 -384
- package/dist/core/approval/bundle.d.ts +0 -9
- package/dist/core/approval/bundle.js +0 -172
- package/dist/core/approval/forbidden-patterns.js +0 -40
- package/dist/core/approval/index-schema.d.ts +0 -676
- package/dist/core/approval/index-schema.js +0 -193
- package/dist/core/approval/index.d.ts +0 -12
- package/dist/core/approval/index.js +0 -9
- package/dist/core/approval/lint.d.ts +0 -10
- package/dist/core/approval/lint.js +0 -302
- package/dist/core/approval/paths.d.ts +0 -13
- package/dist/core/approval/paths.js +0 -43
- package/dist/core/approval/pipeline.d.ts +0 -28
- package/dist/core/approval/pipeline.js +0 -146
- package/dist/core/approval/playbook-schema.d.ts +0 -182
- package/dist/core/approval/playbook-schema.js +0 -51
- package/dist/core/approval/render.d.ts +0 -20
- package/dist/core/approval/render.js +0 -210
- package/dist/core/approval/review-pack.d.ts +0 -26
- package/dist/core/approval/review-pack.js +0 -205
- package/dist/core/approval/types.d.ts +0 -223
- package/dist/core/approval/types.js +0 -1
- package/prompts/approval/acp-pipeline.md +0 -106
- package/prompts/approval/ai-review.md +0 -145
- package/prompts/approval/api-guidance.md +0 -179
- package/prompts/approval/database-guidance.md +0 -105
- package/prompts/approval/frontend-guidance.md +0 -249
- package/prompts/approval/generate.md +0 -1596
- package/prompts/approval/multi-repo-guidance.md +0 -263
- package/prompts/approval/multi-repo-spoke-subagent.md +0 -94
- package/prompts/approval/project-conventions-guidance.md +0 -171
- package/prompts/approval/runtime-guidance.md +0 -64
- package/prompts/approval/segmented-generation.md +0 -157
- package/skills/specflow-approval/SKILL.md +0 -778
- package/templates/approval-index.yaml +0 -93
- package/templates/approval-part.md +0 -15
- package/templates/approval-playbook-talos-scenario-job-compile.yaml +0 -29
- package/templates/approval-playbook.yaml +0 -28
- package/templates/approval.md +0 -261
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 部署交付方案(deploy · 0→1 扩展为「部署交付」:环境/CI-CD/拓扑/发布/回滚/配置管理 12-Factor)
|
|
2
|
+
id: deploy
|
|
3
|
+
title: 部署交付方案
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [test-strategy]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: DP1, text: 环境拆分(dev/staging/prod 及用途/访问控制), required: true, kind: narrative }
|
|
8
|
+
- { id: DP2, text: CI/CD 流水线(代码检查→测试→构建→部署)+ 制品/不可变版本, required: true, kind: narrative }
|
|
9
|
+
- { id: DP3, text: 部署拓扑与方式(容器/K8s/Serverless/虚拟机 + 前端静态托管/CDN/SPA 回退), required: true, kind: narrative }
|
|
10
|
+
- { id: DP4, text: 发布策略(蓝绿/金丝雀/滚动), required: true, kind: narrative }
|
|
11
|
+
- { id: DP5, text: 回滚(触发条件/方式/数据一致/验证), required: true, kind: narrative }
|
|
12
|
+
- { id: DP6, text: 配置管理(环境变量/密钥/生效时机;12-Factor), required: true, kind: narrative }
|
|
13
|
+
entities: {}
|
|
14
|
+
narratives:
|
|
15
|
+
deploy: required
|
|
16
|
+
gates:
|
|
17
|
+
- 回滚必须有数据一致性结论(G4 语义)
|
|
18
|
+
- 配置必须来自环境变量(12-Factor);硬编码密钥/地址 → error
|
|
19
|
+
- 构建产物与运行分离(不可变制品)
|
|
20
|
+
- 纯库/CLI 项目可写「不涉及运行时部署」
|
|
21
|
+
map_prompt: prompts/document/map/deploy.md
|
|
22
|
+
output_budget_tokens: 3500
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# 修复方案(bugfix 必选;依赖根因)
|
|
2
|
+
id: fix
|
|
3
|
+
title: 修复方案
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [root-cause]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: F1, text: 修复思路(对应根因), required: true, kind: narrative }
|
|
8
|
+
- { id: F2, text: 具体改动点, required: true, kind: mixed }
|
|
9
|
+
- { id: F3, text: 修复验证方式, required: true, kind: narrative }
|
|
10
|
+
entities: {}
|
|
11
|
+
narratives:
|
|
12
|
+
fix_notes: required
|
|
13
|
+
gates:
|
|
14
|
+
- 修复必须对应根因(禁止治标不治本)
|
|
15
|
+
- 改动点必须具体可执行
|
|
16
|
+
- 必须给出验证方式
|
|
17
|
+
map_prompt: prompts/document/map/fix.md
|
|
18
|
+
output_budget_tokens: 2500
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 前端架构设计(frontend-architecture · 0→1 全栈/纯前端场景)
|
|
2
|
+
# 高质量前端架构要点:目录分层 + 模块化/Monorepo 决策 + 工程化配置 + 架构图(图+文字) + 每层「不放什么」
|
|
3
|
+
id: frontend-architecture
|
|
4
|
+
title: 前端架构设计
|
|
5
|
+
when: null
|
|
6
|
+
depends_on: [tech-selection]
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: FA1, text: 目录分层(pages/components/hooks/services/utils/types),逐层说明职责与边界, required: true, kind: narrative }
|
|
9
|
+
- { id: FA2, text: 模块化与代码组织决策(Monorepo vs 单仓、包划分、共享代码复用), required: true, kind: narrative }
|
|
10
|
+
- { id: FA3, text: 工程化配置(ESLint/Prettier/Husky/TypeScript 等级/CSS 决策树,给出工具与版本), required: true, kind: narrative }
|
|
11
|
+
- { id: FA4, text: 前端架构图(Mermaid 组件/容器图)+ 逐节点文字说明(职责/边界/「不放什么」), required: true, kind: mixed }
|
|
12
|
+
- { id: FA5, text: 数据流与状态归属的总览(配合 state-management 章节细述), required: false, kind: narrative }
|
|
13
|
+
entities: {}
|
|
14
|
+
narratives:
|
|
15
|
+
frontend_architecture: required
|
|
16
|
+
gates:
|
|
17
|
+
- 每个目录层必须写明职责与「不放什么」边界(禁把什么都塞进 components)
|
|
18
|
+
- 工程化配置必须给出工具 + 版本(禁只写「用 ESLint」)
|
|
19
|
+
- 架构图必须 Mermaid 源码 + 文字说明(逐节点职责,禁只有图无文字)
|
|
20
|
+
- Monorepo/模块化决策必须给结论与理由(反AI决策 #1:说明不选什么)
|
|
21
|
+
map_prompt: prompts/document/map/frontend-architecture.md
|
|
22
|
+
output_budget_tokens: 4000
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# 目标与问题(0→1 必选)
|
|
2
|
+
id: goal
|
|
3
|
+
title: 目标与问题
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: []
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: G1, text: 要解决什么问题(一句话痛点), required: true, kind: narrative }
|
|
8
|
+
- { id: G2, text: 产品目标(解决…实现…), required: true, kind: narrative }
|
|
9
|
+
- { id: G3, text: 目标用户与核心场景, required: true, kind: narrative }
|
|
10
|
+
entities: {}
|
|
11
|
+
narratives:
|
|
12
|
+
goal: required
|
|
13
|
+
gates:
|
|
14
|
+
- 目标必须用「解决…实现…」句式
|
|
15
|
+
- 禁止含糊目标(如「做一个好用的工具」)
|
|
16
|
+
map_prompt: prompts/document/map/goal.md
|
|
17
|
+
output_budget_tokens: 2000
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 影响面(bugfix 候选;依赖根因)
|
|
2
|
+
id: impact
|
|
3
|
+
title: 影响面
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [root-cause]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: IM1, text: 受影响功能/用户/数据, required: true, kind: narrative }
|
|
8
|
+
- { id: IM2, text: 影响严重度评估, required: true, kind: narrative }
|
|
9
|
+
entities: {}
|
|
10
|
+
narratives:
|
|
11
|
+
impact_notes: required
|
|
12
|
+
gates:
|
|
13
|
+
- 必须覆盖功能/用户/数据三维度
|
|
14
|
+
- 严重度必须有依据
|
|
15
|
+
map_prompt: prompts/document/map/impact.md
|
|
16
|
+
output_budget_tokens: 1500
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 可实施性评估(审批模式必选;7 维)
|
|
2
|
+
id: implementability
|
|
3
|
+
title: 可实施性评估
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [closed-loop, test-strategy]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: IM1, text: 完整性(READY/NEEDS REFINEMENT/BLOCKED), required: true, kind: narrative }
|
|
8
|
+
- { id: IM2, text: 规格对齐, required: true, kind: narrative }
|
|
9
|
+
- { id: IM3, text: 任务可执行性, required: true, kind: narrative }
|
|
10
|
+
- { id: IM4, text: 技术可行性, required: true, kind: narrative }
|
|
11
|
+
- { id: IM5, text: 依赖明确性, required: true, kind: narrative }
|
|
12
|
+
- { id: IM6, text: 架构一致性, required: true, kind: narrative }
|
|
13
|
+
- { id: IM7, text: 实施风险, required: true, kind: narrative }
|
|
14
|
+
entities: {}
|
|
15
|
+
narratives:
|
|
16
|
+
implementability: required
|
|
17
|
+
gates:
|
|
18
|
+
- 每维必须给结论(READY/NEEDS REFINEMENT/BLOCKED)+ 说明
|
|
19
|
+
- 必须给可实施性总评
|
|
20
|
+
- 禁止与 §4 深度矛盾(如「READY」但 §4 缺细节)
|
|
21
|
+
map_prompt: prompts/document/map/implementability.md
|
|
22
|
+
output_budget_tokens: 2500
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 代码迁移指南(migration-guide · F4 全栈技术升级场景)
|
|
2
|
+
# 高质量迁移指南要点:逐模块 checklist + 自动化迁移脚本(codemod) + 常见陷阱与解法 + 培训计划
|
|
3
|
+
id: migration-guide
|
|
4
|
+
title: 代码迁移指南
|
|
5
|
+
when: null
|
|
6
|
+
depends_on: [compat-migration]
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: MG1, text: 逐模块迁移 checklist(按目录/模块列出可勾选步骤与验收), required: true, kind: narrative }
|
|
9
|
+
- { id: MG2, text: 自动化迁移脚本(codemod/批量替换,给出工具与正则/规则), required: false, kind: narrative }
|
|
10
|
+
- { id: MG3, text: 常见陷阱与解法(现象 + 原因 + 解法,每条完整), required: true, kind: narrative }
|
|
11
|
+
- { id: MG4, text: 团队培训计划(分享/Slide/代码示例对照/最佳实践文档), required: false, kind: narrative }
|
|
12
|
+
- { id: MG5, text: 迁移顺序与依赖(先迁什么后迁什么,如何保证中间态可运行), required: true, kind: narrative }
|
|
13
|
+
entities: {}
|
|
14
|
+
narratives:
|
|
15
|
+
migration_guide: required
|
|
16
|
+
gates:
|
|
17
|
+
- 迁移 checklist 必须可勾选(逐项「已完成/未完成」),禁笼统清单
|
|
18
|
+
- 陷阱必须有「现象 + 原因 + 解法」三段式(禁只写「注意兼容」)
|
|
19
|
+
- 迁移顺序必须保证中间态可运行(双构建/双运行,禁一次大爆炸切换)
|
|
20
|
+
map_prompt: prompts/document/map/migration-guide.md
|
|
21
|
+
output_budget_tokens: 3500
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# MVP 边界(0→1 必选;依赖目标)
|
|
2
|
+
id: mvp-boundary
|
|
3
|
+
title: MVP 边界
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [goal]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: MVP1, text: MVP 核心功能清单, required: true, kind: entity }
|
|
8
|
+
- { id: MVP2, text: 后续版本功能, required: true, kind: narrative }
|
|
9
|
+
- { id: MVP3, text: 预估复杂度与开发阶段, required: true, kind: narrative }
|
|
10
|
+
entities:
|
|
11
|
+
decisions:
|
|
12
|
+
required: [id, text]
|
|
13
|
+
narratives:
|
|
14
|
+
mvp_notes: required
|
|
15
|
+
gates:
|
|
16
|
+
- MVP 核心功能 ≤5 条
|
|
17
|
+
- 必须区分「MVP 核心 / 后续版本」
|
|
18
|
+
- 禁止范围蔓延(把非核心塞进 MVP)
|
|
19
|
+
map_prompt: prompts/document/map/mvp-boundary.md
|
|
20
|
+
output_budget_tokens: 2500
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# 非目标(0→1 必选;依赖 MVP 边界)
|
|
2
|
+
id: non-goals
|
|
3
|
+
title: 非目标(本期不做)
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [mvp-boundary]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: NG1, text: 明确排除的功能/优化点, required: true, kind: narrative }
|
|
8
|
+
- { id: NG2, text: 每个非目标的排除理由, required: true, kind: narrative }
|
|
9
|
+
entities: {}
|
|
10
|
+
narratives:
|
|
11
|
+
non_goals: required
|
|
12
|
+
gates:
|
|
13
|
+
- 至少列 1 条非目标
|
|
14
|
+
- 每个非目标必须写明「不做理由」
|
|
15
|
+
- 禁止把「做不到」写成「不做」
|
|
16
|
+
map_prompt: prompts/document/map/non-goals.md
|
|
17
|
+
output_budget_tokens: 1500
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 运维运营方案(ops · 0→1 全栈场景)
|
|
2
|
+
# 高质量运维要点:监控(四金信号+前端RUM) + 日志 + 告警值班 + 备份恢复 + 安全基线 + 成本 + 上线清单(PRR/Launch) + DORA
|
|
3
|
+
id: ops
|
|
4
|
+
title: 运维运营方案
|
|
5
|
+
when: null
|
|
6
|
+
depends_on: [deploy]
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: OP1, text: 监控(四金信号:延迟/流量/错误/饱和度 + 前端 RUM + CWV), required: true, kind: narrative }
|
|
9
|
+
- { id: OP2, text: 日志收集与检索(结构化日志/stdout/保留策略), required: false, kind: narrative }
|
|
10
|
+
- { id: OP3, text: 告警与值班(on-call/升级路径/响应时限), required: false, kind: narrative }
|
|
11
|
+
- { id: OP4, text: 备份与恢复(数据备份策略/RTO/RPO/演练), required: false, kind: narrative }
|
|
12
|
+
- { id: OP5, text: 安全基线(密钥管理/CSP/HTTPS 强制/防火墙/审计), required: false, kind: narrative }
|
|
13
|
+
- { id: OP6, text: 成本控制(资源规模/预算告警/用量治理), required: false, kind: narrative }
|
|
14
|
+
- { id: OP7, text: 上线检查清单(PRR/Launch 逐项带证据), required: true, kind: narrative }
|
|
15
|
+
- { id: OP8, text: DORA 度量(部署频率/变更前置时间/MTTR/变更失败率)与持续改进, required: false, kind: narrative }
|
|
16
|
+
entities: {}
|
|
17
|
+
narratives:
|
|
18
|
+
ops: required
|
|
19
|
+
gates:
|
|
20
|
+
- 监控必须覆盖四金信号(SRE:延迟/流量/错误/饱和度),缺一报 warning
|
|
21
|
+
- 上线检查清单逐项给「证据」(PRR 精神),空证据 → error
|
|
22
|
+
- 备份/安全/成本按项目形态取舍(容器化/有无数据库/团队规模),取舍需写明理由
|
|
23
|
+
- DORA 度量必须给目标值并写明度量方式
|
|
24
|
+
map_prompt: prompts/document/map/ops.md
|
|
25
|
+
output_budget_tokens: 3500
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 性能方案(performance · 0→1 全栈/全栈功能场景)
|
|
2
|
+
# 高质量性能要点:打包/加载/渲染/缓存 + CWV KPI 给目标值 + 优化带数字前后对比(数字门禁)
|
|
3
|
+
id: performance
|
|
4
|
+
title: 性能方案
|
|
5
|
+
when: input.uiInScope || input.hasBackend
|
|
6
|
+
depends_on: [frontend-architecture]
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: PF1, text: 打包与体积(bundle 分析,JS gzip 目标,代码分割/懒加载), required: true, kind: narrative }
|
|
9
|
+
- { id: PF2, text: 加载性能(LCP/FID/CLS/TTI 目标值,按 README §1.3 KPI 表), required: true, kind: narrative }
|
|
10
|
+
- { id: PF3, text: 渲染性能(列表渲染/重渲染优化/缓存策略,禁只写「用 memo」), required: true, kind: narrative }
|
|
11
|
+
- { id: PF4, text: 资源与接口缓存策略(HTTP 缓存/CDN/请求合并/防重复请求), required: false, kind: narrative }
|
|
12
|
+
- { id: PF5, text: 性能优化前后对比(数字:体积/耗时/评分),给出测量工具与方法, required: true, kind: narrative }
|
|
13
|
+
entities: {}
|
|
14
|
+
narratives:
|
|
15
|
+
performance_notes: required
|
|
16
|
+
gates:
|
|
17
|
+
- 性能优化必须给数字(前后对比),禁止只写「React.memo + useMemo」(反AI决策 #2)
|
|
18
|
+
- CWV 指标必须给目标值(LCP/FID/CLS/TTI,禁「越快越好」)
|
|
19
|
+
- 测量工具与口径必须明确(Lighthouse/Web Vitals/bundle-analyzer)
|
|
20
|
+
map_prompt: prompts/document/map/performance.md
|
|
21
|
+
output_budget_tokens: 3500
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# PoC Demo(poc-demo · fullstack-poc 预研/选型场景)
|
|
2
|
+
# 高质量 PoC 要点:边界 + 最小验证 + 判据可证伪 + 已知限制 + 生产化差距(文档只写设计/结论,代码另行落库)
|
|
3
|
+
id: poc-demo
|
|
4
|
+
title: PoC Demo
|
|
5
|
+
when: null
|
|
6
|
+
depends_on: [research]
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: PD1, text: PoC 边界与目标(验证什么/不验证什么), required: true, kind: narrative }
|
|
9
|
+
- { id: PD2, text: 最小可行验证范围(MVP 级别,只验证最不确定的风险点), required: true, kind: narrative }
|
|
10
|
+
- { id: PD3, text: 核心功能验证(关键路径/技术难点如何验证), required: true, kind: narrative }
|
|
11
|
+
- { id: PD4, text: 验证判据(如何判定 PoC 成功/失败,可证伪), required: true, kind: narrative }
|
|
12
|
+
- { id: PD5, text: 已知限制与未验证项(≥1 条), required: true, kind: narrative }
|
|
13
|
+
- { id: PD6, text: 落地路径(PoC → 生产化的差距与成本), required: false, kind: narrative }
|
|
14
|
+
entities: {}
|
|
15
|
+
narratives:
|
|
16
|
+
poc_notes: required
|
|
17
|
+
gates:
|
|
18
|
+
- PoC 边界必须明确(验证什么/不验证什么)
|
|
19
|
+
- 已知限制与未验证项 ≥1 条
|
|
20
|
+
- 禁止把 PoC 当生产方案(生产化差距必须写)
|
|
21
|
+
map_prompt: prompts/document/map/poc-demo.md
|
|
22
|
+
output_budget_tokens: 5000
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 回归验证(bugfix 候选;依赖修复)
|
|
2
|
+
id: regression
|
|
3
|
+
title: 回归验证
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [fix]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: RG1, text: 回归测试范围, required: true, kind: narrative }
|
|
8
|
+
- { id: RG2, text: 防复发策略, required: true, kind: narrative }
|
|
9
|
+
entities: {}
|
|
10
|
+
narratives:
|
|
11
|
+
regression_notes: required
|
|
12
|
+
gates:
|
|
13
|
+
- 回归范围必须覆盖受影响面
|
|
14
|
+
- 必须有防复发策略(测试/监控)
|
|
15
|
+
map_prompt: prompts/document/map/regression.md
|
|
16
|
+
output_budget_tokens: 1500
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 复现路径(bugfix 必选)
|
|
2
|
+
id: reproduce
|
|
3
|
+
title: 复现路径
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: []
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: R1, text: 复现步骤与环境, required: true, kind: narrative }
|
|
8
|
+
- { id: R2, text: 预期 vs 实际行为, required: true, kind: narrative }
|
|
9
|
+
entities: {}
|
|
10
|
+
narratives:
|
|
11
|
+
reproduce_notes: required
|
|
12
|
+
gates:
|
|
13
|
+
- 复现步骤必须可执行(编号步骤)
|
|
14
|
+
- 必须写明预期 vs 实际
|
|
15
|
+
map_prompt: prompts/document/map/reproduce.md
|
|
16
|
+
output_budget_tokens: 1500
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# 需求(feature 必选)
|
|
2
|
+
id: requirement
|
|
3
|
+
title: 需求
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: []
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: REQ1, text: 功能需求描述, required: true, kind: narrative }
|
|
8
|
+
- { id: REQ2, text: 验收标准(Given-When-Then), required: true, kind: mixed }
|
|
9
|
+
entities:
|
|
10
|
+
decisions:
|
|
11
|
+
required: [id, text]
|
|
12
|
+
narratives:
|
|
13
|
+
requirement_notes: required
|
|
14
|
+
gates:
|
|
15
|
+
- 需求必须可验证(有明确验收标准)
|
|
16
|
+
- 禁止含糊需求(如「更好的体验」)
|
|
17
|
+
map_prompt: prompts/document/map/requirement.md
|
|
18
|
+
output_budget_tokens: 3000
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 技术调研报告(research · fullstack-poc 预研/选型场景)
|
|
2
|
+
# 高质量调研要点:候选 ≥2 + 对比维度 + 活跃度给数字 + 团队匹配 + 兼容约束 + 喂给后续验证
|
|
3
|
+
id: research
|
|
4
|
+
title: 技术调研报告
|
|
5
|
+
when: null
|
|
6
|
+
depends_on: []
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: RS1, text: 调研背景与目标(为什么调研/要回答的决策点), required: true, kind: narrative }
|
|
9
|
+
- { id: RS2, text: 候选方案清单(≥2 个)+ 对比维度表, required: true, kind: mixed }
|
|
10
|
+
- { id: RS3, text: 社区活跃度(GitHub Star/Issue 响应/Release 频率,给数字), required: true, kind: narrative }
|
|
11
|
+
- { id: RS4, text: 团队匹配度(技能/学习成本/维护意愿), required: true, kind: narrative }
|
|
12
|
+
- { id: RS5, text: 兼容性与约束(浏览器/Node/现有栈/许可证), required: false, kind: narrative }
|
|
13
|
+
- { id: RS6, text: 调研结论与待验证问题(喂给 PoC/Benchmark), required: true, kind: narrative }
|
|
14
|
+
entities: {}
|
|
15
|
+
narratives:
|
|
16
|
+
research_notes: required
|
|
17
|
+
gates:
|
|
18
|
+
- 候选方案 ≥2 个,禁止只调研一个
|
|
19
|
+
- 社区活跃度必须给数字(Star/Issue/Release)
|
|
20
|
+
- 对比维度表必须同列可比(禁不同维度硬比)
|
|
21
|
+
map_prompt: prompts/document/map/research.md
|
|
22
|
+
output_budget_tokens: 5000
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# 根因分析(bugfix 必选;依赖复现)
|
|
2
|
+
id: root-cause
|
|
3
|
+
title: 根因分析
|
|
4
|
+
when: null
|
|
5
|
+
depends_on: [reproduce]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: C1, text: 直接原因, required: true, kind: narrative }
|
|
8
|
+
- { id: C2, text: 触发条件, required: true, kind: narrative }
|
|
9
|
+
- { id: C3, text: 影响链路, required: true, kind: narrative }
|
|
10
|
+
entities: {}
|
|
11
|
+
narratives:
|
|
12
|
+
root_cause: required
|
|
13
|
+
gates:
|
|
14
|
+
- 禁止「可能是…」含糊根因
|
|
15
|
+
- 必须区分直接原因 vs 触发条件
|
|
16
|
+
- 根因必须可验证(与复现步骤对应)
|
|
17
|
+
map_prompt: prompts/document/map/root-cause.md
|
|
18
|
+
output_budget_tokens: 2000
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# 审批意见(可选;仅人工签字栏,用户 --signoff 时启用)
|
|
2
|
+
id: signoff
|
|
3
|
+
title: 审批意见
|
|
4
|
+
when: input.includeSignoff
|
|
5
|
+
depends_on: []
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: SG1, text: 人工审批签字栏(角色/姓名/结论/日期/意见), required: true, kind: narrative }
|
|
8
|
+
entities: {}
|
|
9
|
+
narratives:
|
|
10
|
+
signoff: required
|
|
11
|
+
gates:
|
|
12
|
+
- 禁止写入 AI 预审建议(仅人工签字栏)
|
|
13
|
+
- 每个角色有结论选项(批准/退回/拒绝)
|
|
14
|
+
map_prompt: prompts/document/map/signoff.md
|
|
15
|
+
output_budget_tokens: 1000
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 状态管理(state-management · 0→1 全栈/全栈功能场景)
|
|
2
|
+
# 高质量状态管理要点:全局 vs 局部划分 + Store 结构 + 数据流方向 + 状态归属逐条列出 + 持久化
|
|
3
|
+
id: state-management
|
|
4
|
+
title: 状态管理
|
|
5
|
+
when: input.uiInScope
|
|
6
|
+
depends_on: [component-design]
|
|
7
|
+
outline_points:
|
|
8
|
+
- { id: SM1, text: 状态归属划分(局部 state / 全局 store / URL 参数 / 服务端状态),逐条列出字段与来源, required: true, kind: narrative }
|
|
9
|
+
- { id: SM2, text: Store 结构与模块划分(按域拆分,禁止「全部放 store」), required: true, kind: narrative }
|
|
10
|
+
- { id: SM3, text: 数据流方向(单向数据流:action → store → view,异步请求的 loading/error 归属), required: true, kind: narrative }
|
|
11
|
+
- { id: SM4, text: 状态持久化与恢复(localStorage/URL/服务端,SSR/Hydration 一致性), required: false, kind: narrative }
|
|
12
|
+
- { id: SM5, text: 状态更新与消费规范(避免重复请求/缓存策略/竞态处理), required: false, kind: narrative }
|
|
13
|
+
entities: {}
|
|
14
|
+
narratives:
|
|
15
|
+
state_management: required
|
|
16
|
+
gates:
|
|
17
|
+
- 状态归属必须逐条列出(字段 + 存放位置 + 来源),禁止笼统「状态放 store」
|
|
18
|
+
- 必须给出「哪些状态不该进全局 store」(局部即可)的边界
|
|
19
|
+
- 数据流方向必须明确(禁双向/混乱更新路径)
|
|
20
|
+
- 涉及异步数据时,必须写清 loading/error 状态归属
|
|
21
|
+
map_prompt: prompts/document/map/state-management.md
|
|
22
|
+
output_budget_tokens: 3500
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 技术选型(0→1 必选;五元组门禁;F5 预研复用 + 评估矩阵模式)
|
|
2
|
+
id: tech-selection
|
|
3
|
+
title: 技术选型
|
|
4
|
+
when: input.hasBackend || input.containsApiChange
|
|
5
|
+
depends_on: []
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: TS1, text: 前端五元组(Framework/Styling/State/UI kit/FE testing), required: true, kind: entity }
|
|
8
|
+
- { id: TS2, text: 后端/数据库/基础设施选型与理由, required: true, kind: mixed }
|
|
9
|
+
- { id: TS3, text: 选型理由(为何不用备选), required: true, kind: narrative }
|
|
10
|
+
- { id: TS4, text: 综合评估矩阵(候选方案 × 评估维度 × 得分 × 权重;F5 预研/选型用), required: false, kind: mixed }
|
|
11
|
+
entities:
|
|
12
|
+
decisions:
|
|
13
|
+
required: [id, text]
|
|
14
|
+
narratives:
|
|
15
|
+
selection_reason: required
|
|
16
|
+
gates:
|
|
17
|
+
- 前端必须给出五元组,禁止只写「用 React」
|
|
18
|
+
- 每项选型必须附理由
|
|
19
|
+
- 禁止臆造全栈(绿场需用户确认选型)
|
|
20
|
+
- 有候选方案对比时必须给评估矩阵(得分 × 权重),禁拍脑袋推荐
|
|
21
|
+
- 推荐结论必须有「本项目不适用什么」一句话立场(反AI决策 #1)
|
|
22
|
+
map_prompt: prompts/document/map/tech-selection.md
|
|
23
|
+
output_budget_tokens: 4000
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 测试策略(候选;依赖接口 + 数据;扩展:前端金字塔/组件测试)
|
|
2
|
+
id: test-strategy
|
|
3
|
+
title: 测试策略
|
|
4
|
+
when: input.hasLogic
|
|
5
|
+
depends_on: [api-design, data-model]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: T1, text: 分层测试矩阵, required: true, kind: entity }
|
|
8
|
+
- { id: T2, text: 测试环境与数据, required: true, kind: narrative }
|
|
9
|
+
- { id: T3, text: 与验收标准的映射, required: true, kind: narrative }
|
|
10
|
+
- { id: T4, text: 前端测试金字塔(单元 60% / 组件 30% / E2E 10%,含组件测试 Snapshot+交互), required: false, kind: narrative }
|
|
11
|
+
- { id: T5, text: 回归测试范围(对应影响面,覆盖受影响功能), required: false, kind: narrative }
|
|
12
|
+
entities:
|
|
13
|
+
decisions:
|
|
14
|
+
required: [id, text]
|
|
15
|
+
narratives:
|
|
16
|
+
test_notes: required
|
|
17
|
+
gates:
|
|
18
|
+
- 每个测试层级必须映射到具体验收标准/场景
|
|
19
|
+
- 每个层级有工具/框架 + 可验证目标
|
|
20
|
+
- 不涉及测试变更时显式标注
|
|
21
|
+
- 涉及前端时,测试金字塔比例与组件测试方式必须写明(禁「跑单测」空话)
|
|
22
|
+
map_prompt: prompts/document/map/test-strategy.md
|
|
23
|
+
output_budget_tokens: 3500
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# UI 设计(feature 候选;依赖接口;扩展:交互状态机/路由守卫/埋点/浏览器兼容)
|
|
2
|
+
id: ui-design
|
|
3
|
+
title: 前端/UI 设计
|
|
4
|
+
when: input.uiInScope
|
|
5
|
+
depends_on: [api-design]
|
|
6
|
+
outline_points:
|
|
7
|
+
- { id: UI1, text: 页面/路由清单 + 栈五元组(G5), required: true, kind: mixed }
|
|
8
|
+
- { id: UI2, text: 关键页空态/加载/错误三项(G6), required: true, kind: narrative }
|
|
9
|
+
- { id: UI3, text: 状态与数据获取方案, required: true, kind: narrative }
|
|
10
|
+
- { id: UI4, text: 至少 1 条「本迭代不选/不适用」, required: true, kind: narrative }
|
|
11
|
+
- { id: UI5, text: 交互状态机(多步表单/向导/可逆流程,stateDiagram-v2;简单页写「不涉及」), required: false, kind: narrative }
|
|
12
|
+
- { id: UI6, text: 路由守卫/懒加载(权限/登录态/动态 import), required: false, kind: narrative }
|
|
13
|
+
- { id: UI7, text: 埋点(页面曝光/点击事件 + 参数), required: false, kind: narrative }
|
|
14
|
+
- { id: UI8, text: 浏览器兼容策略(版本 + 降级手段,README §1.4), required: false, kind: narrative }
|
|
15
|
+
entities:
|
|
16
|
+
decisions:
|
|
17
|
+
required: [id, text]
|
|
18
|
+
narratives:
|
|
19
|
+
ui_notes: required
|
|
20
|
+
gates:
|
|
21
|
+
- uiInScope 时必须给页面清单 + 五元组(G5)
|
|
22
|
+
- 关键页必须写空态/加载/错误三项(G6)
|
|
23
|
+
- 禁止臆造页面树
|
|
24
|
+
- 性能/XSS/埋点仅 design 点名时才写
|
|
25
|
+
- 有路由权限要求时,路由守卫方案必须写明(禁只说「加守卫」)
|
|
26
|
+
- 兼容结论必须具体到版本与降级手段(禁「支持最新浏览器」式空话,README §1.4)
|
|
27
|
+
map_prompt: prompts/document/map/ui-design.md
|
|
28
|
+
output_budget_tokens: 6000
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 0→1 全栈项目方案(F1 定案 · 升级现有 0to1:4 章 → 15 必选 + 4 可选)
|
|
2
|
+
# 全栈版:前后端架构拆两章(architecture 后端 + frontend-architecture 前端);部署运维拆两章(deploy + ops)
|
|
3
|
+
id: 0to1
|
|
4
|
+
name: 0→1 全栈项目方案
|
|
5
|
+
required: # 15 章 · 声明序=叙事弧(渲染由 depends_on 拓扑保证)
|
|
6
|
+
- goal # A 目标与边界 dep: []
|
|
7
|
+
- mvp-boundary # dep: [goal]
|
|
8
|
+
- non-goals # dep: [mvp-boundary]
|
|
9
|
+
- tech-selection # B 技术选型 dep: []
|
|
10
|
+
- architecture # C 总体架构-后端 dep: [tech-selection]
|
|
11
|
+
- frontend-architecture # C 总体架构-前端 dep: [tech-selection]
|
|
12
|
+
- api-design # D 接口与数据 dep: [architecture, frontend-architecture]
|
|
13
|
+
- core-flow # E 主业务流程 dep: [architecture, api-design]
|
|
14
|
+
- component-design # F 前端设计 dep: [frontend-architecture]
|
|
15
|
+
- state-management # dep: [component-design]
|
|
16
|
+
- ui-design # dep: [api-design, component-design]
|
|
17
|
+
- performance # G 质量 dep: [frontend-architecture]
|
|
18
|
+
- test-strategy # dep: [api-design, data-model, component-design]
|
|
19
|
+
- deploy # H 部署交付 dep: [test-strategy]
|
|
20
|
+
- ops # H 运维运营 dep: [deploy]
|
|
21
|
+
optional_candidates:
|
|
22
|
+
- research # B 调研(可选;语义上属选型前置,引擎渲染在必选之后)
|
|
23
|
+
- data-model # D 数据模型(when hasPersistence;被 test-strategy 依赖→拓扑置于其前)
|
|
24
|
+
- core-logic # F/G 核心逻辑(可选)
|
|
25
|
+
- signoff # Z 签字栏(when includeSignoff;渲染在末尾为预期)
|
|
26
|
+
forbidden:
|
|
27
|
+
- reproduce # 非 Bug 场景
|
|
28
|
+
- root-cause
|
|
29
|
+
- fix
|
|
30
|
+
- impact
|
|
31
|
+
- regression
|
|
32
|
+
- requirement # 需求分析属 F2
|
|
33
|
+
- compat-migration # 非升级/预研
|
|
34
|
+
- migration-guide
|
|
35
|
+
- poc-demo
|
|
36
|
+
- benchmark
|
|
37
|
+
- closed-loop # 审批专用
|
|
38
|
+
- implementability
|
|
39
|
+
- config-runtime # 已定案砍掉(§2.0-5)
|
|
40
|
+
- acceptance
|
|
41
|
+
shared: []
|
|
42
|
+
appendices:
|
|
43
|
+
- anti-ai # 附录 B · 去AI味自检(五维自检表,≥3 条)
|
|
44
|
+
- handoff # 附录 C · 下游交付衔接(交付矩阵 + 三步)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# 审批文档场景(四件套 → 审批文档,对齐 approval 能力)
|
|
2
|
+
id: approve
|
|
3
|
+
name: 审批文档(四件套)
|
|
4
|
+
required:
|
|
5
|
+
- goal # 绪论与边界
|
|
6
|
+
- tech-selection # 技术方案评估(选型/决策/风险/质量)
|
|
7
|
+
- architecture # 架构整体设计
|
|
8
|
+
- api-design # 接口设计(含对外/跨端)
|
|
9
|
+
- data-model # 数据结构/模型变更
|
|
10
|
+
- test-strategy # 测试策略
|
|
11
|
+
- closed-loop # 闭环性检查(7 Pass)
|
|
12
|
+
- implementability # 可实施性评估(7 维)
|
|
13
|
+
optional_candidates:
|
|
14
|
+
- ui-design # 前端/UI(条件: uiInScope)
|
|
15
|
+
- core-logic # 核心算法/逻辑
|
|
16
|
+
- config-runtime # 配置与运行环境
|
|
17
|
+
- compat-migration # 兼容性与迁移
|
|
18
|
+
- acceptance # 验收标准
|
|
19
|
+
- deploy # 部署/发布/回滚
|
|
20
|
+
- signoff # 审批意见(签字栏)
|
|
21
|
+
forbidden: [reproduce, root-cause, impact, fix, regression]
|
|
22
|
+
shared: []
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# 修 bug 方案(决策 3 · 合并原 bugfix + fullstack-bugfix)
|
|
2
|
+
# 是否含前端/兼容维度由输入特征自动收敛:ui-design when uiInScope、compat-migration when containsApiChange
|
|
3
|
+
id: bugfix
|
|
4
|
+
name: 修 bug 方案
|
|
5
|
+
required: [reproduce, root-cause, fix]
|
|
6
|
+
optional_candidates:
|
|
7
|
+
- impact
|
|
8
|
+
- ui-design # when input.uiInScope(章节自带):UI 维度 Bug 才分析
|
|
9
|
+
- regression
|
|
10
|
+
- compat-migration # when input.containsApiChange(章节自带):涉及契约变更才做兼容
|
|
11
|
+
- signoff
|
|
12
|
+
shared: # 仅闭合允许、不渲染:ui-design/compat-migration 的依赖闭合用
|
|
13
|
+
- api-design
|
|
14
|
+
- data-model
|
|
15
|
+
forbidden: [tech-selection, mvp-boundary, non-goals, goal, requirement, architecture, frontend-architecture, component-design, state-management, performance, deploy, ops, core-logic, acceptance, research, poc-demo, benchmark, migration-guide]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# 功能开发方案(决策 3 · 合并原 feature + fullstack-feature)
|
|
2
|
+
# 章节量由输入特征自动伸缩:纯逻辑功能 ~3 章;含后端/接口/UI 时自动扩到全栈维度(10 章)
|
|
3
|
+
id: feature
|
|
4
|
+
name: 功能开发方案
|
|
5
|
+
required: [requirement, test-strategy]
|
|
6
|
+
optional_candidates:
|
|
7
|
+
- impact # 影响面(依赖 root-cause shared 闭合)
|
|
8
|
+
- tech-selection # when input.hasBackend || input.containsApiChange(章节自带)
|
|
9
|
+
- architecture # when input.hasLogic && input.hasBackend(章节自带)
|
|
10
|
+
- api-design # when input.containsApiChange(章节自带)
|
|
11
|
+
- core-flow # when input.hasBackend || input.uiInScope(章节自带)
|
|
12
|
+
- component-design # when input.uiInScope(章节自带)
|
|
13
|
+
- state-management # when input.uiInScope(章节自带)
|
|
14
|
+
- ui-design # when input.uiInScope(章节自带)
|
|
15
|
+
- data-model # when input.hasPersistence(章节自带)
|
|
16
|
+
- core-logic # 核心逻辑(when input.hasLogic,章节自带)
|
|
17
|
+
- performance # when input.uiInScope || input.hasBackend(章节自带)
|
|
18
|
+
- compat-migration # when input.containsApiChange(章节自带)
|
|
19
|
+
- signoff # when input.includeSignoff(章节自带)
|
|
20
|
+
shared: # 仅闭合允许、不渲染:impact 依赖 root-cause;前端链依赖 frontend-architecture
|
|
21
|
+
- root-cause
|
|
22
|
+
- frontend-architecture
|
|
23
|
+
forbidden: [reproduce, root-cause, fix, regression, goal, mvp-boundary, non-goals, research, poc-demo, benchmark, migration-guide, deploy, ops, closed-loop, implementability, config-runtime, acceptance]
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# 0→1 纯前端项目方案(F1 §2.4 裁剪变体)
|
|
2
|
+
# 无后端范围:去掉 architecture(后端总体架构)与 data-model;api-design(合并章)保留——
|
|
3
|
+
# 前端同样需要「接口契约 + 对接规范」,但以 Mock/契约先行方式呈现
|
|
4
|
+
id: frontend-0to1
|
|
5
|
+
name: 0→1 纯前端项目方案
|
|
6
|
+
required: # 14 章(全栈 15 章去掉 architecture;data-model 本为可选)
|
|
7
|
+
- goal # A 目标与边界
|
|
8
|
+
- mvp-boundary # dep: [goal]
|
|
9
|
+
- non-goals # dep: [mvp-boundary]
|
|
10
|
+
- tech-selection # B 技术选型
|
|
11
|
+
- frontend-architecture # C 前端架构
|
|
12
|
+
- api-design # D 接口契约 + 前端对接(Mock/契约先行)
|
|
13
|
+
- core-flow # E 主业务流程(前端视角时序)
|
|
14
|
+
- component-design # F 前端设计 dep: [frontend-architecture]
|
|
15
|
+
- state-management # dep: [component-design]
|
|
16
|
+
- ui-design # dep: [api-design]
|
|
17
|
+
- performance # G 质量 dep: [frontend-architecture]
|
|
18
|
+
- test-strategy # dep: [api-design, data-model]
|
|
19
|
+
- deploy # H 部署交付 dep: [test-strategy]
|
|
20
|
+
- ops # H 运维运营 dep: [deploy]
|
|
21
|
+
optional_candidates:
|
|
22
|
+
- research # B 调研(可选)
|
|
23
|
+
- signoff # Z 签字栏(when includeSignoff)
|
|
24
|
+
forbidden:
|
|
25
|
+
- architecture # 纯前端不画后端架构
|
|
26
|
+
- data-model # 纯前端不设计数据模型
|
|
27
|
+
- core-logic # 纯前端无复杂后端逻辑
|
|
28
|
+
- reproduce # 非 Bug 场景
|
|
29
|
+
- root-cause
|
|
30
|
+
- fix
|
|
31
|
+
- impact
|
|
32
|
+
- regression
|
|
33
|
+
- requirement # 需求分析属 F2
|
|
34
|
+
- compat-migration # 非升级/预研
|
|
35
|
+
- migration-guide
|
|
36
|
+
- poc-demo
|
|
37
|
+
- benchmark
|
|
38
|
+
- closed-loop # 审批专用
|
|
39
|
+
- implementability
|
|
40
|
+
- config-runtime # 已定案砍掉
|
|
41
|
+
- acceptance
|
|
42
|
+
shared:
|
|
43
|
+
- architecture # 仅闭合允许、不渲染(api-design 依赖,纯前端不画后端架构)
|
|
44
|
+
- data-model # 仅闭合允许、不渲染(test-strategy 依赖)
|
|
45
|
+
appendices:
|
|
46
|
+
- anti-ai
|
|
47
|
+
- handoff
|