mcpField
G
generic-feature-developer

generic-feature-developer

github.com/travisjneuman开发106138 次安装1 天前更新
代码仓库

关于 generic-feature-developer

面向各类技术栈的功能开发指南,帮助开发者从理解现有代码到规划、实现和复核变更。内容涵盖架构选择、数据流、错误处理与性能考量。

主要功能

  1. 01分阶段功能开发流程
  2. 02按项目类型提供架构模式
  3. 03范围评估与方案选择
  4. 04状态管理选择指南
  5. 05数据流与错误处理模式
  6. 06功能完成检查清单

适用场景

  1. 01为现有代码库规划新功能
  2. 02选择功能实现或集成方案
  3. 03设计 API 与状态管理流程
  4. 04检查功能边缘情况和错误处理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/travisjneuman/.claude --skill generic-feature-developer

安装后在 Claude Code 中输入/generic-feature-developer确认已加载。

详细介绍

通用功能开发者

指导在任何技术栈中开发功能。

何时使用此技能

适用于:

  • 为现有代码库添加新功能
  • 修改或扩展当前系统
  • 规划架构变更
  • 在不同实现方案之间做出选择
  • 设计新功能的数据流

不适用于:

  • 纯 UI/样式工作 → 使用 generic-design-system
  • UX 设计决策 → 使用 generic-ux-designer
  • 代码审查 → 使用 generic-code-reviewer

开发工作流

  1. 了解 - 阅读 CLAUDE.md,找出受影响的文件,列出约束条件
  2. 规划 - 选择模式,设计数据流,找出边界情况
  3. 实现 - 进行小规模、便于审查的更改,频繁提交
  4. 审查与记录 - 根据边界情况和调用方审查差异,更新文档,检查性能

按项目类型划分的架构

静态网站
project/
├── index.html
├── css/           # variables.css, style.css
├── js/            # main.js, utils.js
└── assets/

模式: CSS 变量、ES 模块、事件委托

React/Next.js
src/
├── components/    # ui/, features/, layout/
├── hooks/
├── stores/
├── services/
└── types/

模式: 容器/展示组件、自定义钩子、Zustand/React Query

NestJS 后端
src/
├── modules/[feature]/
│   ├── feature.module.ts
│   ├── feature.controller.ts
│   ├── feature.service.ts
│   └── dto/
└── common/        # guards, decorators

模式: 模块组织、DTO、守卫、Prisma

功能决策框架

评估范围(首先进行)
范围操作
单个组件直接实现
横切关注点先设计接口
新子系统编写架构文档并获得批准
自行构建还是集成
因素自定义构建使用库
产品核心功能是
通用功能是
需要紧密集成是
时间紧迫是
长期维护是
状态管理方案选择
范围方案
组件本地useState/useReducer
功能范围内Context 或 Zustand 切片
整个应用Zustand/Redux store
服务端状态React Query/SWR
表单状态React Hook Form
API 设计检查清单
  • 已记录 RESTful 或 GraphQL 的选择
  • 已选择身份验证方式
  • 已统一错误响应格式
  • 已定义分页策略
  • 已考虑速率限制

常见功能

添加 UI 组件
  1. 创建组件 → 2. 导出 → 3. 审查用法和边界情况 → 4. 编写文档
添加 API 端点
  1. 定义路由 → 2. 添加验证 → 3. 实现服务 → 4. 审查错误处理路径
添加状态管理
  1. 定义结构 → 2. 创建 store → 3. 添加操作 → 4. 连接组件
数据库变更
  1. 设计架构 → 2. 创建迁移 → 3. 更新模型 → 4. 添加服务

数据流模式

前端数据流
User Action → Event Handler → State Update → Re-render → UI Feedback
  • 乐观更新: 立即更新 UI,出错时回滚
  • 悲观更新: 等待服务端确认
  • 选择依据: 低风险操作(点赞)采用乐观更新;高风险操作(付款)采用悲观更新
API 请求流
Request → Auth Check → Validation → Business Logic → Database → Response
  • 验证失败时尽早退出
  • 在多步骤操作周围设置事务边界
  • 使用一致的错误响应格式
事件驱动模式
事件类型处理方式
用户事件立即反馈
服务端事件使用 WebSocket/SSE 实现实时通信
后台任务对耗时较长的操作使用队列

错误处理策略

错误类型前端后端
验证字段内联错误400 + 字段错误
身份验证重定向到登录页401/403
未找到空状态或重定向404
服务器错误通用消息 + 重试500 + 日志
网络离线指示器 + 队列不适用
前端模式
try {
  await apiCall();
} catch (error) {
  if (error instanceof ValidationError) showFieldErrors(error.fields);
  else showGenericError();
}
后端模式
if (err instanceof ValidationError)
  return res.status(400).json({ errors: err.errors });
if (err instanceof AuthError)
  return res.status(401).json({ message: "Unauthorized" });

测试策略(用户要求编写测试时)

层类型工具
UI组件Testing Library
逻辑单元Jest、Vitest
API集成Supertest
E2E端到端Playwright

性能

前端: 代码拆分、延迟加载、记忆化、防抖 后端: 数据库索引、缓存、连接池、后台作业

功能实现检查清单

标记功能完成前:

  • 正常流程可用
  • 已处理错误状态
  • 已实现加载状态
  • 已检查边缘情况
  • TypeScript 类型完整
  • 已编写测试(仅在用户要求时)
  • 已更新文档

另请参阅

  • 代码审查标准 - 质量检查
  • 设计模式 - UI 模式
  • generic-design-system - 用于样式和视觉一致性
  • generic-ux-designer - 用于 UX 流程决策
  • 项目 CLAUDE.md - 工作流规则

阅读共享标准的情形:

  • 复杂功能设计 → CODE_REVIEW_STANDARDS.md(架构部分)
  • UI 组件模式 → DESIGN_PATTERNS.md(组件部分)

评论

支持 Markdown