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指导,在需要时精确出现——无需手动配置,无上下文膨胀,无自创约定。插件保持更新;手动复制适用于其他所有地方;旧版规则文件服务于不支持技能的工具。

相关

  • 项目
  • 项目
  • 项目
  • 项目