.specify/templates/plan-template.md
分支: [###-feature-name] | 日期: [DATE] | 规范: [link]
输入: 来自 /specs/[###-feature-name]/spec.md 的功能规范
注意: 此模板由 /speckit.plan 命令填充. 执行工作流程请参见 .specify/templates/commands/plan.md.
[从功能规范中提取: 主要需求 + 研究得出的技术方法]
语言/版本: [例如: 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] 项目类型: [单一/网页/移动 - 决定源代码结构] 性能目标: [领域特定, 例如: 1000 请求/秒、10k 行/秒、60 fps 或 NEEDS CLARIFICATION] 约束条件: [领域特定, 例如: <200ms p95、<100MB 内存、离线可用 或 NEEDS CLARIFICATION] 规模/范围: [领域特定, 例如: 10k 用户、1M 行代码、50 个屏幕 或 NEEDS CLARIFICATION]
*门控: 必须在阶段 0 研究前通过. 阶段 1 设计后重新检查. *
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 应用程序(检测到"前端" + "后端"时)
backend/
├── src/
│ ├── models/
│ ├── services/
│ └── api/
└── tests/
frontend/
├── src/
│ ├── components/
│ ├── pages/
│ └── services/
└── tests/
# [如未使用请删除] 选项 3: 移动端 + API(检测到 "iOS/Android" 时)
api/
└── [同上后端结构]
ios/ 或 android/
└── [平台特定结构: 功能模块、UI 流程、平台测试]
结构决策: [记录所选结构并引用上面捕获的真实目录]
仅在章程检查有必须证明的违规时填写
| 违规 | 为什么需要 | 拒绝更简单替代方案的原因 |
|---|---|---|
| [例如: 第 4 个项目] | [当前需求] | [为什么 3 个项目不够] |
| [例如: 仓储模式] | [特定问题] | [为什么直接数据库访问不够] |