特性架构技能Skill feature-arch

此技能用于React应用程序的特性驱动架构设计,提供最佳实践指南,帮助开发人员组织项目结构、管理依赖、实现模块化开发,以提高应用的可扩展性和团队协作效率。关键词:React、特性驱动架构、前端开发、项目结构、模块化、可扩展性、代码审查。

前端开发 0 次安装 0 次浏览 更新于 3/18/2026

name: 特性架构 description: React特性驱动架构指南,用于可扩展应用程序(原特性架构)。此技能应用于编写、审查或重构React代码时,确保正确的特性组织。触发涉及项目结构、特性组织、模块边界、跨特性导入、数据获取模式或组件组合的任务。

特性驱动架构最佳实践

全面架构指南,用于通过特性组织React应用程序,使独立团队实现可扩展开发。包含8个类别共42条规则,按影响从关键(目录结构、导入)到增量(命名约定)优先排序。

适用时机

参考这些指南当:

  • 创建新特性或模块
  • 组织项目目录结构
  • 设置导入规则和边界
  • 实现数据获取模式
  • 组合来自多个特性的组件
  • 审查代码以查找架构违规

规则类别按优先级排序

优先级 类别 影响 前缀
1 目录结构 关键 struct-
2 导入与依赖 关键 import-
3 模块边界 bound-
4 数据获取 fquery-
5 组件组织 中高 fcomp-
6 状态管理 fstate-
7 测试策略 test-
8 命名约定 name-

快速参考

1. 目录结构(关键)

  • struct-feature-folders - 按特性组织,而非技术类型
  • struct-feature-self-contained - 使特性自包含
  • struct-shared-layer - 仅用于真正通用代码的共享层
  • struct-flat-hierarchy - 保持目录层次扁平
  • struct-optional-segments - 仅包含必要部分
  • struct-app-layer - 将应用层与特性分离

2. 导入与依赖(关键)

  • import-unidirectional-flow - 强制单向导入流
  • import-no-cross-feature - 禁止跨特性导入
  • import-public-api - 仅通过公共API导出
  • import-avoid-barrel-files - 避免深度barrel文件重新导出
  • import-path-aliases - 使用一致的路径别名
  • import-type-only - 使用仅类型导入用于类型

3. 模块边界(高)

  • bound-feature-isolation - 强制特性隔离
  • bound-interface-contracts - 定义明确的接口合同
  • bound-feature-scoped-routing - 将路由限定于特性关注点
  • bound-minimize-shared-state - 最小化特性间的共享状态
  • bound-event-based-communication - 使用事件进行跨特性通信
  • bound-feature-size - 保持特性规模适当

4. 数据获取(高)

  • fquery-single-responsibility - 保持查询函数单一职责
  • fquery-colocate-with-feature - 将数据获取与特性共置
  • fquery-parallel-fetching - 并行获取独立数据
  • fquery-avoid-n-plus-one - 避免N+1查询模式
  • fquery-feature-scoped-keys - 使用特性限定查询键
  • fquery-server-component-fetching - 在服务器组件级别获取

5. 组件组织(中高)

  • fcomp-single-responsibility - 对组件应用单一职责原则
  • fcomp-composition-over-props - 优先组合而非属性透传
  • fcomp-container-presentational - 分离容器和表现层关注点
  • fcomp-props-as-data-boundary - 使用属性作为特性边界
  • fcomp-colocate-styles - 将样式与组件共置
  • fcomp-error-boundaries - 使用特性级错误边界

6. 状态管理(中)

  • fstate-feature-scoped-stores - 将状态存储限定于特性
  • fstate-server-state-separation - 分离服务器状态与客户端状态
  • fstate-lift-minimally - 仅将状态提升到必要高度
  • fstate-context-sparingly - 谨慎使用上下文处理特性状态
  • fstate-reset-on-unmount - 在卸载时重置特性状态

7. 测试策略(中)

  • test-colocate-with-feature - 将测试与特性共置
  • test-feature-isolation - 孤立测试特性
  • test-shared-utilities - 创建特定于特性的测试实用工具
  • test-integration-at-app-layer - 在应用层编写集成测试

8. 命名约定(低)

  • name-feature-naming - 使用领域驱动特性名称
  • name-file-conventions - 使用一致的文件命名约定
  • name-descriptive-exports - 使用描述性导出名称

如何使用

阅读个别参考文件以获取详细解释和代码示例:

  • 章节定义 - 类别结构和影响级别
  • 规则模板 - 添加新规则的模板
  • 个别规则:references/{prefix}-{slug}.md

相关技能

  • 用于特性规划,参见 feature-spec 技能
  • 用于数据获取,参见 tanstack-query 技能
  • 用于React组件模式,参见 react-19 技能

完整编译文档

完整指南与所有规则扩展:AGENTS.md