用途
new-feature 是一个面向 Expo 项目的技能(Skill),用于根据给定的功能名称,自动创建一个遵循整洁架构(Clean Architecture)的完整功能模块。它覆盖从界面到数据访问的多个层次,帮助开发者快速搭建结构统一的功能骨架。
主要能力
该技能会按以下流程工作:
- 分析功能:确定所需的屏幕、识别数据需求、规划状态管理。
- 创建目录结构,包括:
src/app/(feature)/:功能路由组,含_layout.tsx与index.tsxsrc/components/features/feature-name/:功能组件src/domain/entities/FeatureEntity.ts:领域实体src/application/use-cases/featureUseCases.ts:用例src/application/state/useFeatureStore.ts:状态管理src/infrastructure/api/featureApi.ts:API 实现
技能内置了多类文件模板,包括:
- 领域实体(FeatureEntity)及创建、更新输入类型
- 仓储接口(FeatureRepository),定义 findAll、findById、create、update、delete 方法
- 基于 apiClient 的 API 实现
- 基于 Zustand 的状态存储,包含 items、selectedItem、isLoading、error 状态以及 fetchAll、fetchById、create、update、remove、clearError 等操作
- 屏幕组件示例,使用 expo-router、react-native-safe-area-context、FlatList,并包含加载与错误状态展示
使用方式
该技能通过参数接收功能名称($ARGUMENTS),随后按上述流程生成对应文件。技能说明中提供了一份检查清单,用于确认是否已创建实体与仓储接口、API 实现、Zustand 存储、屏幕组件,是否添加了加载与错误状态,以及是否使用了整洁架构分层。
适用场景
适用于使用 Expo 与 React Native 开发、并希望以整洁架构组织代码的项目,尤其是需要快速生成结构一致的功能模块(含屏幕、组件、状态与 API 层)的场景。
限制
资料中未提供该技能的安装命令、收费方式、支持的平台范围或实际运行效果等信息,这些内容暂未提供。