开发工作流(Dev Workflow)¶
本文件是 alfred-api 人机协作开发的权威流程规范,对应
CONTEXT.md§7 的「Vibe Coding」实践。 核心纪律:先规范、后代码——任何代码改动都必须先落到 PRD / Design / ADR,再写实现;文档未更新的 PR 不得合入。
开发模式:Sprint / 迭代(个人开发者)¶
本仓库采用 Sprint / 迭代 模式,而非 Waterfall(瀑布)。理由:
- 个人开发者无阶段间 handoff 需求,Waterfall 只会把反馈拖到最后、错了全盘重来。
- 需求必然漂移,迭代可在每个 milestone 重排优先级。
- 小里程碑持续闭合,比「憋大招」更可持续。
本工作流即 Sprint 模型的具体化:milestone = 时间盒增量(sprint),issue = backlog 项,每个 issue 走 TDD(红 → 绿 → 重构),milestone 内所有 issue 关闭后出 PR。
个人开发者适配:保留时间盒、优先级 backlog、done = 已测、定期重排等 agile 精髓;去除团队仪式(无需 daily standup 自我汇报、无需 sprint review 会议),仅保留轻量 self-retro / 重排闸门即可。
生命周期总览¶
flowchart TD
A[讨论需求] --> B[AI 更新 PRD / Design / ADR]
B --> C[AI 追问 design 与 test 设计]
C --> D[拆 milestones / issues 上传 GitHub 并归入 Project]
D --> E[人工确认 issues]
E --> F[AI 逐 issue 更新 + TDD]
F --> G{全部通过?}
G -- 否 --> F
G -- 是 --> H[自动 commit + close issue + 更新 Project]
H --> I{milestone 下 issues 全完成?}
I -- 否 --> F
I -- 是 --> J[生成 PR + AI PR review 总结]
J --> K[人工读总结 / 确认吻合 design / approve]
K --> L[merge 自动关闭 issues 与 milestone]
分阶段说明¶
1. 讨论需求 → 更新规范¶
- 在对话中澄清需求;AI 据此先更新 PRD / Design / ADR,不碰代码。
- 文档模板:
../prd/TEMPLATE.md、../adr/TEMPLATE.md。 - 若改动涉及既有决策,新建 ADR 并标注
superseded_by,不得改写旧 ADR。
2. AI 追问 design 与 test 设计¶
- 在落笔前,AI 必须追问并固化:(a) 设计要点(接口 / 数据模型 / 边界),(b) 测试设计(验收条件、TDD 红-绿-重构路径)。
- 两者不明确前,不进入实现。
3. 拆 milestones / issues 并上传¶
- AI 将规范拆为 milestone 与 issue,用
gh上传 GitHub 并归入对应 Project。 - AI 自主权(Related vs Closes):对每个 issue,AI 自主判定其在 PR 中的归属:
- 本 PR 的改动令该 issue 验收条件成立 → 归入
Closes #。 - 仅同一领域 / 有依赖但未修复 → 归入
Related #。 - 此判定由 AI 决定,无需每次征求人工确认;人工在审阅 PR 时可纠正。
- 人工确认 issue 拆分无误后,AI 才开始逐 issue 实现。
4. 逐 issue 实现 + TDD¶
- 每个 issue:先写失败测试(红)→ 实现使通过(绿)→ 重构。
- 测试依据:PRD 的成功指标 + Design 的接口定义 + ADR 的约束 + 第 2 步的测试设计。
- 全部通过 → 自动
git commit、关闭该 issue、在 Project 中更新状态。
5. milestone 完成 → 生成 PR¶
- 一个 milestone 下所有 issue 关闭后,AI 生成 PR(基于
.github/PULL_REQUEST_TEMPLATE.md)。 - AI 附带 PR review 总结:对照 Design / ADR 说明改动是否吻合、遗留风险、测试覆盖。
6. 人工审阅 → approve → merge¶
- 人工阅读总结,确认实现与 design 吻合,approve。
- merge 时 GitHub 原生
Closes #自动关闭对应 issue。 - milestone 关闭:GitHub 无原生「issue 全关即关 milestone」自动化;由人工或
gh在 issue 全关后手动关闭 milestone(本仓库仅交付文档,不写 Actions)。
文档优先约束(硬性纪律)¶
- 任何代码 PR 必须先在
docs/侧完成对应 PRD / Design / ADR 变更。 - PR 模板含 To-do checklist「已更新相关规范文档」;reviewer 据此把关,未更新文档的 PR 不 approve。
- 本约束为流程软约束(checklist + 人工审阅),不依赖 CI 强制阻断。
相关文档¶
- 规范分类与 frontmatter:
../../STYLE.md - 需求讨论入口:
../../CONTEXT.md§7 - Issue 跟踪:
issue-tracker.md - 标签体系:
triage-labels.md - PR 模板:
.github/PULL_REQUEST_TEMPLATE.md