用途:solid-astro 用于把 SOLID 原则应用到 Astro 项目中,约束代码如何组织,而不是讲解 Astro API 本身的用法。资料明确指出它不负责教授 Astro API(相关内容可参考 astro-7、astro-content、astro-i18n、astro-styling),只负责规范使用这些 API 的代码结构。
主要能力:提供可直接复制的模板,覆盖组件、布局、服务与接口,且这些模板本身已符合该技能的规则。参考文档涵盖 SOLID 原则、文件行数限制、TypeScript 类型组织、目录结构、DRY 执行与 JSDoc 标准。
强制工作流:在开始任何实现之前,要求并行启动 3 个 agent(各一次 Agent 调用并指定名称):fuse-ai-pilot:explore-codebase 用于分析项目结构、命名与既有模式;fuse-ai-pilot:research-expert 通过 Context7/Exa 核验 Astro 7 架构最佳实践;mcp__context7__query-docs 用于查阅 Astro 组件 API 与 TypeScript 集成。实现完成后,运行 fuse-ai-pilot:sniper 进行校验。
代码库分析:实现前需探索 src/ 目录了解现有架构,阅读相似的已有文件以沿用既定命名与模式,在新建函数或组件前用 Grep 检索同名项,并确定接口、工具函数与共享逻辑的位置。
DRY 执行:写任何新代码前,先用 Grep 检索相似逻辑(函数名、类模式、组件名),检查 src/lib/ 中已有的工具函数与 src/components/ 中已有的 UI 组件;若同一逻辑出现在 2 处及以上,就提取到 src/lib/;若同一类型出现在 2 个及以上文件中,就移入 src/interfaces/。
绝对规则:源文件行数必须控制在 FUSE_SOLID_MAX_LINES 以内,并按职责拆分;所有类型放入 src/interfaces/,不得放在组件文件中;所有导出函数必须写 JSDoc;src/pages/ 中不得包含业务逻辑。
禁止事项:源文件超过 FUSE_SOLID_MAX_LINES;在 .astro 组件文件中定义 TypeScript 接口;在 src/pages/ 文件中写业务逻辑;在组件中直接调用 CMS/API(应通过 src/lib/ 服务);复制粘贴逻辑而不提取共享函数;导出的函数、组件与类型缺少 JSDoc;使用 any 类型。
使用方式与限制:FUSE_SOLID_MAX_LINES 的具体数值在资料中暂未提供;该技能依赖 fuse-ai-pilot 系列 agent 与 Context7 文档查询工具,具体安装与配置方式资料中暂未提供。