SuperAPI AI 工具集

frontend-layered-architecture

前端与建站

查看项目

更新于 10-15 17:34

技能介绍

用途:该技能用于处理前端架构边界问题,包括代码归属、目录角色、文件放置、导入方向、UI/组件抽取、API 与数据契约等。它不强制某种方法论(如 Feature-Sliced Design 或垂直切片架构),而是确保项目所选结构中角色与依赖方向清晰、外部数据契约被隔离、前端自有领域逻辑得到有效管理。

主要能力:将代码按角色、依赖、外部数据边界与编排职责分层。基础抽象层包括 End-User(页面/路由,负责 UI 流程、数据获取与编排)、Domain(可复用业务规则、校验、计算、特性开关,默认不含 API 调用与外部服务访问)、Shared(不感知外部上下文的纯代码,最低层)、Data(外部数据契约与执行边界,API 相关源码归此层,即使由前端开发者编写也视为外部拥有代码)。Domain 到 Data 默认仅访问 schemas/types,因为声明式数据获取(如 useQuery 风格 API)将 Data 的执行、缓存与同步保留在 End-User 编排中。

使用方式:按用户目的路由到对应文档——现有项目结构判断或变更(含目录增删改名重组、文件放置、抽取、导入方向、依赖边界)读 brownfield.md;无既定目录/分层结构的新项目读 greenfield.md;架构文档(如 docs/architecture.md、目录规则、依赖规则、Mermaid 概览)读 writing-docs.md;eslint-plugin-boundaries、ESLint、CI、导入边界等工具化强制读 enforcing-rules.md;主文档后仍无法解决放置或导入方向,或需广泛棕地审计时读 best-practices.md。若请求含多个目的,路由到控制下一步用户可见动作的目的。

适用场景:现有项目结构审计与调整、新项目分层设计、架构文档编写、基于 ESLint 的边界强制。

限制:层名是抽象概念而非必需目录名,除非用户明确选择,否则不要将 End-User、Domain、Shared、Data 直接转为文件夹。Shared 由代码级独立性判定,而非通用名称或缺少领域词。Data 指前端像消费外部拥有代码一样消费的边界,不要求物理外部或他人编写。现有项目中,仅当架构被文档化、用户批准或通过角色/依赖/数据边界一致可识别时才视为有意为之,否则对新代码和变更代码应用基线,而非把重复放置当作权威。项目已有文档化或批准的目录角色时优先使用。具体路由文档内容暂未提供。