solid-swift 是一个面向 Swift 6 与 SwiftUI 项目的代码规范与架构技能,重点是把 SOLID 原则落实到实际文件组织、类型设计和并发写法中。
用途 用于在编写或重构 Swift 6/SwiftUI 代码时,按固定规范处理文件大小与职责划分、协议分离、可观察对象、actor 并发和功能模块化架构。
主要能力
- 覆盖五项 SOLID 原则,并提供对应参考文档:solid-principles.md(总览)、single-responsibility.md(单一职责)、open-closed.md(开闭)、liskov-substitution.md(里氏替换)、interface-segregation.md(接口隔离)、dependency-inversion.md(依赖倒置)。
- 并发模式参考 concurrency-patterns.md,涉及 actor、@MainActor、Sendable。
- 反模式清单 anti-patterns.md,用于识别代码坏味道。
- 代码模板:view.md(带子视图和 #Preview 的 SwiftUI View)、viewmodel.md(@MainActor @Observable 视图模型)、service.md(API 服务、Mock、Cache actor)、protocol.md(服务协议、CQRS、Auth)、model.md(模型、DTO、错误、枚举)。
- 规定了强制规则:文件只设 hook 上限 FUSE_SOLID_MAX_LINES,一个文件一个职责;视图模型使用 @MainActor @Observable;协议只放在 Features/[Feature]/Protocols/ 或 Core/Protocols/;模型为 Sendable struct;所有公开 API 写 /// 文档;每个 View 必须有 #Preview。
- 规定了目录结构:Views、ViewModels、Services、Protocols 分别位于 Features/[Feature]/ 下,共享内容放在 Core/{Models,Protocols,Services,Extensions,Utilities}/,禁止扁平 Sources/ 结构。
使用方式 资料给出了该技能的工作流要求:在实现之前并行启动三个代理,分别为 fuse-ai-pilot:explore-codebase(分析现有架构)、fuse-ai-pilot:research-expert(通过 Apple Docs MCP + Context7 核对 Swift/Apple 文档)、XcodeBuildMCP(代码变更后做构建校验),然后运行 fuse-ai-pilot:sniper。写新代码前必须先在代码库中检索相似协议、服务和逻辑,检查 Core/Extensions/、Core/Utilities/、Core/Protocols/ 等共享位置;已有相似代码则扩展复用,若代码会被 2 个以上功能使用则直接放入 Core/。
适用场景 适用于 Swift 6 与 SwiftUI 项目的架构设计、代码评审、重构和模块拆分,尤其是需要控制文件职责、统一并发写法、避免重复逻辑和扁平目录结构的团队。
限制 资料只给出原则、规则、模板与工作流要求,未提供服务地址、安装命令、收费方式、平台兼容范围或实际效果说明,这些内容暂未提供。规则中的 hook 上限由环境变量 FUSE_SOLID_MAX_LINES 决定,具体数值资料未给出;若合法修改无法满足限制,要求上报而不是绕过 hook。