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:#f3e5f5Phase 1: Discovery(发现阶段)
目标:理解需要构建什么
行动:
- 创建包含所有 7 个阶段的 todo list
- 如果功能描述不明确,询问用户:
- 要解决什么问题?
- 功能应该做什么?
- 有什么约束或要求?
- 总结理解并与用户确认
输出:明确的功能目标和范围
示例对话:
用户: /feature-dev 添加用户认证
Claude: 我理解你需要添加用户认证功能。为了更好地设计,请回答以下问题:
1. 认证方式偏好?
- 用户名/密码
- OAuth (Google, GitHub 等)
- 两者都要
2. 需要哪些功能?
- 注册
- 登录/登出
- 密码重置
- 会话管理
3. 有任何技术约束吗?
- 必须使用特定库?
- 与现有系统集成?Phase 2: Codebase Exploration(代码库探索)
目标:理解现有代码和模式
行动:
- 启动 2-3 个 code-explorer agents 并行工作
- 每个 agent 关注不同方面
- 阅读 agents 返回的所有关键文件
- 呈现综合摘要
并行探索示例:
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:#c8e6c9Explorer 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.tsxPhase 3: Clarifying Questions(澄清问题)
目标:填补空白,解决所有歧义
⚠️ CRITICAL: 这是最重要的阶段之一,不能跳过!
行动:
- 审查代码库发现和原始功能请求
- 识别未指定的方面
- 向用户呈现所有问题
- 等待答案后再进行架构设计
需要澄清的方面:
| 类别 | 示例问题 |
|---|---|
| 边界情况 | 登录失败后如何处理?允许几次重试? |
| 错误处理 | 网络错误如何展示给用户? |
| 集成点 | 需要与现有的 UserService 集成吗? |
| 范围边界 | 是否包含"记住我"功能? |
| 设计偏好 | 表单验证是实时还是提交时? |
| 向后兼容 | 需要支持旧版 API 吗? |
| 性能需求 | 有并发用户数要求吗? |
问题呈现格式:
markdown
## 需要澄清的问题
基于代码库分析和功能需求,请回答以下问题:
### 功能范围
1. 是否需要"记住我"功能?
2. 密码重置通过邮件还是短信?
### 技术决策
3. JWT token 存储在 localStorage 还是 httpOnly cookie?
4. 刷新 token 策略是什么?
### 集成
5. 需要支持现有的 `/api/v1` 还是创建 `/api/v2`?
### 边界情况
6. 会话过期后如何处理正在进行的操作?Phase 4: Architecture Design(架构设计)
目标:设计多种实现方案及其权衡
行动:
- 启动 2-3 个 code-architect agents 并行工作
- 每个 agent 设计不同风格的方案
- 审查所有方案并形成推荐意见
- 呈现给用户并询问偏好
并行设计方案:
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:#c8e6c9Architect 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
行动:
- 等待明确的用户批准
- 阅读之前阶段识别的所有相关文件
- 按照选定的架构实现
- 严格遵循代码库约定
- 编写清洁、文档化的代码
- 更新 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、优雅、易读、功能正确
行动:
- 启动 3 个 code-reviewer agents 并行工作
- 汇总发现并识别最高优先级问题
- 呈现发现给用户并询问行动方案
- 基于用户决定处理问题
并行审查维度:
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:#c8e6c9Reviewer 信心度评分:
| 分数范围 | 含义 | 处理 |
|---|---|---|
| 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);
};您希望如何处理?
- 现在修复所有问题
- 稍后修复
- 跳过某些问题
---
### 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(代码架构师)
颜色标识:🟢 绿色
职责:
- 提取现有模式、约定、架构决策
- 设计完整功能架构
- 提供完整实现蓝图
输出内容:
- 模式发现:现有 patterns(file:line 引用)
- 架构决策:选定方案及权衡
- 组件设计:文件路径、职责、依赖、接口
- 实现映射:具体创建/修改的文件
- 数据流:从 entry 到 output 的完整流
- 构建序列:分阶段实现步骤
Code Reviewer(代码审查器)
颜色标识:🔴 红色
职责:
- 项目指南合规:CLAUDE.md 规则验证
- Bug 检测:逻辑错误、null/undefined、安全漏洞
- 代码质量:重复、错误处理、可访问性、测试覆盖
信心度评分机制:
- 只报告 ≥80 信心度的问题
- 避免误报和 nitpicks
实战示例
示例:添加用户认证
bash
/feature-dev 添加用户认证功能,支持邮箱密码登录和 OAuth完整流程:
- Discovery:Claude 询问认证需求细节
- Exploration:3 个 Explorer 分析现有代码
- Questions:澄清 token 存储、会话管理等问题
- Architecture:3 个方案对比,用户选择
- Implementation:按选定方案实现
- Review:3 个 Reviewer 并行审查
- Summary:完整的功能报告
最佳实践
充分利用各阶段
| 阶段 | 建议 |
|---|---|
| Discovery | 详细描述需求,回答所有问题 |
| Exploration | 确保理解所有关键文件 |
| Questions | 认真回答,避免后期返工 |
| Architecture | 仔细对比方案,选择最适合的 |
| Implementation | 等待批准后再开始 |
| Review | 认真对待高信心度问题 |
何时使用 Feature Dev
| 适合 | 不适合 |
|---|---|
| 新功能开发 | 简单 bug 修复 |
| 复杂重构 | 配置更改 |
| 架构变更 | 文档更新 |
| 跨模块功能 | 单文件修改 |
总结
Feature Dev 提供了专业的功能开发工作流:
- 7 阶段流程 - 从理解到实现的完整覆盖
- 3 个专业 Agent - 探索、设计、审查
- 用户参与 - 关键决策点等待确认
- 质量保证 - 多维度代码审查
通过结构化的流程和专业的 Agent 支持,确保每个功能都经过充分的理解、设计和审查。
参考资源
- GitHub 源码 - 官方插件仓库
- Claude Code 文档 - 官方文档
本文档基于 feature-dev 插件 v1.0.0 编写