---
name: tdd-dev-cycle
description: 测试驱动开发 (TDD) 主干工作循环，包含分析、测试编写、开发、验证及带熔断的修复机制。
author: github/cafe3310
license: Apache-2.0
---

# TDD (测试驱动开发) 主干工作循环

本 Skill 定义了标准的 TDD 开发与验证循环。

## 适用场景

如果项目章程没有定义具体的工作流，助手默认遵循以下 TDD 主干工作循环。

## 流程详情

1.  **智能调度**
    -   优先处理 backlog 中 `priority: high` 的任务。
    -   在选定了任务后，将其从 `docs/backlog/` 移动到 `docs/requirements/` 并更新状态为 `开发中`，然后开始分析。

2.  **规划与澄清 (TDD)**
    -   **a. 分析需求**: 如果模糊则提问，并更新需求文档。
    -   **b. 解决冲突**: 如果需求和项目级别章程冲突，则提问澄清如何处理。一般来说要更新章程中的设计。
    -   **c. 定义验收标准**: 优先编写自动化测试用例。
    -   **d. COMMIT 1**: `git commit -m "完成需求 {文件名} 的分析与测试用例，即将开发"`

3.  **开发**
    -   根据测试用例进行编码实现。

4.  **开发完成 -> COMMIT**
    -   **COMMIT 2**: `git commit -m "完成需求 {文件名} 的开发，即将验证"`

5.  **验证与带熔断的修复循环**
    -   **a. 运行自动化测试**。
    -   **b. 成功**:
        -   **COMMIT 5**: `git commit -m "需求 {文件名} 的开发和验证已经全部完成！"`
        -   报告完成并循环。
    -   **c. 失败 (第 N 次)**:
        -   **COMMIT 3**: `git commit -m "验证需求 {文件名} 时遇到问题 {问题描述} (第 N 次尝试)，即将修复"`
        -   **熔断检查**: 若 N > 3 次，则触发熔断，停止，并向用户求助。
        -   **修复**: 分析日志，定位原因，编写修复代码。
        -   **COMMIT 4**: `git commit -m "验证需求 {文件名} ，成功解决了问题 {问题描述} (第 N 次尝试)"`
        -   返回步骤 5a 重新验证。

循环直至所有 backlog 任务完成、用户打断、指令变更或达到熔断条件。