本手册是团队的“文档型项目经理”。当一个需求从想法进入团队协作后, 必须用文档记录它的编号、讨论、需求、设计、决策、开发进度、测试结果和最终状态。
本手册的目标不是增加形式负担,而是在缺少专职产品、项目经理、设计和测试角色时, 用可版本化、可追溯、可被 Agent 阅读的文档补齐流程。
以下场景必须先阅读本手册,再决定下一步产出:
feature_iddoc_id新需求、项目、专题统一放入:
docs/initiatives/<feature_id>/
feature_id 格式:
FEAT-YYYYMM-NNN-short-name
示例:
docs/initiatives/FEAT-202606-001-unified-entry-client/
专题目录推荐结构:
专题索引.md # 专题索引和当前状态
需求录入.md # 需求录入和初步判断
需求文档.md # 需求文档
概要设计.md # 概要设计
详细设计.md # 详细设计
接口说明.md # 接口说明或 OpenAPI 链接
开发进度.md # 开发进度和阶段记录
测试计划.md # 测试计划和验收方案
测试结果.md # 测试结果和遗留问题
meeting-notes/ # 会议纪要,可放中文文件名
assets/ # 专题私有图片和附件
不是每个需求都必须拥有所有文档。缺省规则是:可以裁剪,但必须说明裁剪原因。
需求专题目录使用 feature_id,便于机器检索和排序;专题内正式文档文件名使用中文,
便于团队成员直接阅读。不要用 prd.md、outline-design.md、test-result.md
这类英文缩写文件名表达文档类型。
推荐文件名:
| 生命周期阶段 | 推荐文件名 |
|---|---|
| 专题索引 | 专题索引.md |
| 需求录入 | 需求录入.md |
| 需求文档 | 需求文档.md |
| 概要设计 | 概要设计.md |
| 详细设计 | 详细设计.md |
| 接口说明 | 接口说明.md,或更具体的中文名称 |
| 开发进度 | 开发进度.md,或放入 dev-progress/ 下的中文文件 |
| 测试计划 | 测试计划.md |
| 测试结果 | 测试结果.md |
| 会议纪要 | meeting-notes/<会议主题>.md |
doc_id、type、status、创建时间和关联关系必须写入 Front Matter,
不要塞进文件名。
feature_id 是需求主线编号:
FEAT-YYYYMM-NNN-short-name
doc_id 是单篇文档编号:
<TYPE>-YYYYMM-NNN
常用类型:
| type | 编号前缀 | 文档 |
|---|---|---|
intake |
INT |
需求录入 |
prd |
PRD |
需求文档 |
outline-design |
ODS |
概要设计 |
detailed-design |
DDS |
详细设计 |
design |
DES |
通用技术设计 |
api |
API |
接口说明 |
adr |
ADR |
架构决策记录 |
dev-progress |
DEV |
开发进度 |
test-plan |
TST |
测试计划 |
test-result |
TRS |
测试结果 |
meeting |
MTG |
会议纪要 |
standard |
STD |
工程规约 |
runbook |
RUN |
运维手册 |
research |
RSH |
调研材料 |
prompt |
PMT |
AI Prompt 或智能体配置 |
正式文档必须包含 Front Matter:
---
doc_id: PRD-202606-001
feature_id: FEAT-202606-001-unified-entry-client
type: prd
title: 统一入口客户端需求说明
status: draft
owner: 张三
created_at: 2026-06-16
updated_at: 2026-06-16
reviewers: []
related_docs:
- INT-202606-001
related_modules:
- emoon-openplatform
- emoon-admin
tags:
- 统一入口
- 终端客户端
---
状态取值:
| status | 含义 |
|---|---|
draft |
草稿 |
reviewing |
评审中 |
approved |
已确认 |
implemented |
已实现或已落地 |
deprecated |
已废弃 |
superseded |
已被其他文档替代 |
更完整的分类和元数据规则见:
目标:把“想做什么”变成可追踪的需求主线。
必须产出:
feature_iddocs/initiatives/<feature_id>/专题索引.md需求录入.md需求录入.md 至少回答:
阶段门禁:
feature_id,不得创建后续正式文档需求录入.md,不得直接进入详细设计或编码Agent 下一步判断:
feature_id 和 需求录入.mddoc_id 和 feature_id目标:把需求边界说清楚,避免直接用代码表达模糊需求。
必须产出:
需求文档.md需求文档.md 至少回答:
阶段门禁:
接口说明.mdAgent 下一步判断:
需求文档.md 不存在,先引导补 PRD目标:说明“用什么整体方案解决”,先定边界,再定细节。
建议产出:
概要设计.md必须覆盖:
阶段门禁:
Agent 下一步判断:
专题索引.md 说明跳过概要设计的原因目标:把概要方案细化到开发可执行的程度。
建议产出:
详细设计.md必须覆盖:
阶段门禁:
接口说明.md 或 OpenAPIAgent 下一步判断:
目标:记录不可轻易逆转的技术选择。
触发 ADR 的条件:
产出位置:
docs/adr/ADR-YYYYMM-NNN-short-title.md
阶段门禁:
目标:让前后端、外部系统和 Agent 都能按同一契约协作。
建议产出:
接口说明.mddocs/api/openapi/<name>.openapi.yaml必须覆盖:
阶段门禁:
目标:记录实现过程中的范围变化、阶段结果和遗留问题。
建议产出:
开发进度.md必须记录:
阶段门禁:
目标:在验收前明确“怎样算通过”。
必须产出:
测试计划.md必须覆盖:
阶段门禁:
测试计划.md,不得宣称需求完成目标:记录真实验证结果,而不是只说“已测”。
必须产出:
测试结果.md必须记录:
阶段门禁:
implemented目标:让需求最终状态可追踪。
必须更新:
专题索引.md开发进度.md测试结果.md归档要求:
专题索引.md 写明最终状态implemented、deprecated 或 superseded.scratch/<feature>/ 或后续 feature_id当用户要求推进某个需求时,Agent 必须按以下顺序检查:
feature_iddocs/initiatives/<feature_id>/专题索引.mdstatus 是否允许进入下一阶段Agent 回复建议格式:
当前阶段:需求澄清
已有文档:专题索引.md、需求录入.md
缺口:需求文档.md 缺失,无法进入概要设计
下一步:产出 需求文档.md
建议动作:先补背景、目标、非目标、验收标准
警示:如果直接写设计或代码,需求边界不可追踪
允许跳过某些阶段,但必须满足:
专题索引.md 的“流程裁剪”部分写明原因示例:
## 流程裁剪
| 阶段 | 是否跳过 | 原因 | 风险 | 替代记录 |
|---|---|---|---|---|
| 概要设计 | 是 | 单模块文案修复 | 低 | PRD 验收标准 |
现有历史文档暂不强制移动。新文档必须按本规范创建;历史文档在发生实质修改、 被新需求引用、或进入归档整理时,逐步补充 Front Matter 并迁移到合适位置。