Skip to content

Feature Dev 功能开发流程插件

Feature Dev 提供 7 阶段结构化功能开发工作流,配合 3 个专业 Agent(探索器、架构师、审查器),确保从需求理解到代码审查的完整开发过程。

概述

Feature Dev 是一个全面的功能开发工作流插件,它强调"先理解、再设计、后实现"的开发理念。通过 7 个清晰的阶段和 3 个专业 Agent,帮助开发者系统化地完成功能开发。

核心理念

mermaid
graph LR
    A[理解需求] --> B[探索代码库]
    B --> C[澄清问题]
    C --> D[设计架构]
    D --> E[等待批准]
    E --> F[实现功能]
    F --> G[质量审查]

    style A fill:#e3f2fd
    style C fill:#fff3e0
    style E fill:#ffcdd2
    style G fill:#c8e6c9

关键原则

  • 不盲目编码:先充分理解现有代码和需求
  • 用户参与:关键决策点等待用户确认
  • 多方案对比:架构设计阶段提供多个方案
  • 质量把关:实现后进行专业代码审查

三大专业 Agent

Agent颜色模型用途
code-explorer黄色Sonnet深度分析现有代码库
code-architect绿色Sonnet设计功能架构方案
code-reviewer红色Sonnet审查代码质量

安装与配置

插件安装

bash
# 安装 feature-dev 插件
/plugin install feature-dev@claude-plugins-official

目录结构

plugins/feature-dev/
├── .claude-plugin/
│   └── plugin.json
├── README.md
├── commands/
│   └── feature-dev.md          # 主开发命令
└── agents/
    ├── code-explorer.md        # 代码探索器
    ├── code-architect.md       # 代码架构师
    └── code-reviewer.md        # 代码审查器

配置文件 (plugin.json)

json
{
  "name": "feature-dev",
  "version": "1.0.0",
  "description": "Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review",
  "author": {
    "name": "Sid Bidasaria",
    "email": "sbidasaria@anthropic.com"
  }
}

7 阶段工作流

工作流概览

mermaid
graph TD
    A[Phase 1<br/>Discovery] --> B[Phase 2<br/>Codebase<br/>Exploration]
    B --> C[Phase 3<br/>Clarifying<br/>Questions]
    C --> D[Phase 4<br/>Architecture<br/>Design]
    D --> E[Phase 5<br/>Implementation]
    E --> F[Phase 6<br/>Quality<br/>Review]
    F --> G[Phase 7<br/>Summary]

    A1[理解需求] -.-> A
    B1[2-3 个 Explorer<br/>Agent 并行] -.-> B
    C1[向用户澄清<br/>所有疑问] -.-> C
    D1[2-3 个 Architect<br/>Agent 并行] -.-> D
    E1[等待用户批准<br/>后开始实现] -.-> E
    F1[3 个 Reviewer<br/>Agent 并行] -.-> F
    G1[总结和<br/>后续建议] -.-> G

    style A fill:#e3f2fd
    style C fill:#fff3e0
    style E fill:#ffcdd2
    style F fill:#c8e6c9
    style G fill:#f3e5f5

Phase 1: Discovery(发现阶段)

目标:理解需要构建什么

行动

  1. 创建包含所有 7 个阶段的 todo list
  2. 如果功能描述不明确,询问用户:
    • 要解决什么问题?
    • 功能应该做什么?
    • 有什么约束或要求?
  3. 总结理解并与用户确认

输出:明确的功能目标和范围

示例对话

用户: /feature-dev 添加用户认证

Claude: 我理解你需要添加用户认证功能。为了更好地设计,请回答以下问题:

1. 认证方式偏好?
   - 用户名/密码
   - OAuth (Google, GitHub 等)
   - 两者都要

2. 需要哪些功能?
   - 注册
   - 登录/登出
   - 密码重置
   - 会话管理

3. 有任何技术约束吗?
   - 必须使用特定库?
   - 与现有系统集成?

Phase 2: Codebase Exploration(代码库探索)

目标:理解现有代码和模式

行动

  1. 启动 2-3 个 code-explorer agents 并行工作
  2. 每个 agent 关注不同方面
  3. 阅读 agents 返回的所有关键文件
  4. 呈现综合摘要

并行探索示例

mermaid
graph LR
    A[启动探索] --> B[Explorer #1<br/>类似功能追踪]
    A --> C[Explorer #2<br/>架构层映射]
    A --> D[Explorer #3<br/>扩展点识别]

    B --> E[汇总发现]
    C --> E
    D --> E

    E --> F[关键文件列表<br/>5-10 个]

    style A fill:#e3f2fd
    style E fill:#fff3e0
    style F fill:#c8e6c9

Explorer Agent 提示词示例

探索目标提示词
类似功能"查找类似于用户认证的功能并彻底追踪其实现"
架构理解"映射认证相关区域的架构和抽象,彻底追踪代码"
扩展点"识别 UI 模式、测试方法或与认证相关的扩展点"

Explorer 输出格式

markdown
## Exploration Results

### Entry Points
- src/api/routes.ts:45 - API 路由定义
- src/pages/Login.tsx:1 - 登录页面组件

### Execution Flow
1. 用户访问 /login
2. Login 组件渲染
3. 提交表单 → AuthService.login()
4. 成功后 → 存储 token → 重定向

### Key Components
- AuthService: 核心认证逻辑
- TokenManager: JWT 处理
- UserContext: 用户状态管理

### Architecture Insights
- 使用 React Context 进行状态管理
- API 使用 axios 实例封装
- 路由保护使用 HOC 模式

### Critical Files (必读)
1. src/services/auth.ts
2. src/contexts/UserContext.tsx
3. src/api/client.ts
4. src/components/ProtectedRoute.tsx

Phase 3: Clarifying Questions(澄清问题)

目标:填补空白,解决所有歧义

⚠️ CRITICAL: 这是最重要的阶段之一,不能跳过!

行动

  1. 审查代码库发现和原始功能请求
  2. 识别未指定的方面
  3. 向用户呈现所有问题
  4. 等待答案后再进行架构设计

需要澄清的方面

类别示例问题
边界情况登录失败后如何处理?允许几次重试?
错误处理网络错误如何展示给用户?
集成点需要与现有的 UserService 集成吗?
范围边界是否包含"记住我"功能?
设计偏好表单验证是实时还是提交时?
向后兼容需要支持旧版 API 吗?
性能需求有并发用户数要求吗?

问题呈现格式

markdown
## 需要澄清的问题

基于代码库分析和功能需求,请回答以下问题:

### 功能范围
1. 是否需要"记住我"功能?
2. 密码重置通过邮件还是短信?

### 技术决策
3. JWT token 存储在 localStorage 还是 httpOnly cookie?
4. 刷新 token 策略是什么?

### 集成
5. 需要支持现有的 `/api/v1` 还是创建 `/api/v2`

### 边界情况
6. 会话过期后如何处理正在进行的操作?

Phase 4: Architecture Design(架构设计)

目标:设计多种实现方案及其权衡

行动

  1. 启动 2-3 个 code-architect agents 并行工作
  2. 每个 agent 设计不同风格的方案
  3. 审查所有方案并形成推荐意见
  4. 呈现给用户并询问偏好

并行设计方案

mermaid
graph TD
    A[架构设计] --> B[Architect #1<br/>最小改动方案]
    A --> C[Architect #2<br/>清晰架构方案]
    A --> D[Architect #3<br/>实用平衡方案]

    B --> B1[最大重用<br/>快速实现]
    C --> C1[可维护性<br/>优雅抽象]
    D --> D1[速度+质量<br/>平衡取舍]

    B1 --> E[方案对比]
    C1 --> E
    D1 --> E

    E --> F[推荐 + 用户选择]

    style A fill:#e3f2fd
    style E fill:#fff3e0
    style F fill:#c8e6c9

Architect Agent 输出格式

markdown
## Architecture Proposal: Clean Architecture Approach

### Pattern & Convention Discovery
- 现有模式:Service → Repository → API
- 类似功能:UserService (src/services/user.ts:15)
- 关键抽象:BaseService, ApiClient

### Architecture Decision
选择理由:与现有架构一致,便于维护

### Component Design

| 组件 | 文件路径 | 职责 |
|------|----------|------|
| AuthService | src/services/auth.ts | 认证业务逻辑 |
| AuthRepository | src/repositories/auth.ts | API 调用封装 |
| useAuth | src/hooks/useAuth.ts | React hook |

### Implementation Map

**创建的文件**:
- `src/services/auth.ts` - AuthService 类
- `src/hooks/useAuth.ts` - useAuth hook
- `src/types/auth.ts` - 类型定义

**修改的文件**:
- `src/api/client.ts` - 添加认证拦截器
- `src/routes/index.tsx` - 添加保护路由

### Data Flow
1. 用户提交登录表单
2. useAuth.login() 调用
3. AuthService.login() 处理
4. AuthRepository.authenticate() API 调用
5. 成功 → 存储 token → 更新状态

### Build Sequence
1. [ ] 创建类型定义
2. [ ] 实现 AuthRepository
3. [ ] 实现 AuthService
4. [ ] 创建 useAuth hook
5. [ ] 添加路由保护
6. [ ] 编写测试

方案对比呈现

markdown
## 架构方案对比

| 方面 | 方案 A: 最小改动 | 方案 B: 清晰架构 | 方案 C: 平衡 |
|------|-----------------|-----------------|--------------|
| 实现时间 | 2 小时 | 5 小时 | 3 小时 |
| 代码量 | +200 行 | +500 行 | +350 行 |
| 可维护性 | 中等 | 高 | 较高 |
| 测试难度 | 中等 | 低 | 较低 |
| 扩展性 | 受限 | 优秀 | 良好 |

### 我的推荐:方案 B

理由:
1. 与现有代码库架构一致
2. 便于后续功能扩展
3. 易于测试和维护

您倾向于哪个方案?

Phase 5: Implementation(实现阶段)

目标:构建功能

⚠️ DO NOT START WITHOUT USER APPROVAL

行动

  1. 等待明确的用户批准
  2. 阅读之前阶段识别的所有相关文件
  3. 按照选定的架构实现
  4. 严格遵循代码库约定
  5. 编写清洁、文档化的代码
  6. 更新 todos 记录进度

实现流程

mermaid
sequenceDiagram
    participant U as 用户
    participant C as Claude
    participant F as 文件系统

    U->>C: 选择方案 B
    C->>C: 确认开始实现

    loop 按构建序列
        C->>F: 读取相关文件
        C->>F: 创建/修改代码
        C->>C: 更新 todo 进度
    end

    C->>U: 实现完成,进入审查

遵循的规范

  • 代码风格与现有代码一致
  • 使用相同的命名约定
  • 遵循相同的目录结构
  • 添加必要的类型定义
  • 编写符合项目标准的测试

Phase 6: Quality Review(质量审查)

目标:确保代码简洁、DRY、优雅、易读、功能正确

行动

  1. 启动 3 个 code-reviewer agents 并行工作
  2. 汇总发现并识别最高优先级问题
  3. 呈现发现给用户并询问行动方案
  4. 基于用户决定处理问题

并行审查维度

mermaid
graph TD
    A[质量审查] --> B[Reviewer #1<br/>简洁性/DRY/优雅]
    A --> C[Reviewer #2<br/>Bugs/功能正确性]
    A --> D[Reviewer #3<br/>项目约定/抽象]

    B --> E[汇总发现]
    C --> E
    D --> E

    E --> F{有问题?}
    F -->|是| G[呈现给用户]
    F -->|否| H[进入总结]

    G --> I[用户决定]
    I --> J[现在修复]
    I --> K[稍后修复]
    I --> L[跳过]

    style A fill:#e3f2fd
    style E fill:#fff3e0
    style J fill:#c8e6c9

Reviewer 信心度评分

分数范围含义处理
0-25误报或预先存在问题忽略
50真实问题但可能是 nitpick可选修复
75验证过的真实问题建议修复
100确定的问题必须修复

仅报告 ≥80 信心度的问题

审查报告示例

markdown
## Quality Review Results

### Critical Issues (0)


### Important Issues (2)

#### 1. Missing Error Boundary (Confidence: 85)
📍 src/pages/Login.tsx:45
AuthForm 组件缺少错误边界,API 错误可能导致白屏。

**建议修复**
```tsx
<ErrorBoundary fallback={<LoginError />}>
  <AuthForm />
</ErrorBoundary>

2. Token Not Cleared on Logout (Confidence: 88)

📍 src/hooks/useAuth.ts:67 logout 函数没有清除 localStorage 中的 token。

建议修复

ts
const logout = () => {
  localStorage.removeItem('token');
  setUser(null);
};

您希望如何处理?

  1. 现在修复所有问题
  2. 稍后修复
  3. 跳过某些问题

---

### Phase 7: Summary(总结阶段)

**目标**:文档化所有完成内容

**行动**:
1. 标记所有 todos 为完成
2. 总结构建内容、关键决策、修改文件
3. 提供建议的后续步骤

**总结报告示例**:

```markdown
## Feature Development Complete ✅

### 构建内容
用户认证功能,包括:
- 登录/登出流程
- JWT token 管理
- 路由保护
- 会话持久化

### 关键决策
- 采用清晰架构方案(方案 B)
- Token 存储在 httpOnly cookie
- 使用 React Context 进行状态管理

### 修改的文件
| 文件 | 变更类型 |
|------|----------|
| src/services/auth.ts | 新建 |
| src/hooks/useAuth.ts | 新建 |
| src/types/auth.ts | 新建 |
| src/api/client.ts | 修改 |
| src/routes/index.tsx | 修改 |
| src/pages/Login.tsx | 新建 |

### 测试覆盖
- 单元测试:AuthService, useAuth
- 集成测试:登录流程

### 建议后续步骤
1. 添加密码重置功能
2. 实现 OAuth 社交登录
3. 添加 2FA 支持
4. 性能优化:添加 token 刷新预取

三大专业 Agent 详解

Code Explorer(代码探索器)

颜色标识:🟡 黄色

职责

  • 找到 entry points(APIs、UI 组件、CLI 命令)
  • 追踪完整 call chains
  • 映射抽象层(presentation → business logic → data)
  • 识别设计模式和架构决策

输出内容

  • Entry points 与 file:line 引用
  • 逐步执行流和数据转换
  • 关键组件和责任
  • 架构洞察:patterns、layers、设计决策
  • 依赖关系
  • 认为绝对必要理解的文件列表

Code Architect(代码架构师)

颜色标识:🟢 绿色

职责

  1. 提取现有模式、约定、架构决策
  2. 设计完整功能架构
  3. 提供完整实现蓝图

输出内容

  • 模式发现:现有 patterns(file:line 引用)
  • 架构决策:选定方案及权衡
  • 组件设计:文件路径、职责、依赖、接口
  • 实现映射:具体创建/修改的文件
  • 数据流:从 entry 到 output 的完整流
  • 构建序列:分阶段实现步骤

Code Reviewer(代码审查器)

颜色标识:🔴 红色

职责

  1. 项目指南合规:CLAUDE.md 规则验证
  2. Bug 检测:逻辑错误、null/undefined、安全漏洞
  3. 代码质量:重复、错误处理、可访问性、测试覆盖

信心度评分机制

  • 只报告 ≥80 信心度的问题
  • 避免误报和 nitpicks

实战示例

示例:添加用户认证

bash
/feature-dev 添加用户认证功能,支持邮箱密码登录和 OAuth

完整流程

  1. Discovery:Claude 询问认证需求细节
  2. Exploration:3 个 Explorer 分析现有代码
  3. Questions:澄清 token 存储、会话管理等问题
  4. Architecture:3 个方案对比,用户选择
  5. Implementation:按选定方案实现
  6. Review:3 个 Reviewer 并行审查
  7. Summary:完整的功能报告

最佳实践

充分利用各阶段

阶段建议
Discovery详细描述需求,回答所有问题
Exploration确保理解所有关键文件
Questions认真回答,避免后期返工
Architecture仔细对比方案,选择最适合的
Implementation等待批准后再开始
Review认真对待高信心度问题

何时使用 Feature Dev

适合不适合
新功能开发简单 bug 修复
复杂重构配置更改
架构变更文档更新
跨模块功能单文件修改

总结

Feature Dev 提供了专业的功能开发工作流:

  1. 7 阶段流程 - 从理解到实现的完整覆盖
  2. 3 个专业 Agent - 探索、设计、审查
  3. 用户参与 - 关键决策点等待确认
  4. 质量保证 - 多维度代码审查

通过结构化的流程和专业的 Agent 支持,确保每个功能都经过充分的理解、设计和审查。


参考资源


本文档基于 feature-dev 插件 v1.0.0 编写

基于 MIT 许可证发布。内容版权归作者所有。