evanca/flutter-ai-rules
Flutter AI Skills and Rules for Claude, Codex, Cursor, and Other AI-Powered IDEs
evanca/flutter-ai-rules 是一个包含 36个小型指导文件(“技能”) 的集合,AI编码工具——如Claude Code、Codex、Cursor、Antigravity等——在检测到匹配任务时会自动加载这些文件。内容仅来自官方文档:Flutter、Dart、Firebase以及各包的官方文档。不包含个人观点或自创约定。
什么是“技能”
技能是一个包含 SKILL.md 文件的文件夹。AI代理读取简短描述,判断任务是否匹配,然后自动拉取完整指导。例如:触碰认证代码时加载Firebase Auth指导;触碰Riverpod provider时加载Riverpod指导。你无需将规则粘贴到配置中,也无需输入 @ 提及。
快速开始
npx skills add evanca/flutter-ai-rules
这将安装所有内容。需要 Node 22.20+(旧版本会立即失败)。适用于任何Node版本(或无Node)的替代方案:
- 仅浏览或安装一个技能:
npx skills add evanca/flutter-ai-rules --list/--skill flutter-best-practices - 作为插件安装到Claude Code、Codex、Cursor或Antigravity——保持集合原地更新(完整命令见README)
- 手动复制:将技能文件夹复制或符号链接到
.claude/skills/、.cursor/skills/、.codex/skills/、.agents/skills/或.windsurf/skills/——或使用git clone一行命令将整个集合引入项目 - 显式引用技能:“读取
@.skills/bloc/SKILL.md并创建测试覆盖。”
Windsurf/Devin没有插件清单(手动复制是路径)。GitHub Copilot完全不读取 SKILL.md——请使用旧版规则文件(见下文)。
内容包含什么
36个技能分组如下:
| 类别 | 示例 | 触发条件 |
|---|---|---|
| Flutter/Dart基础(8个) | 最佳实践、高效Dart、Dart 3更新、应用架构、错误处理、Row/Column布局、预缓存 | 编写/审查Flutter代码、搭建项目、布局错误 |
| 状态管理(4个) | Bloc、Riverpod、Provider、ChangeNotifier | 设置providers、连接状态、优化重建 |
| 测试与审查(5个) | 测试、Mockito、Mocktail、Patrol E2E、代码审查 | 单元/组件/黄金测试、模拟、PR审查 |
| Firebase(15个) | Auth、Firestore、Storage、Analytics、Crashlytics、Messaging、Remote Config、Cloud Functions、App Check、Data Connect、AI功能 | 任何Firebase任务——认证状态、模式、上传、事件、功能标志等 |
| 发布与产品(4个) | 无障碍、包容性设计、RevenueCat测试、Dart Genkit代理 | a11y、i18n、购买测试、Dart中的AI代理 |
旧版选项:规则与组合包
在技能出现之前,仓库提供了两种旧格式。两者仍然有效并得到维护,但推荐使用技能,因为它们只在相关时加载,而不是在每次请求时消耗上下文。仅当你的工具不支持技能或需要单个静态文件时,才使用旧版路径:
rules/— 六个广泛的基础文件(高效Dart、应用架构、错误、Dart 3更新、测试、代码审查)。在提示中按名称引用。包特定指导(Bloc、Riverpod、Firebase、Mockito等)现在仅限技能。combined/— 七个主题包,每个都有完整版和小于6,000字符的变体(以适应Windsurf的硬限制)。将其中一个粘贴到你的规则配置中。- GitHub Copilot — 将组合包复制到
.github/copilot-instructions.md,或将规则文件复制到.github/instructions/并带有仅Dart的前置元数据,或将包粘贴到根目录的AGENTS.md(同时适用于Copilot、Codex和Antigravity)。
各工具的大小建议
README中包含一个每个工具自身文档化的大小建议表格(访问于2026-07-11)。要点:
- Claude Code —
CLAUDE.md少于200行(软);SKILL.md少于500行(软);描述1,536字符(硬) - Cursor — 规则少于500行(软);无SKILL.md数字限制
- OpenAI Codex — 无规则限制;技能包限制为50 MB zip / 25 MB每文件 / 500文件
- Antigravity — 每个规则文件12,000字符(硬);未声明SKILL.md限制
- Windsurf — 全局规则6,000字符;每文件12,000字符(均硬);无SKILL.md限制
- GitHub Copilot — 指令少于约2页(软);无仓库级SKILL.md支持
此仓库保持其组合包少于6,000字符,以满足最严格的限制(Windsurf的)。“硬”表示强制执行/截断;“软”是质量建议。
设计理念:无观点
- 一切追溯到官方文档 — 每个来源都提供链接。
- 技能可能相互矛盾,因为其来源如此(例如,两个包推荐不同的文件夹布局)。两者都会显示。
- 内容按计划从上游重新获取,因此技能会跟踪官方指导的变化。
- 你可以自由更改任何内容以适应你的偏好——仓库本身保持客观。
贡献与许可
- Fork,添加/修改技能(在
skills/中)或规则(在rules/中),打开PR。 - 一个硬性要求:为添加或更改的任何内容包含官方文档链接。如果来源不在
ATTRIBUTION.md中,请将其及其许可证添加到那里;如果许可证不宽松,请重述指导而不是引用。 - 许可证:仓库自身内容(主题选择、触发描述、措辞/结构)为MIT。底层文档保留其自身条款——Flutter/Dart/Firebase大多为CC BY 4.0,代码示例为BSD-3或Apache 2.0,包README为MIT/Apache 2.0,以及一些来源(Apple、Google Play、RevenueCat)未开放许可,因此作为事实重述而非复制。重新分发需要根据CC BY署名保留来源链接。完整映射见
ATTRIBUTION.md。
结论
一次安装即可为你的AI编码代理提供上下文相关的、基于文档的Flutter/Dart/Firebase指导,在需要时精确出现——无需手动配置,无上下文膨胀,无自创约定。插件保持更新;手动复制适用于其他所有地方;旧版规则文件服务于不支持技能的工具。
相关
- 项目
- 项目
- 项目
- 项目