89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
# 新项目初始化检查点
|
||
|
||
本规则用于确保新项目一开始就按照五阶段工作流启动。
|
||
|
||
## 新项目识别条件
|
||
|
||
当满足以下任一条件时,判定为新项目:
|
||
|
||
- 用户明确说"做一个项目""新建项目""开始一个新项目"
|
||
- 项目根目录不存在 `pmdocs/` 目录
|
||
- 项目根目录存在但没有 `pmdocs/0-req-*.md`
|
||
|
||
## 强制启动流程
|
||
|
||
一旦识别为新项目,必须执行以下流程,**不得跳过**:
|
||
|
||
### 第一步:确认项目英文缩写
|
||
|
||
- 询问用户:项目英文缩写(例如:IPTV、AVCC、BLOG)
|
||
- 用于命名 `pmdocs/0-req-XXX.md`、`pmdocs/1-prd-XXX.md`、`pmdocs/2-task-XXX.md`
|
||
|
||
### 第二步:创建 pmdocs 目录结构
|
||
|
||
在项目根目录创建:
|
||
|
||
```
|
||
pmdocs/
|
||
├── changes/
|
||
└── adr/
|
||
```
|
||
|
||
### 第三步:进入阶段 1
|
||
|
||
按照 `ai-coding-workflow.md` 中的"阶段 1:接收需求与目标"开始工作:
|
||
|
||
- 完整读取和理解用户需求
|
||
- 识别关键缺口:目标用户、使用场景、优先级、性能、安全、数据规模、兼容性、第三方依赖
|
||
- 对模糊、矛盾或高风险信息先澄清
|
||
- 若需求过大,先拆出 MVP
|
||
|
||
### 第四步:禁止提前编码
|
||
|
||
在 `pmdocs/0-req-XXX.md`、`pmdocs/1-prd-XXX.md`、`pmdocs/2-task-XXX.md` 三个文档全部确认前,**严格禁止**:
|
||
|
||
- 创建源码文件
|
||
- 安装依赖
|
||
- 初始化框架
|
||
- 写任何业务代码
|
||
|
||
唯一允许的操作:
|
||
|
||
- 创建 `pmdocs/` 目录和阶段文档
|
||
- 创建 `.gitignore`
|
||
- 创建 `README.md`(只写项目名称和简介)
|
||
|
||
## 用户试图跳过时的应对
|
||
|
||
如果用户说"先写代码,文档后补"或类似要求,必须:
|
||
|
||
1. 明确告知:这违反了项目协作规则
|
||
2. 说明风险:需求不明、架构混乱、返工成本高
|
||
3. 提供选择:
|
||
- 选项 A:按规则走完五阶段(推荐)
|
||
- 选项 B:启用紧急降级策略(见 `quick-reference.md`),明确记录技术债和补齐时间点
|
||
|
||
## 检查点通过条件
|
||
|
||
只有满足以下条件,才算通过新项目初始化检查点:
|
||
|
||
- [ ] 项目英文缩写已确认
|
||
- [ ] `pmdocs/` 目录结构已创建
|
||
- [ ] `pmdocs/0-req-XXX.md` 已生成并确认
|
||
- [ ] `pmdocs/1-prd-XXX.md` 已生成并确认
|
||
- [ ] `pmdocs/2-task-XXX.md` 已生成并确认
|
||
- [ ] `run.md` 已创建或计划在任务中创建
|
||
|
||
通过检查点后,才可以进入"阶段 5:按任务文档执行开发"。
|
||
|
||
## 已有项目的处理
|
||
|
||
如果项目已存在代码但缺少 `pmdocs/` 文档:
|
||
|
||
1. 明确告知:这是一个缺少规范文档的已有项目
|
||
2. 提供选择:
|
||
- 选项 A:补充 `pmdocs/0-req`、`1-prd`、`2-task`(推荐,但工作量大)
|
||
- 选项 B:只创建 `run.md` 和当前阶段的 `2-task-XXX.md`,后续按需补充
|
||
- 选项 C:不补充文档,只用规则指导后续开发(不推荐,可追溯性差)
|
||
|
||
选择后必须记录在项目根目录的 `README.md` 或 `pmdocs/CHANGELOG.md` 中。 |