用途
本技能用于在具体模块边界决策中应用 Feature-Sliced Design(FSD)v2.1。它面向采用 FSD 架构、在已有 FSD 项目中放置代码,或修复切片导入与公开 API 问题的场景。用户的明确指令优先于本技能的指南;一次普通的前端编辑并不代表获得迁移其架构的许可。
主要能力
技能以受影响的文件、导入关系、框架/路由以及请求的行为作为输入,判断仓库是否已使用 FSD,或用户是否要求采用 FSD。若两者皆不成立,则保留现有结构。
技能提供层级职责划分:
- app:初始化、providers、路由
- pages:屏幕及其局部 UI、数据与逻辑
- widgets:自包含的 UI 块
- features:可复用的用户交互
- entities:共享的业务概念
- shared:基础设施与领域无关的工具/UI
仅使用所需的层级。保留框架保留目录以及服务端/客户端边界,尤其是在 Next.js 中。
技能维护导入契约:切片从较低层级导入其他切片,而非横向或向上导入。显式的 @x API 是文档化的跨实体例外。app 和 shared 拥有的是 segments 而非 slices;它们的 segments 可以相互导入。技能要求暴露经过设计的公开 API,使用内部相对导入以避免导入切片自身的 barrel,并将仅服务端的导出排除在客户端入口点之外。FSD segments 按用途命名(ui、api、model、lib、config),不为了匹配示例而重命名无关文件夹。
使用方式
技能交付所请求的放置、重构或审查,并给出结果导入路径。对于代码变更,验证受影响的导入,并在可用时使用现有架构检查。仅当任务需要工具设置时,才安装 Steiger 或重写路径别名。
技能提供参考文档,按当前决策选择:
- 层级所有权与抽取:LAYERS.md
- 公开 API、barrels、循环、@x:PUBLIC-API.md
- 具体的 entity/feature/widget/page 示例:IMPLEMENTATION.md
- Next.js 路由目录与服务端/客户端导出:NEXTJS.md
- 请求迁移现有代码:MIGRATION.md
- 导入矩阵或紧凑结构查询:CHEATSHEET.md
规范性问题请使用官方 FSD 文档。将示例库和别名适配到已安装的技术栈。
适用场景
适用于采用 FSD、在已有 FSD 项目中放置代码、修复切片导入与公开 API,以及请求迁移现有代码等场景。
限制
用户明确指令优先;普通前端编辑不构成迁移架构的许可。若仓库未使用 FSD 且用户未要求采用,则保留现有结构。仅使用所需的层级,不重命名无关文件夹。仅当任务需要工具设置时才安装 Steiger 或重写路径别名。规范性问题以官方 FSD 文档为准。