0. 顶层整体视角(信息分层逻辑)
| 分层 | 
目录/文件 | 
作用范畴 | 
核心关键词 | 
| 治理层 | 
memory/ | 
原则、约束、演进 | 
宪法、守护一致性 | 
| 生成规范层 | 
templates/ | 
规格/计划/任务模版 | 
约束 AI 输出形态 | 
| 执行自动化层 | 
scripts/ | 
过程自动化 | 
创建、检查、衔接 | 
| 业务特性层 | 
specs// | 
需求→计划→任务→实现细节 | 
可执行规范 | 
| 协作与代理层 | 
CLAUDE.md (或其他 AI 协作文件) | 
给 AI 的上下文记忆 | 
“长程思维” | 
| 根级元数据 | 
README / pyproject.toml / .gitignore / LICENSE 等 | 
基础工程结构 | 
规范化工程项目 | 
| 工件派生层 | 
contracts/、data-model.md、tasks.md | 
从规范派生的结构化工件 | 
可生成/可验证 | 
| 演进反馈层 | 
research.md / quickstart.md / implementation-details/ | 
细化、验证、复盘 | 
持续精炼 | 
 记住:一切的“源”是 spec.md(功能规格),其余文件均为衍生或支撑。
1. memory/ (项目“宪法与治理”)
1.1 memory/constitution.md
- What:项目的“开发宪法”——硬性基础原则集合(例如 Library-First、CLI 强制、Test-First、反过度抽象、集成优先测试等)。
 - Why:
- 统一 AI 与人类贡献者的系统级思维方式。
 - 防止在多迭代、多成员、多 AI 模型参与下偏离初衷。
 - 作为评审和拒绝“不符合项目精神”提交的依据。
 
 - How:
- 新特性规划前,让 AI / 人类都“读宪法”——可以在 prompt 中引用其核心条目。
 - 任何与宪法冲突的实现需显式记录 justification(理由),并在 PR 评审中讨论。
 - 更新宪法必须走变更流程(见 checklist)。
 
 
1.2 memory/constitution_update_checklist.md
- What:修改宪法时的审批清单(是否有破坏性影响、是否向后兼容、是否有记录等)。
 - Why:防止随意变更原则导致“方法学漂移”或架构碎片化。
 - How:
- 修改前复制 checklist,填写变更标题、动机、影响面、回滚策略。
 - 评审通过后更新 constitution.md 并在 Git 历史中留存审议记录(建议提交信息含 “Constitution Update”)。
 
 
2. templates/ (模板驱动高质量生成)
2.1 templates/spec-template.md
- What:生成规范 spec.md 的骨架,包含功能描述、用户场景、功能需求、关键实体、测试与验收清单、[NEEDS CLARIFICATION] 标记策略等。
 - Why:
- 约束 AI 不要掺入“实现细节”
 - 强制显式列出不确定项,防止无声假设。
 
 - How:
- 不建议在此加入具体技术栈字段。
 - 自定义时:仅新增你团队“必填业务维度”(如合规、风控、国际化)。
 
 
2.2 templates/plan-template.md
- What:技术实施计划结构(架构视图、组件分解、数据流、接口契约指针、阶段 Gate、自查清单等)。
 - Why:
- 把 “WHAT” 转为 “HOW” 但又保持高层抽象→防止过早写代码。
 - 让 AI 先验证“结构是否健壮”,而不是直接跳入代码生成。
 
 - How:
- 若团队有特定“性能预算”“安全策略”,可在模板中预置栏目。
 - Phase -1 Gates(简化、反抽象、集成优先)要保留,防止膨胀。
 
 
2.3 templates/tasks-template.md
- What:任务拆分与并行标记([P])、依赖标识、交付标准格式。
 - Why:
- 保证任务粒度可执行、可估时、可追踪。
 - 避免纯自然语言“空洞任务”。
 
 - How:
- 可新增 “Owner”/“Estimate” 字段配合 PM 工具同步。
 - 任务变更时应反查是否需同步 plan/spec。
 
 
2.4 可能出现的其他模板(视版本而定)
- CLAUDE-template.md、research-template.md 等,用于统一 AI 行为或研究记录格式。
 
3. scripts/ (流程自动化与一致性保障)
| 文件 | 
What | 
Why | 
How(常用触发/注意事项) | 
| common.sh | 
公共函数库 | 
复用日志、颜色、校验逻辑 | 
不要直接在其他脚本复制粘贴逻辑,保持 DRY | 
| create-new-feature.sh | 
新功能目录+分支创建脚本 | 
标准化命名、编号、目录结构 | 
通常被 /specify 间接触发;命令行也可手动执行 | 
| get-feature-paths.sh | 
获取当前或所有 feature 目录路径 | 
供其他脚本快速定位 | 
不建议硬编码路径,调用它 | 
| setup-plan.sh | 
在已有 spec 基础上生成 plan 与相关文档骨架 | 
确保 plan 生成一致 | 
若手动修改路径可能导致此脚本失效 | 
| check-task-prerequisites.sh | 
任务执行前环境检查 | 
防止缺依赖导致半途失败 | 
在 CI/CD 或本地任务执行前调用 | 
| update-claude-md.sh | 
同步/刷新 AI 协作文件 | 
保持 AI 的上下文最新 | 
变更 constitution 或全局策略后运行 | 
| (可能有 PowerShell 对应 .ps1) | 
Windows / 跨平台支持 | 
降低环境壁垒 | 
Windows 成员使用 ps 版本 | 
 扩展脚本时:保持“单一职责”,新增脚本需在 README 或内部开发手册中注册。
4. specs/-/ (特性级“单元宇宙”)
目录命名约定:  
NNN-kebab-name,数字递增(001、002……),slug 由初次描述自动生成。  - 建议:不要手动改编号;重命名 slug 要检查引用。
 
下面逐文件详解(按形成顺序和依赖关系组织):
4.1 spec.md (功能规格)
- What:唯一的“业务与功能意图”根文件:包含范围、场景、功能需求(FR)、非功能约束(NFR)、关键实体与关系、测试/验收条件、风险与未决项。
 - Why:所有后续 artefacts 必须可追溯映射到它(需求可追踪性矩阵思想)。
 - How:
- 填写或澄清 [NEEDS CLARIFICATION] 标记,最终需清零或解释保留原因。
 - 变更流程:每次修改应写进 commit message(如 “Spec: clarify FR-007 retention policy”)。
 - 可添加自定义区块:合规、数据治理、隐私策略。
 
 
4.2 plan.md (技术实施计划)
- What:抽象架构、模块划分、架构选型理由、数据流、组件边界、阶段 Gate、自查 checklist。
 - Why:防止 AI 或成员直接从 spec “跃迁”到代码,遗漏架构合理性评估。
 - How:
- 每个技术决策要指向其 FR / NFR 来源(如 “Decision D3 -> FR-004, NFR-02”)。
 - 如果与宪法冲突,必须写 “Justification” 块。
 - 若后期发现实现困难,先回溯 plan 调整再改代码。
 
 
4.3 data-model.md (数据模型)
- What:实体 → 字段(类型/约束)→ 关系(1:N / M:N / 聚合)→ 语义说明。
 - Why:统一 API / DB / 前端模型防止分歧;是合约与测试生成的一个核心源。
 - How:
- 优先用“概念模型”语言(领域话语)而非直接数据库表结构。
 - 变更字段需同步:contracts、测试、迁移脚本(如存在)。
 - 最好添加“来源需求(FR-xxx)”列以追溯。
 
 
4.4 contracts/
- What:接口协议(REST/OpenAPI/WebSocket 事件、CLI 命令列表、消息格式等)。
- 示例:
api-spec.json(OpenAPI)、signalr-spec.md、events.yml。 
 - Why:提供模块/客户端间“稳定契约”,支持自动生成 Stub/SDK/测试。
 - How:
- 不要在实现阶段随意改签名 → 若需修改,先改 spec 与 plan。
 - 建议为每个 endpoint/消息添加:来源 FR、成功/失败场景、错误码策略。
 
 
4.5 research.md
- What:围绕本功能的调研:框架对比、性能评估、风险分析、库版本锁定、参考资料链接。
 - Why:让“决策理由”与“事实证据”绑定,避免经验化决策变成口口相传。
 - How:
- 结构建议:Question → Findings → Sources → Decision → Linked FR。
 - 添加日期戳(如 “2025-09-19 Research Refresh”)以提示过期风险。
 
 
4.6 quickstart.md
- What:最低摩擦的“运行/验证该功能”指南(启动命令、环境变量、最小测试路径)。
 - Why:支持新成员快速加入;为 QA / 运维 / Demo 提供统一入口。
 - How:
- 只写“核心路径”,详尽部署放 README 或 ops 手册。
 - 可附:示例 CLI 调用 / cURL / seed 数据脚本指针。
 
 
4.7 tasks.md
- What:根据 plan+contracts+data-model 派生的任务拆解表。
 - Why:组织执行、度量进度、控制并行化风险。
 - How:
- 任务命名建议:
[Layer] Verb Object Qualifier(如 [Backend] Implement album reorder endpoint)。 - 加 
[P] 表示可并行;依赖用 “Blocked by #T5”。 - 完成后若产生新需求 → 回写 spec(形成闭环)。
 
 
4.8 implementation-details/ (可能由后续命令或人工创建)
- What:存放深入技术说明,如复杂算法、性能调优策略、数据迁移流程、特定序列图等。
 - Why:保持 plan.md / spec.md 高层“可阅读”,把噪音隔离。
 - How:
- 命名建议:
caching-strategy.md, migration-plan-v1.md, rate-limiter-design.md。 - 不要让这里“倒灌”成源码复制粘贴仓库;保持抽象层次。
 
 
4.9 可能派生的其他文件
| 文件 | 
场景 | 
| tests/(或 test specs) | 
初始阶段若引入测试文件夹并与任务关联 | 
| quickstart-assets/ | 
Demo 截图、脚本等 | 
| README (feature 局部) | 
特性级介绍(通常不鼓励,集中在主 README) | 
5. 根目录常见文件
| 文件 | 
What | 
Why | 
How | 
| README.md | 
项目整体介绍、快速开始、核心理念入口 | 
给新读者 5 分钟了解 | 
保持精炼,深度内容指向 spec-driven.md | 
| spec-driven.md | 
完整方法论阐述(哲学、工作流、命令说明、示例) | 
提供统一心智模型 | 
若流程演进,先改这里再改模板 | 
| pyproject.toml / uv.lock(视版本) | 
Python 构建、依赖声明 | 
可复现实验环境 | 
锁定关键依赖版本,避免 AI 生成代码不兼容 | 
| LICENSE | 
开源协议(MIT) | 
法律边界 | 
不修改或遵规范 | 
| .gitignore | 
Git 过滤规则 | 
保持仓库整洁 | 
如新增生成目录,记得补充 | 
| CLAUDE.md / AGENT.md | 
提供给特定 AI 的上下文记忆/使用方式 | 
减少重复 prompt、稳定 AI 输出风格 | 
宪法或流程更新后同步刷新 | 
| CONTRIBUTING.md | 
贡献流程、分支策略、提交流程 | 
降低外部贡献摩擦 | 
保持与脚本和模板一致 | 
| scripts/(见上) | 
—— | 
—— | 
—— | 
6. AI 协作类文件(如 CLAUDE.md)
- What:一个汇总性“AI 使用上下文”文件(当前约束、命令说明、历史决策摘要)。
 - Why:为长周期对话提供“持久记忆”——在多轮交互中维持一致性。
 - How:
- 结构建议:Context / Active Features / Recent Decisions / Open Clarifications。
 - 可以让脚本(如 update-claude-md.sh)在每次新 feature 生成后自动补充摘要。
 
 
7. 文件之间的“溯源链路”(Traceability Map)
spec.md  ├─ 派生 → plan.md  │      ├─ 细化 → data-model.md  │      ├─ 细化 → contracts/  │      ├─ 触发 → research.md (补充信息反向修正 plan / spec)  │      └─ 输出 → tasks.md  │             └─ 驱动 → 代码 / 测试实现  ├─ 校验 ← quickstart.md (验证路径来自 spec 用户旅程)  └─ 指导 ← constitution.md(约束变更与架构风格)
 任何一个下游文件的“重大变更”原则上必须向上溯源确认是否需要更新 spec / plan。
8. 协作与治理建议
| 场景 | 
行为 | 
反模式警告 | 
| 新功能启动 | 
先 /specify 生成规范,再人工审校 spec.md | 
直接跳过到 /plan | 
| 技术分歧 | 
在 plan.md 写出“多备选比较”并链接 research.md | 
在 PR 代码里才开始争论 | 
| 新人入组 | 
先读 README → spec-driven.md → constitution.md → 最新两个 feature spec | 
直接看代码目录 | 
| 需求变更 | 
标记 spec.md 变更块 + 更新 plan/data-model/contracts | 
只改代码不改文档 | 
| 任务管理 | 
从 tasks.md 同步到外部工具(如 Jira)并保持单一真实来源 | 
双重维护导致不一致 | 
| 异常情况 | 
在 quickstart.md 添加“故障排查最短路径” | 
FAQ 散落在聊天记录 | 
9. 自定义扩展建议(成熟团队可引入)
| 新目录/文件 | 
目的 | 
说明 | 
| compliance/ | 
合规与审计条目 | 
与金融、医疗等行业相关 | 
| docs/decisions/ADR-xxx.md | 
架构决策记录(ADR) | 
可与 plan.md 双向引用 | 
| ops/ | 
部署与运维脚本 | 
与开发规范隔离 | 
| qa/ | 
手动测试脚本、覆盖率策略 | 
与自动化测试形成互补 | 
| localization/ | 
多语言资源规划说明 | 
与实体/界面需求关联 | 
10. 常见误区与纠偏
| 误区 | 
危害 | 
纠正做法 | 
| 在 spec.md 写实现技术细节 | 
规格僵化、复用性下降 | 
技术放 plan / implementation-details | 
| tasks.md 直接手写不由工具生成 | 
缺失溯源、遗漏需求 | 
始终用 /tasks 初生,再人工微调 | 
| research.md 只贴链接无结论 | 
决策不可复核 | 
采用 “Question → Analysis → Decision → Linked FR” 模板 | 
| contracts 与代码脱节 | 
接口漂移、客户端破裂 | 
每次接口变更先改 contracts 再实现 | 
| 不维护 constitution | 
架构风格分裂 | 
定期(如月度)审查是否需修订 | 
| 不清理 [NEEDS CLARIFICATION] | 
需求歧义放大到实现 | 
在计划前必须清零或显式延期标注 | 
11. 示例:一个完整特性目录展开(带文件角色标注)
specs/└── 003-chat-system/    ├── spec.md                # 功能规格(源头)    ├── plan.md                # 技术规划(结构与路径)    ├── data-model.md          # 实体/关系模型    ├── contracts/    │   ├── api-spec.json      # REST/OpenAPI 合约    │   └── websocket-events.md# 实时消息事件协议    ├── research.md            # 库/协议对比与决策    ├── quickstart.md          # 启动与最小验证    ├── tasks.md               # 拆解任务(含并行标记)    ├── implementation-details/    │   ├── scaling-strategy.md    │   └── message-retention-design.md    └── attachments/           # (可选)图表/序列图/流程图
12. 快速判断“这个文件应不应该放这里”的三问法
- 它是否属于“意图/需求解释”?→ spec.md  
 - 是否是“需求到技术的翻译与结构化决策”?→ plan.md / research.md  
 - 是否是“对外协议或内部协作契约”?→ contracts/  
 - 是否是“数据语义中心”?→ data-model.md  
 - 是否是“执行级拆解”?→ tasks.md  
 - 是否是“具体实现策略/深度细节/调优”?→ implementation-details/  
 - 是否跨特性且长期约束?→ memory/constitution.md  
 - 是否是支撑型骨架?→ templates/  
 - 是否是把流程自动化?→ scripts/  
 
 说明该内容混杂,需拆分
13. 维护节奏建议(周期化运营)
| 周期 | 
关注点 | 
产出 | 
| 每开发迭代(Sprint) | 
新 feature 规格与计划 | 
新 specs// 目录 | 
| 每周 | 
清理未解决 [NEEDS CLARIFICATION] | 
状态报告/回溯列表 | 
| 每两周 | 
review constitution 适配性 | 
是否需要修订提案 | 
| 每月 | 
研究文档是否过期 | 
标记过期/刷新 research | 
| 每季度 | 
模板健康检查(是否需增强) | 
模板迭代 changelog | 
14. 你可以立刻落地的操作清单(Checklist)
| 操作 | 
价值 | 
| 为现有 specs 反向补上 FR 编号与 contracts 链接 | 
建立追踪矩阵 | 
| 在 tasks.md 增加 “Source FR” 列 | 
保障需求完整覆盖 | 
| 为 research.md 增加 “Last Validated Date” 字段 | 
提醒陈旧风险 | 
建立 scripts/validate-traceability.sh | 
自动校验 spec→plan→tasks 链路 | 
| 在 CI 中加入 “contracts drift check” | 
防止接口漂移 | 
| 引入 “spec review 模板” Pull Request 模板 | 
规范评审尺度 |