plan-template.md 3.41 KB

实现计划:[FEATURE]

分支[###-feature-name] | 日期:[DATE] | 规格说明:[link] 输入:来自 /specs/[###-feature-name]/spec.md 的功能规格说明

说明:本模板由 /speckit.plan 命令填充。执行流程可参考 .specify/templates/commands/plan.md

摘要

[从功能规格中提取:核心需求 +(结合 research 的)技术方案摘要]

技术上下文

语言/版本: [例如 Python 3.11、Swift 5.9、Rust 1.75 或 NEEDS CLARIFICATION] 主要依赖: [例如 FastAPI、UIKit、LLVM 或 NEEDS CLARIFICATION] 存储: [如适用,例如 PostgreSQL、CoreData、文件 或 N/A] 测试: [例如 pytest、XCTest、cargo test 或 NEEDS CLARIFICATION] 目标平台: [例如 Linux 服务器、iOS 15+、WASM 或 NEEDS CLARIFICATION] 工程类型: [single/web/mobile - 决定源码结构] 性能目标: [领域相关,例如 1000 req/s、10k lines/sec、60 fps 或 NEEDS CLARIFICATION] 约束: [领域相关,例如 <200ms p95、<100MB 内存、支持离线 或 NEEDS CLARIFICATION] 规模/范围: [领域相关,例如 10k 用户、1M LOC、50 个页面 或 NEEDS CLARIFICATION]

宪法检查

门禁:必须在阶段 0 调研前通过;在阶段 1 设计后需要复检。

[根据 constitution 文件确定门禁项]

项目结构

文档(本功能)

specs/[###-feature]/
├── plan.md              # 本文件(/speckit.plan 输出)
├── research.md          # 阶段 0 输出(/speckit.plan)
├── data-model.md        # 阶段 1 输出(/speckit.plan)
├── quickstart.md        # 阶段 1 输出(/speckit.plan)
├── contracts/           # 阶段 1 输出(/speckit.plan)
└── tasks.md             # 阶段 2 输出(/speckit.tasks - 不由 /speckit.plan 创建)

源码(仓库根目录)

# [不使用则删除] 选项 1:单体工程(默认)
src/
├── models/
├── services/
├── cli/
└── lib/

tests/
├── contract/
├── integration/
└── unit/

# [不使用则删除] 选项 2:Web 应用(检测到 "frontend" + "backend" 时)
backend/
├── src/
│   ├── models/
│   ├── services/
│   └── api/
└── tests/

frontend/
├── src/
│   ├── components/
│   ├── pages/
│   └── services/
└── tests/

# [不使用则删除] 选项 3:移动端 + API(检测到 "iOS/Android" 时)
api/
└── [同 backend 的结构]

ios/ 或 android/
└── [平台相关结构:功能模块、UI 流程、平台测试]

结构选择: [说明最终选择的结构,并引用上面列出的真实目录]

复杂度记录

仅在“宪法检查”存在需要解释的违规项时填写

违规项 必要性 为什么不能用更简单方案
[例如:第 4 个子工程] [当前需求] [为何 3 个工程不够]
[例如:Repository 模式] [具体问题] [为何不能直接访问数据库]