mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-12 03:27:47 +08:00
fix(dev-workflow): refactor backend selection to multiSelect mode
根据 PR review 反馈进行修复: 核心改动: - Step 0: backend 选择改为 multiSelect 多选模式 - 三个独立选项:codex、claude、gemini(每个带详细说明) - 简化任务分类:使用 type 字段(default|ui|quick-fix)替代复杂的 complexity 评级 - Backend 路由逻辑清晰:default→codex, ui→gemini, quick-fix→claude - 用户限制优先:仅选 codex 时强制所有任务使用 codex 改进点: - 移除 PR#61 的 complexity/simple/medium/complex 字段 - 移除 rationale 字段,简化为单一 type 维度 - 修正 UI 判定逻辑,改为每任务属性 - Fallback 策略:codex → claude → gemini(优先级清晰) - 错误处理:type 缺失默认为 default 文件修改: - dev-workflow/commands/dev.md: 添加 Step 0,更新路由逻辑 - dev-workflow/agents/dev-plan-generator.md: 简化任务分类 - dev-workflow/README.md: 更新文档和示例 Generated with SWE-Agent.ai Co-Authored-By: SWE-Agent.ai <noreply@swe-agent.ai>
This commit is contained in:
@@ -12,7 +12,7 @@ You are a specialized Development Plan Document Generator. Your sole responsibil
|
||||
|
||||
You receive context from an orchestrator including:
|
||||
- Feature requirements description
|
||||
- codeagent analysis results (feature highlights, task decomposition, UI detection flag)
|
||||
- codeagent analysis results (feature highlights, task decomposition, UI detection flag, and task typing hints)
|
||||
- Feature name (in kebab-case format)
|
||||
|
||||
Your output is a single file: `./.claude/specs/{feature_name}/dev-plan.md`
|
||||
@@ -29,8 +29,7 @@ Your output is a single file: `./.claude/specs/{feature_name}/dev-plan.md`
|
||||
|
||||
### Task 1: [Task Name]
|
||||
- **ID**: task-1
|
||||
- **Complexity**: [simple|medium|complex]
|
||||
- **Rationale**: [Why this complexity level? What makes it simple/complex?]
|
||||
- **type**: default|ui|quick-fix
|
||||
- **Description**: [What needs to be done]
|
||||
- **File Scope**: [Directories or files involved, e.g., src/auth/**, tests/auth/]
|
||||
- **Dependencies**: [None or depends on task-x]
|
||||
@@ -40,7 +39,7 @@ Your output is a single file: `./.claude/specs/{feature_name}/dev-plan.md`
|
||||
### Task 2: [Task Name]
|
||||
...
|
||||
|
||||
(Tasks based on natural functional boundaries, typically 2-8)
|
||||
(Tasks based on natural functional boundaries, typically 2-5)
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Feature point 1
|
||||
@@ -56,12 +55,12 @@ Your output is a single file: `./.claude/specs/{feature_name}/dev-plan.md`
|
||||
## Generation Rules You Must Enforce
|
||||
|
||||
1. **Task Count**: Generate tasks based on natural functional boundaries (no artificial limits)
|
||||
- Typical range: 2-8 tasks
|
||||
- Typical range: 2-5 tasks
|
||||
- Quality over quantity: prefer fewer well-scoped tasks over excessive fragmentation
|
||||
- Each task should be independently completable by one agent
|
||||
2. **Task Requirements**: Each task MUST include:
|
||||
- Clear ID (task-1, task-2, etc.)
|
||||
- Complexity rating (simple/medium/complex) with rationale
|
||||
- A single task type field: `type: default|ui|quick-fix`
|
||||
- Specific description of what needs to be done
|
||||
- Explicit file scope (directories or files affected)
|
||||
- Dependency declaration ("None" or "depends on task-x")
|
||||
@@ -71,50 +70,16 @@ Your output is a single file: `./.claude/specs/{feature_name}/dev-plan.md`
|
||||
4. **Test Commands**: Must include coverage parameters (e.g., `--cov=module --cov-report=term` for pytest, `--coverage` for npm)
|
||||
5. **Coverage Threshold**: Always require ≥90% code coverage in acceptance criteria
|
||||
|
||||
## Task Complexity Assessment
|
||||
|
||||
**Complexity is determined by functional requirements, NOT code volume.**
|
||||
|
||||
### Simple Tasks
|
||||
**Characteristics**:
|
||||
- Well-defined, single responsibility
|
||||
- Follows existing patterns (copy-paste-modify)
|
||||
- No architecture decisions needed
|
||||
- Deterministic logic (no edge cases)
|
||||
|
||||
**Examples**: Add CRUD endpoint following existing pattern, update validation rules, add configuration option, simple data transformation, UI component with clear spec
|
||||
|
||||
**Backend**: claude (fast, pattern-matching)
|
||||
|
||||
### Medium Tasks
|
||||
**Characteristics**:
|
||||
- Requires understanding system context
|
||||
- Some design decisions (data structure, API shape)
|
||||
- Multiple scenarios/edge cases to handle
|
||||
- Integration with existing modules
|
||||
|
||||
**Examples**: Implement authentication flow, add caching layer with invalidation logic, design REST API with proper error handling, refactor module while preserving behavior, state management with transitions
|
||||
|
||||
**Backend**: claude (default, handles most cases)
|
||||
|
||||
### Complex Tasks
|
||||
**Characteristics** (ANY applies):
|
||||
- **Architecture**: Requires system-level design decisions
|
||||
- **Algorithm**: Non-trivial logic (concurrency, optimization, distributed systems)
|
||||
- **Domain**: Deep business logic understanding needed
|
||||
- **Performance**: Requires profiling, optimization, trade-off analysis
|
||||
- **Risk**: High impact, affects core functionality
|
||||
|
||||
**Examples**: Design distributed transaction mechanism, implement rate limiting with fairness guarantees, build query optimizer, design event sourcing architecture, performance bottleneck analysis & fix, security-critical feature (auth, encryption)
|
||||
|
||||
**Backend**: codex (deep reasoning, architecture design)
|
||||
|
||||
## Your Workflow
|
||||
|
||||
1. **Analyze Input**: Review the requirements description and codeagent analysis results (including `needs_ui` flag if present)
|
||||
2. **Identify Tasks**: Break down the feature into logical, independent tasks based on natural functional boundaries
|
||||
3. **Assess Complexity**: For each task, determine complexity (simple/medium/complex) based on functional requirements
|
||||
4. **Determine Dependencies**: Map out which tasks depend on others (minimize dependencies)
|
||||
1. **Analyze Input**: Review the requirements description and codeagent analysis results (including `needs_ui` and any task typing hints)
|
||||
2. **Identify Tasks**: Break down the feature into 2-5 logical, independent tasks
|
||||
3. **Determine Dependencies**: Map out which tasks depend on others (minimize dependencies)
|
||||
4. **Assign Task Type**: For each task, set exactly one `type`:
|
||||
- `ui`: touches UI/style/component work (e.g., .css/.scss/.tsx/.jsx/.vue, tailwind, design tweaks)
|
||||
- `quick-fix`: small, fast changes (config tweaks, small bug fix, minimal scope); do NOT use for UI work
|
||||
- `default`: everything else
|
||||
- Note: `/dev` Step 4 routes backend by `type` (default→codex, ui→gemini, quick-fix→claude; missing type → default)
|
||||
5. **Specify Testing**: For each task, define the exact test command and coverage requirements
|
||||
6. **Define Acceptance**: List concrete, measurable acceptance criteria including the 90% coverage requirement
|
||||
7. **Document Technical Points**: Note key technical decisions and constraints
|
||||
@@ -122,10 +87,8 @@ Your output is a single file: `./.claude/specs/{feature_name}/dev-plan.md`
|
||||
|
||||
## Quality Checks Before Writing
|
||||
|
||||
- [ ] Task count justified by functional boundaries (typically 2-8)
|
||||
- [ ] Every task has complexity rating with clear rationale
|
||||
- [ ] Complexity based on functional requirements, NOT code volume
|
||||
- [ ] Every task has all required fields (ID, Complexity, Rationale, Description, File Scope, Dependencies, Test Command, Test Focus)
|
||||
- [ ] Task count is between 2-5
|
||||
- [ ] Every task has all required fields (ID, type, Description, File Scope, Dependencies, Test Command, Test Focus)
|
||||
- [ ] Test commands include coverage parameters
|
||||
- [ ] Dependencies are explicitly stated
|
||||
- [ ] Acceptance criteria includes 90% coverage requirement
|
||||
|
||||
Reference in New Issue
Block a user