Files
Claude-Code-Workflow/docs/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

351 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# IDAW Commands
## One-Liner
**IDAW (Independent Development Autonomous Workflow) is the batch task execution engine** — queue development tasks, execute skill chains serially with per-task git checkpoints, and resume from interruptions.
## Core Concepts
| Concept | Description | Location |
|---------|-------------|----------|
| **Task** | Independent JSON task definition | `.workflow/.idaw/tasks/IDAW-*.json` |
| **Session** | Execution session with progress tracking | `.workflow/.idaw/sessions/IDA-*/` |
| **Skill Chain** | Ordered sequence of skills per task type | Mapped from `SKILL_CHAIN_MAP` |
| **Checkpoint** | Per-task git commit after successful execution | Automatic `git add -A && git commit` |
## IDAW vs Issue System
| Aspect | Issue System | IDAW |
|--------|-------------|------|
| **Granularity** | Fine-grained, multi-step orchestration | Coarse-grained, batch autonomous |
| **Pipeline** | new → plan → queue → execute | add → run (all-in-one) |
| **Execution** | DAG parallel | Serial with checkpoints |
| **Storage** | `.workflow/issues.jsonl` | `.workflow/.idaw/tasks/IDAW-*.json` |
| **Use Case** | Individual issue resolution | Batch task queue, unattended execution |
## Command List
| Command | Function | Syntax |
|---------|----------|--------|
| [`add`](#add) | Create tasks manually or import from issue | `/idaw:add [-y] [--from-issue <id>] "description" [--type <type>] [--priority 1-5]` |
| [`run`](#run) | Execute task queue with git checkpoints | `/idaw:run [-y] [--task <id,...>] [--dry-run]` |
| [`status`](#status) | View task and session progress | `/idaw:status [session-id]` |
| [`resume`](#resume) | Resume interrupted session | `/idaw:resume [-y] [session-id]` |
## Command Details
### add
**Function**: Create IDAW tasks manually or import from existing ccw issues.
**Syntax**:
```bash
/idaw:add [-y|--yes] [--from-issue <id>[,<id>,...]] "description" [--type <task_type>] [--priority <1-5>]
```
**Options**:
- `--from-issue <id>`: Import from ccw issue (comma-separated for multiple)
- `--type <type>`: Explicit task type (see [Task Types](#task-types))
- `--priority 1-5`: Priority (1=critical, 5=low, default=3)
**Modes**:
| Mode | Trigger | Behavior |
|------|---------|----------|
| Manual | No `--from-issue` | Parse description, generate task |
| Import | `--from-issue` | Fetch issue, freeze snapshot, create task |
**Examples**:
```bash
# Manual creation
/idaw:add "Fix login timeout bug" --type bugfix --priority 2
/idaw:add "Add rate limiting to API endpoints" --priority 1
/idaw:add "Refactor auth module to use strategy pattern"
# Import from ccw issue
/idaw:add --from-issue ISS-20260128-001
/idaw:add --from-issue ISS-20260128-001,ISS-20260128-002
# Auto mode (skip clarification)
/idaw:add -y "Quick fix for typo in header"
```
**Output**:
```
Created IDAW-001: Fix login timeout bug
Type: bugfix | Priority: 2 | Source: manual
→ Next: /idaw:run or /idaw:status
```
---
### run
**Function**: Main orchestrator — execute task skill chains serially with git checkpoints.
**Syntax**:
```bash
/idaw:run [-y|--yes] [--task <id>[,<id>,...]] [--dry-run]
```
**Options**:
- `--task <id,...>`: Execute specific tasks (default: all pending)
- `--dry-run`: Show execution plan without running
- `-y`: Auto mode — skip confirmations, auto-skip on failure
**6-Phase Execution**:
```
Phase 1: Load Tasks
└─ Glob IDAW-*.json → filter → sort by priority ASC, ID ASC
Phase 2: Session Setup
└─ Create session.json + progress.md + TodoWrite
Phase 3: Startup Protocol
├─ Check running sessions → offer resume or fresh
└─ Check git status → stash/continue/abort
Phase 4: Main Loop (serial)
For each task:
├─ Resolve: skill_chain || SKILL_CHAIN_MAP[task_type || inferred]
├─ Execute each skill (retry once on failure)
└─ On error: skip (autoYes) or ask (interactive)
Phase 5: Checkpoint (per task)
├─ git add -A && git commit
├─ Update task.json + session.json
└─ Append to progress.md
Phase 6: Report
└─ Summary: completed/failed/skipped counts + git commits
```
**Examples**:
```bash
# Execute all pending tasks (auto mode)
/idaw:run -y
# Execute specific tasks
/idaw:run --task IDAW-001,IDAW-003
# Preview execution plan
/idaw:run --dry-run
```
---
### status
**Function**: Read-only view of IDAW task queue and session progress.
**Syntax**:
```bash
/idaw:status [session-id]
```
**View Modes**:
| Mode | Trigger | Output |
|------|---------|--------|
| Overview | No arguments | All tasks table + latest session summary |
| Session Detail | Session ID provided | Task × status × commit table + progress.md |
**Examples**:
```bash
# Overview
/idaw:status
# Specific session
/idaw:status IDA-auth-fix-20260301
```
**Output Example**:
```
# IDAW Tasks
| ID | Title | Type | Priority | Status |
|----------|--------------------------|---------|----------|-----------|
| IDAW-001 | Fix auth token refresh | bugfix | 1 | completed |
| IDAW-002 | Add rate limiting | feature | 2 | pending |
| IDAW-003 | Refactor payment module | refactor| 3 | pending |
Total: 3 | Pending: 2 | Completed: 1 | Failed: 0
```
---
### resume
**Function**: Resume an interrupted IDAW session from the last checkpoint.
**Syntax**:
```bash
/idaw:resume [-y|--yes] [session-id]
```
**Options**:
- `session-id`: Resume specific session (default: latest running)
- `-y`: Auto-skip interrupted task, continue with remaining
**Recovery Flow**:
```
1. Find session with status=running
2. Handle interrupted task (in_progress):
├─ autoYes → mark as skipped
└─ interactive → ask: Retry or Skip
3. Build remaining task queue
4. Execute Phase 4-6 from /idaw:run
```
**Examples**:
```bash
# Resume most recent running session
/idaw:resume
# Resume specific session
/idaw:resume IDA-auth-fix-20260301
# Resume with auto mode
/idaw:resume -y
```
## Task Types
IDAW supports 10 task types, each mapping to a specific skill chain:
| Task Type | Skill Chain | Use Case |
|-----------|-------------|----------|
| `bugfix` | lite-plan → test-fix | Standard bug fixes |
| `bugfix-hotfix` | lite-plan (--hotfix) | Urgent production fixes |
| `feature` | lite-plan → test-fix | New features |
| `feature-complex` | plan → execute → test-fix | Multi-module features |
| `refactor` | refactor-cycle | Code restructuring |
| `tdd` | tdd-plan → execute | Test-driven development |
| `test` | test-fix | Test generation |
| `test-fix` | test-fix | Fix failing tests |
| `review` | review-cycle | Code review |
| `docs` | lite-plan | Documentation |
**Type Resolution**: Explicit `task_type` field takes priority. When null, the type is inferred from title and description using keyword matching at execution time.
## Task Schema
```json
{
"id": "IDAW-001",
"title": "Fix auth token refresh race condition",
"description": "Detailed problem/goal description...",
"status": "pending",
"priority": 2,
"task_type": "bugfix",
"skill_chain": null,
"context": {
"affected_files": ["src/auth/token-manager.ts"],
"acceptance_criteria": ["No concurrent refresh requests"],
"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"
}
```
**Key Fields**:
- `task_type`: Optional — inferred from title/description when null
- `skill_chain`: Optional — overrides automatic mapping when set
- `source.type`: `manual` or `import-issue`
- `source.issue_snapshot`: Frozen copy of original issue data (import only)
- `execution`: Runtime state populated by `/idaw:run`
## Task Lifecycle
```mermaid
graph TD
A["/idaw:add"] --> B["pending"]
B --> C["/idaw:run"]
C --> D["in_progress"]
D --> E{"Skill Chain"}
E -->|Success| F["completed (git commit)"]
E -->|Retry once| G{"Retry"}
G -->|Success| F
G -->|Fail| H{"autoYes?"}
H -->|Yes| I["failed (skip)"]
H -->|No| J["Ask: Skip/Abort"]
J -->|Skip| I
J -->|Abort| K["Session failed"]
L["/idaw:resume"] --> M{"Interrupted task"}
M -->|Retry| B
M -->|Skip| N["skipped"]
```
## Directory Structure
```
.workflow/.idaw/
├── tasks/ # Task definitions (persist across sessions)
│ ├── IDAW-001.json
│ ├── IDAW-002.json
│ └── IDAW-003.json
└── sessions/ # Execution sessions
└── IDA-{slug}-YYYYMMDD/
├── session.json # Session state + task queue
└── progress.md # Human-readable progress log
```
## Error Handling
| Error | Resolution |
|-------|------------|
| No tasks found | Suggest `/idaw:add` |
| Task JSON parse error | Skip malformed task, log warning |
| Task type unresolvable | Default to `feature` chain |
| Skill failure | Retry once → skip (autoYes) or ask (interactive) |
| Git commit fails (no changes) | Record `no-commit`, continue |
| Dirty git tree | autoYes: proceed; interactive: ask |
| Session ID collision | Append `-2` suffix |
| Issue fetch fails (import) | Log error, skip issue |
| Duplicate import (same issue_id) | Warn and skip |
| No resumable sessions | Suggest `/idaw:run` |
## Typical Workflow
```bash
# 1. Queue tasks
/idaw:add "Fix login timeout bug" --type bugfix --priority 1
/idaw:add "Add rate limiting to API" --priority 2
/idaw:add --from-issue ISS-20260128-001,ISS-20260128-002
# 2. Preview execution plan
/idaw:run --dry-run
# 3. Execute all (unattended)
/idaw:run -y
# 4. Check progress
/idaw:status
# 5. Resume if interrupted
/idaw:resume -y
```
## Related Documentation
- [Issue Commands](./issue.md) — Fine-grained issue management
- [Core Orchestration](./core-orchestration.md) — `/ccw` main orchestrator
- [Workflow Commands](./workflow.md) — Individual workflow skills