用途:在编写或重构 Rust 代码、组织 src/modules/[feature]/ 分层结构或定义 traits.rs 接口时使用,遵循 SOLID 原则与模块化架构。
主要能力:提供 SOLID 各原则参考文档(solid-principles.md 及 SRP/OCP/LSP/ISP/DIP 分册)、架构模式说明,以及 module/service/trait/handler/error/test 模板脚手架。
使用方式:实现前须并行启动 3 个 agent(fuse-ai-pilot:explore-codebase 分析现有架构、fuse-ai-pilot:research-expert 通过 Context7 核对 Rust 文档、fuse-ai-pilot:sniper 实现后验证)。写任何新代码前须做 DRY 检查:在代码库中搜索相似 trait、service 或逻辑,检查 src/core/services/ 与 src/core/traits/;若已存在相似代码则扩展复用,若将被 2 个以上功能使用则放入 src/core/。
架构分层:Handlers 位于 src/modules/[feature]/handlers.rs,Services 位于 services.rs,Repositories 位于 repository.rs,Traits 位于 traits.rs,Models 位于 models.rs,共享代码位于 src/core/{services,traits,models}/。禁止使用扁平 src/ 结构。
关键规则:文件行数上限由 FUSE_SOLID_MAX_LINES 控制;handler 保持轻薄并委托给 service;trait 只能放在 traits.rs 或 src/core/traits/;每个公开项须有 /// Rustdoc;自定义错误使用 thiserror;泛型使用 trait bounds 而非具体类型。
禁止事项:文件超过行数上限应按职责拆分;trait 不得写在 impl 文件中;避免 Box<dyn Any>,改用 trait bounds;禁止扁平 src/ 结构;库代码中不得使用 unwrap,应返回 Result<T, E>。
限制:资料未提供具体安装命令、收费信息、支持平台或实际效果说明。