Files
Claude-Code-Workflow/docs/zh/commands/claude/idaw.md
catlog22 da19a6ec89 feat: Implement IDAW commands and update favicon/logo SVGs
- Added IDAW (Independent Development Autonomous Workflow) commands for batch task execution, including `/idaw:add`, `/idaw:run`, `/idaw:status`, and `/idaw:resume`.
- Updated documentation for IDAW commands in both English and Chinese.
- Modified favicon and logo SVGs to reflect new orbital design with dynamic colors.
- Incremented package version from 7.0.6 to 7.0.9.
2026-03-01 20:05:44 +08:00

8.6 KiB
Raw Blame History

IDAW 命令

一句话定位

IDAWIndependent Development Autonomous Workflow是批量任务自治执行引擎 — 攒任务、串行执行 Skill 链、每个任务自动 git checkpoint、中断可恢复。

核心概念

概念 说明 存储位置
Task 独立 JSON 任务定义 .workflow/.idaw/tasks/IDAW-*.json
Session 执行会话与进度追踪 .workflow/.idaw/sessions/IDA-*/
Skill Chain 按任务类型的有序 Skill 序列 SKILL_CHAIN_MAP 映射
Checkpoint 每个任务成功后的 git commit 自动 git add -A && git commit

IDAW vs Issue 系统

对比维度 Issue 系统 IDAW
粒度 精细粒度、多步编排 粗粒度、批量自治
流水线 new → plan → queue → execute add → run一站式
执行方式 DAG 并行 串行 + checkpoint
存储 .workflow/issues.jsonl .workflow/.idaw/tasks/IDAW-*.json
场景 单个 issue 精细解决 批量任务队列、无人值守执行

命令列表

命令 功能 语法
add 手动创建或从 issue 导入任务 /idaw:add [-y] [--from-issue <id>] "描述" [--type <类型>] [--priority 1-5]
run 串行执行任务队列并 git checkpoint /idaw:run [-y] [--task <id,...>] [--dry-run]
status 查看任务和会话进度 /idaw:status [session-id]
resume 从断点恢复中断的会话 /idaw:resume [-y] [session-id]

命令详情

add

功能:手动创建 IDAW 任务或从现有 ccw issue 导入。

语法

/idaw:add [-y|--yes] [--from-issue <id>[,<id>,...]] "描述" [--type <task_type>] [--priority <1-5>]

参数

  • --from-issue <id>:从 ccw issue 导入(逗号分隔多个)
  • --type <type>:显式指定任务类型(见任务类型
  • --priority 1-5优先级1=紧急5=低,默认=3

模式

模式 触发条件 行为
手动 --from-issue 解析描述、生成任务
导入 --from-issue 获取 issue、冻结快照、创建任务

示例

# 手动创建
/idaw:add "修复登录超时 Bug" --type bugfix --priority 2
/idaw:add "为 API 添加限流" --priority 1
/idaw:add "重构 auth 模块为策略模式"

# 从 ccw issue 导入
/idaw:add --from-issue ISS-20260128-001
/idaw:add --from-issue ISS-20260128-001,ISS-20260128-002

# 自动模式
/idaw:add -y "修复 header 拼写错误"

run

功能:主编排器 — 串行执行任务 Skill 链,每个任务完成后自动 git commit。

语法

/idaw:run [-y|--yes] [--task <id>[,<id>,...]] [--dry-run]

参数

  • --task <id,...>:执行特定任务(默认:所有 pending
  • --dry-run:预览执行计划,不实际执行
  • -y:自动模式 — 跳过确认,失败自动跳过

6 阶段执行流程

Phase 1: 加载任务
   └─ Glob IDAW-*.json → 过滤 → 按优先级 ASC、ID ASC 排序

Phase 2: 创建会话
   └─ 创建 session.json + progress.md + TodoWrite

Phase 3: 启动检查
   ├─ 检查运行中的会话 → 提供恢复或新建选项
   └─ 检查 git 状态 → stash/继续/中止

Phase 4: 主循环(串行)
   每个任务:
   ├─ 解析: skill_chain || SKILL_CHAIN_MAP[task_type || 推断]
   ├─ 执行每个 skill失败重试一次
   └─ 错误处理: skip (autoYes) 或 ask (交互)

Phase 5: Checkpoint每个任务
   ├─ git add -A && git commit
   ├─ 更新 task.json + session.json
   └─ 追加 progress.md

Phase 6: 报告
   └─ 汇总: 完成/失败/跳过数量 + git commits

示例

# 执行所有 pending 任务(自动模式)
/idaw:run -y

# 执行特定任务
/idaw:run --task IDAW-001,IDAW-003

# 预览执行计划
/idaw:run --dry-run

status

功能:只读查看 IDAW 任务队列和会话进度。

语法

/idaw:status [session-id]

视图模式

模式 触发 输出
概览 无参数 所有任务表格 + 最新会话摘要
会话详情 指定 session-id 任务 × 状态 × commit 表格 + progress.md

示例

/idaw:status
/idaw:status IDA-auth-fix-20260301

resume

功能:从最后一个 checkpoint 恢复中断的 IDAW 会话。

语法

/idaw:resume [-y|--yes] [session-id]

参数

  • session-id:恢复指定会话(默认:最新 running 会话)
  • -y:自动跳过中断任务,继续执行剩余任务

恢复流程

1. 查找 status=running 的会话
2. 处理中断任务 (in_progress):
   ├─ autoYes → 标记为 skipped
   └─ 交互 → 询问: 重试或跳过
3. 构建剩余任务队列
4. 执行 /idaw:run 的 Phase 4-6

示例

/idaw:resume
/idaw:resume IDA-auth-fix-20260301
/idaw:resume -y

任务类型

IDAW 支持 10 种任务类型,每种映射到特定的 Skill 链:

任务类型 Skill 链 使用场景
bugfix lite-plan → test-fix 常规 Bug 修复
bugfix-hotfix lite-plan (--hotfix) 紧急生产修复
feature lite-plan → test-fix 新功能
feature-complex plan → execute → test-fix 多模块功能
refactor refactor-cycle 代码重构
tdd tdd-plan → execute 测试驱动开发
test test-fix 测试生成
test-fix test-fix 修复失败测试
review review-cycle 代码审查
docs lite-plan 文档

类型解析:显式 task_type 字段优先。为 null 时,执行时从标题和描述通过关键字匹配推断。

任务 Schema

{
  "id": "IDAW-001",
  "title": "修复 auth token 刷新竞态",
  "description": "详细的问题/目标描述...",
  "status": "pending",
  "priority": 2,
  "task_type": "bugfix",
  "skill_chain": null,
  "context": {
    "affected_files": ["src/auth/token-manager.ts"],
    "acceptance_criteria": ["无并发刷新请求"],
    "constraints": [],
    "references": []
  },
  "source": {
    "type": "manual",
    "issue_id": null,
    "issue_snapshot": null
  },
  "execution": {
    "session_id": null,
    "started_at": null,
    "completed_at": null,
    "skill_results": [],
    "git_commit": null,
    "error": null
  },
  "created_at": "2026-03-01T10:00:00Z",
  "updated_at": "2026-03-01T10:00:00Z"
}

任务生命周期

graph TD
    A["/idaw:add"] --> B["pending"]
    B --> C["/idaw:run"]
    C --> D["in_progress"]
    D --> E{"Skill Chain"}
    E -->|成功| F["completed (git commit)"]
    E -->|重试一次| G{"重试"}
    G -->|成功| F
    G -->|失败| H{"autoYes?"}
    H -->|是| I["failed (跳过)"]
    H -->|否| J["询问: 跳过/中止"]
    J -->|跳过| I
    J -->|中止| K["Session failed"]

    L["/idaw:resume"] --> M{"中断的任务"}
    M -->|重试| B
    M -->|跳过| N["skipped"]

目录结构

.workflow/.idaw/
├── tasks/                          # 任务定义(跨会话持久化)
│   ├── IDAW-001.json
│   ├── IDAW-002.json
│   └── IDAW-003.json
└── sessions/                       # 执行会话
    └── IDA-{slug}-YYYYMMDD/
        ├── session.json            # 会话状态 + 任务队列
        └── progress.md             # 可读的进度日志

错误处理

错误 处理方式
无任务 提示 /idaw:add
任务 JSON 解析错误 跳过并记录警告
任务类型无法解析 默认 feature
Skill 失败 重试一次 → skip (autoYes) 或 ask (交互)
Git commit 无变更 记录 no-commit,继续
Git 工作区脏 autoYes: 继续; 交互: 询问
Session ID 冲突 追加 -2 后缀
Issue 获取失败(导入) 记录错误,跳过
重复导入 警告并跳过
无可恢复会话 提示 /idaw:run

典型使用流程

# 1. 攒任务
/idaw:add "修复登录超时 Bug" --type bugfix --priority 1
/idaw:add "为 API 添加限流" --priority 2
/idaw:add --from-issue ISS-20260128-001,ISS-20260128-002

# 2. 预览执行计划
/idaw:run --dry-run

# 3. 全自动执行(无人值守)
/idaw:run -y

# 4. 查看进度
/idaw:status

# 5. 中断后恢复
/idaw:resume -y

相关文档