stage-development
Skill2 starsChanged 5 months agoMITView on GitHub
开发实现——编码、单元测试、代码审查。阶段子工作流,可独立使用。
In this repository26 other files it gives its agents.
- AGENTS.mdAGENTS.md
- code-reviewSkill
- design-reviewSkill
- main-workflowSkill
- okrSkill
- pr-faqSkill
- release-checklistSkill
- release-reviewSkill
- requirement-clarificationSkill
- requirement-reviewSkill
- retro-meetingSkill
- retro-reviewSkill
- six-pagerSkill
- software-project-governanceSkill
- stage-architectureSkill
- stage-cicdSkill
- stage-infraSkill
- stage-initiationSkill
- stage-maintenanceSkill
- stage-operationsSkill
- stage-releaseSkill
- stage-researchSkill
- stage-selectionSkill
- stage-testingSkill
- tech-reviewSkill
- test-reviewSkill
The file
Files
开发实现 — 子工作流
本文件定义"开发实现"阶段的独立子工作流。用户可单独加载本文件执行开发阶段。
阶段目标
按设计产出可工作的软件资产。开发阶段的核心产出是"可工作的代码"——通过自动化门禁、Code Review、集成验证的源代码。
AI 编程场景特有风险
在 AI 辅助编程项目中,开发阶段存在以下特有风险:
| 风险 | 说明 | 缓解方向 |
| 代码质量波动大 | AI 生成的代码质量在不同文件/模块间差异显著,有的地方精良有的地方草率 | Code Review 不能因为是 AI 写的就降低标准;AI 生成代码同样需要逐行审查 |
| AI 跳过测试 | AI 倾向于写完功能代码就声称完成,跳过或敷衍单元测试 | 强制 TDD 顺序:先测试→再实现→再验证;pre-commit hook 检查测试文件是否存在 |
| 虚假实现 | AI 可能生成"看起来对"但实际逻辑错误的代码(例如 mock 代替真实调用、硬编码返回值) | Review 重点检查:是否有 mock 残留、硬编码路径、未实现的 TODO |
| 漂移累积 | 多轮迭代中,AI 逐渐偏离架构设计意图,每次偏离一点直到完全走样 | 每次实现前重新读取架构 ADR;偏离设计时强制记录决策 |
| 过度实现 | AI 倾向于实现"可能需要"的额外功能,超出当前任务范围 | 每个 commit 必须对应一个明确的任务;禁止"顺带改"无关代码 |
| 不安全的代码 | AI 可能引入 OWASP Top 10 漏洞(注入、XSS、敏感信息泄露等) | 安全扫描集成到 pre-commit;Code Review 包含安全检查清单 |
独立使用时的目标锚定
当本子工作流被独立加载(非通过
main-workflow.md总入口加载)时,MUST 在执行阶段活动前完成以下自包含检查。本段不依赖任何其他文件。
锚定步骤(每步有具体文件路径和检查目标):
- 目标确认:读取
.governance/plan-tracker.md→ 找到## 项目配置节 → 提取"项目目标"和"量化成功标准"。如果 plan-tracker 中无明确目标 → MUST 通过 AskUserQuestion 工具询问用户(M5.1 禁止内联文字问题),选项示例:(1) "输入项目目标" (2) "跳过目标锚定——我知道风险" (3) "初始化 governance 后再继续" - 偏离检查:对照成功标准,确认本轮开发范围是否在目标方向上。偏离 = 发现你准备实现的与 plan-tracker 中定义的目标不一致 → MUST 先记录到
.governance/decision-log.md - 质量底线:代码 MUST 通过自动化门禁(lint/test/coverage/security)+ Code Review 闭环(≥1 reviewer,遗留项=0)
降级行为(.governance/ 不存在时):
.governance/plan-tracker.md不存在 → 内联告知用户(单向通知,非提问——不触发 M5.1 禁令):"当前项目未初始化 governance。独立使用模式下目标锚定不可用——无法确认开发方向是否与项目目标一致。建议运行 governance-init 初始化治理。"- 降级不阻塞执行——独立使用模式下可以直接开始开发,但 agent MUST 在开始前内联告知用户锚定缺失的风险(单向通知——非交互式提问)
- 如果后续初始化了 governance,锚定检查在下一会话自动恢复
进入条件
- 架构设计已完成(G5 通过或条件通过)
- 开发环境已搭建(G4 通过)
- 有明确的详细设计和 ADR 作为输入
活动清单
1. 开发准备
| 活动 | 描述 | 交互边界 | 企业实践 |
| 确认开发范围 | 本轮迭代实现哪些功能,每个功能对应哪个架构模块 | 需用户确认:优先级排序 | [Amazon] Single-Threaded Owner:每个功能有明确负责人 |
| 重读架构 ADR | 实现前重新读取架构决策记录,确认理解设计意图和约束 | 自动 | [ByteDance Context not Control] 先理解上下文再动手 |
| 创建开发分支 | 从主分支拉取开发分支,分支名含任务 ID | 自动 | 通用实践 |
| 确认编码规范 | 语言、命名、注释、提交信息格式 | 自动:检查项目已有规范(.editorconfig/lint 配置),缺失则推荐 | [Google] 编码规范自动化检查 |
2. 迭代开发(TDD 顺序)
| 活动 | 描述 | 交互边界 | 企业实践 |
| 先写测试 | 在实现功能前先写失败的测试用例 | 自动 | [Google] TDD:测试先于实现 |
| 按模块实现 | 按详细设计逐模块编码,每个模块对应明确的功能需求 | 自动 | 通用实践 |
| 偏离检查 | 实现过程中如需要偏离架构设计,必须记录到决策日志 | 自动判定:检测到接口变更或模块边界变化 → 需用户确认 | [华为] 一线可在架构意图内自主调整,但必须记录决策 |
| 自测通过 | 本地运行单元测试确保通过 | 自动 | 通用实践 |
| 过度实现检查 | 检查本次 diff 是否包含超出任务范围的修改 | 自动:diff 分析 → 标记可疑文件 | [Amazon Bias for Action] 只做当前需要的 |
3. Code Review
| 活动 | 描述 | 交互边界 | 企业实践 |
| AI 生成代码专项检查 | 检查:mock 残留、硬编码返回值、未实现的 TODO、幻觉 API 调用 | 自动:静态扫描 + 需人工审查 | 本项目 AI 专项 |
| 安全检查清单 | SQL 注入、XSS、敏感信息泄露、不安全的反序列化 | 自动:安全 lint 工具 + 需人工审查 | [Google] Code Review 必须包含安全检查 |
| 设计一致性检查 | 实现是否偏离架构 ADR?接口契约是否遵守? | 自动:接口 diff 对比 + 需人工审查 | [ByteDance Context] 实现必须与设计上下文一致 |
| 提交 Review | 创建 Review 请求,核心模块需 ≥2 位 reviewer | 自动 | [Google] 核心模块需 2 人审查 |
| 处理 Review 意见 | Review 意见必须逐条回复:采纳/拒绝+理由 | 自动:处理明确意见;需用户判断:架构级建议 | [Google] Review 意见必须逐条闭环 |
4. 自动化门禁(Pre-Merge)
| 活动 | 描述 | 交互边界 | 企业实践 |
| Lint 检查 | 代码风格和静态分析 | 自动 | [Google] 自动化风格检查 |
| 单元测试 | 全量单元测试 | 自动 | [Google] 合并前全量测试通过 |
| 覆盖率检查 | 覆盖率 ≥ profile 阈值 | 自动 | [Google] 覆盖率门禁 |
| 安全扫描 | OWASP Top 10 关键项扫描 | 自动 | 通用安全实践 |
| 依赖检查 | 依赖版本冲突、已知漏洞 | 自动 | 通用实践 |
5. 集成验证
| 活动 | 描述 | 交互边界 | 企业实践 |
| 合并到集成分支 | 通过门禁后合并 | 自动 | 通用实践 |
| 运行集成测试 | 确保模块间交互正常 | 自动 | 通用实践 |
| 修复集成问题 | 处理合并冲突和集成失败 | 自动 | 通用实践 |
产出物标准
| 产出物 | 格式要求 | 质量标准 | 企业实践来源 |
| 源代码 | 符合编码规范、无 lint 错误、无安全扫描高危 | 静态检查全通过;无 mock 残留/硬编码/幻觉 API | [Google] + AI 专项 |
| 单元测试 | 先于实现编写;覆盖核心逻辑路径和边界 case | 覆盖率达标(standard: ≥70%, strict: ≥90%);测试用例有意义(非形式化) | [Google] TDD + 覆盖率门禁 |
| Code Review 记录 | 所有 Review 意见已逐条回复(采纳/拒绝+理由) | 遗留项 = 0;核心模块 ≥2 位 reviewer | [Google] Review 闭环 |
| 决策偏差记录 | 实现偏离设计时的决策记录 | 每个偏差有:原因、影响评估、替代方案、批准人 | [华为] 一线自主决策记录 |
| 集成验证结果 | 全部门禁通过 + 集成测试通过 | 无阻塞性失败;无安全高危漏洞 | [Google] 合并门禁 |
退出条件
- 核心功能按设计和 ADR 实现(功能列表逐项对照无遗漏)
- 单元测试覆盖率达标(standard ≥70%, strict ≥90%)
- Code Review 遗留项已关闭(遗留项 = 0;每条意见已回复)
- AI 专项检查通过(无 mock 残留、硬编码、幻觉 API、未实现 TODO)
- 安全扫描通过(无 HIGH/CRITICAL 漏洞)
- 自动化门禁全部通过(lint、test、coverage、security、dependency)
- 集成验证通过(无阻塞性失败)
- 实现偏差已记录(如有偏离设计的,已记入决策日志)
Gate 映射
本阶段对应 G6 — 开发完成。
| Gate 检查项 | 对应活动 | 判定标准 | 自动化判定 |
| 核心功能是否按设计实现? | 迭代开发 | 功能列表与设计文档+ADR 逐项对照无遗漏 | 半自动:功能列表对照 → 需人工确认 |
| 单元测试覆盖率是否达标? | 门禁检查 | coverage 报告 ≥ profile 阈值 | 可自动:解析 coverage 报告 |
| Code Review 遗留项是否已关闭? | Code Review | 所有 Review 意见已回复,遗留项计数 = 0 | 可自动:检查 Review 工具状态 |
| AI 专项检查是否通过? | Code Review | 无 mock 残留、硬编码、幻觉 API、未实现 TODO | 可自动:静态扫描规则匹配 |
| 安全扫描是否通过? | 门禁检查 | 无 HIGH/CRITICAL 级别漏洞 | 可自动:解析安全扫描报告 |
| 自动化门禁是否全部通过? | 门禁检查 | lint/test/coverage/security/dependency 全部 green | 可自动:检查 CI 状态 |
| 实现偏差是否已记录? | 迭代开发 | 如有偏离设计,决策日志有对应记录 | 可自动:检查决策日志 |
| 集成验证是否通过? | 集成验证 | 集成测试套件全部通过 | 可自动:检查 CI 状态 |
企业实践溯源
本子工作流的设计参考了以下企业实践,每条实践已映射到具体活动步骤:
| 企业 | 核心实践 | 映射到本工作流 |
| Code Review(所有变更审查、核心模块 2 人) | Code Review→逐条回复闭环;核心模块 ≥2 reviewer | |
| TDD + 覆盖率门禁 | 迭代开发→先写测试再实现;自动化门禁→覆盖率阈值 | |
| 自动化风格/安全/依赖检查 | 自动化门禁→lint/security/dependency 全部自动 | |
| Amazon | Bias for Action (70% 信息即推进) | 迭代开发→过度实现检查;区分当前需要 vs 未来可能需要 |
| Amazon | Single-Threaded Owner | 开发准备→每个功能有明确负责人 |
| 华为 | 一线自主(架构意图内自主调整) | 迭代开发→偏离检查+决策记录 |
| 字节跳动 | Context not Control (理解上下文再行动) | 开发准备→重读架构 ADR;Code Review→设计一致性检查 |
| 字节跳动 | 数据驱动验证 | 自动化门禁→覆盖率/测试结果必须有量化数字 |
| — | AI 编程专项 | Code Review→AI 生成代码专项检查(mock/硬编码/幻觉/过度实现) |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

