FAQ
flutter-ai-rules is a Claude Code plugin with 36 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes accessibility, architecture-feature-first, bloc. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Repo: evanca/flutter-ai-rules
Primary method: Copy skill folders from skills/ into your IDE's skills directory (e.g., .cursor/skills/, .windsurf/skills/). The agent will automatically use relevant skills based on your tasks.
For traditional rules: If you want to use .cursor/rules or .windsurfrules, just copy the contents of the rule set of your choice (e.g., combined/flutter_dart__under_6K.md) into your IDE's global or local rules.
For maximum control, you can also copy the /rules folder into your project and reference rules as needed (e.g., "Read @rules/effective_dart.md and follow its conventions."). For tool- and package-specific guidance (Firebase, Bloc, Riverpod, Mockito, etc.), use the matching skill in skills/.
This repository provides a comprehensive, (almost) non-opinionated collection of Flutter-related rules tailored for use with Windsurf, Cursor, and other AI-powered IDEs. These rules are designed to improve your development workflow, ensure consistency, and help you get the most out of your AI coding assistant.
skills/
NEW! Skills are an open standard for extending agent capabilities. A skill is a folder containing a SKILL.md file with instructions that the agent can follow when working on specific tasks. They are essentially what “dynamic rules” used to be — applied automatically when the agent determines they are relevant based on the description.
Copy or symlink any skill folder into .cursor/skills/, .agent/skills/, or another supported location.
rules/
Contains individual rule files covering broad Flutter/Dart foundations (e.g., effective_dart.md, flutter_app_architecture.md, flutter_errors.md, testing.md). Tool- and package-specific guidance (Bloc, Riverpod, Provider, Mockito, Firebase, etc.) now lives in skills/.
These files are:
combined/
Contains pre-made, curated sets of rules that combine commonly used topics (e.g., Flutter + Riverpod + Mockito).
These files:
Install skills interactively with the Skills CLI:
npx skills add evanca/flutter-ai-rules
To inspect the available skills without installing them:
npx skills add evanca/flutter-ai-rules --list
To install a specific skill:
npx skills add evanca/flutter-ai-rules --skill flutter-best-practices
The CLI discovers the packages under skills/ and installs them for supported agents. Alternatively, browse the folder and copy or symlink individual skill folders into your IDE's skills directory (e.g., .cursor/skills/, .windsurf/skills/). The agent will then activate relevant skills contextually based on your tasks.
If you want a quick setup with traditional rules:
combined/ folder.If you prefer more control:
rules/ folder.effective_dart.md, testing.md, etc.).Everything is modular — use what works best for you.
You can fetch the latest skills directly into your project with a single command:
git clone --depth 1 https://github.com/evanca/flutter-ai-rules.git temp_repo && mkdir -p .skills && cp -r temp_repo/skills/* .skills && rm -rf temp_repo
This will copy all skills into a .skills folder in your project. After all skills are in the .skills folder, you can reference them individually based on your needs. For example:
"Read @.skills/bloc/SKILL.md and create test coverage for new methods."
Pro tip:
You can also configure your IDE to automatically load skills from this .skills folder, or reference them in prompts for specific guidance.
All rules are sourced from official documentation — no personal preferences or subjective interpretations. That’s intentional. You’re free to alter them to your taste, but this repo keeps things objective by sticking to the source.
Note: This might sometimes lead to contradictory rules (e.g., if one package suggests one folder architecture and another recommends a different one).
Contributions are welcome! If you'd like to suggest a new rule or improve an existing one, here’s how you can help:
Here are the official sources that have been used to build these rules:
For each tool, the size guidance from its own official documentation for rule / instruction files and for SKILL.md skill files (accessed 2026-07-11).
| Tool | Rule file — recommended size | SKILL.md — recommended size |
|---|---|---|
| Cursor | .mdc rule: under 500 lines (soft) | No numeric limit — "keep focused, move detail to separate files" |
| Windsurf | global_rules.md: 6,000 chars; .windsurf/rules/*.md: 12,000 chars/file (hard) | No numeric limit — "keeps your context window lean" |
| Claude Code | CLAUDE.md: under 200 lines (soft) | Under 500 lines (soft); description 1,536 chars (hard) |
| GitHub Copilot | copilot-instructions.md: ≤ 2 pages (soft, approx.) | Not supported — no repo-level SKILL.md |
| OpenAI Codex | AGENTS.md: no limit stated | Skill bundle: zip ≤ 50 MB, uncompressed file ≤ 25 MB, ≤ 500 files/version (no per-SKILL.md text limit) |
| Google Antigravity | rule file: 12,000 chars each (hard) | No numeric limit stated |
Notes:
SKILL.md length recommendation (under 500 lines). Cursor, Windsurf, and Antigravity just say "keep it focused/lean" with no figure; OpenAI documents skill-bundle limits (50 MB zip / 25 MB per file / 500 files) rather than a text length; and GitHub Copilot has no repo-level SKILL.md — it uses copilot-instructions.md plus path-specific *.instructions.md (no size limit stated for the latter).CLAUDE.md in full regardless of length, but notes files over 200 lines "consume more context and reduce adherence"; its auto-memory MEMORY.md loads only the "first 200 lines or 25KB, whichever comes first."docs.windsurf.com → docs.devin.ai) and reference .windsurf/rules and .windsurf/skills.combined/ sets under 6,000 characters to satisfy the strictest hard limit above (Windsurf global_rules.md).Official sources: Cursor — rules · skills | Windsurf — rules & skills | Claude Code — memory · skills | GitHub Copilot — instructions | OpenAI Codex — AGENTS.md · skills | Google Antigravity — rules · skills
.gitignore
AGENTS.md
combined/
.char_count
flutter_dart__under_6K.md
flutter_dart_bloc_mocktail__under_6K.md
flutter_dart_bloc_mocktail.md
flutter_dart_change_notifier__under_6K.md
flutter_dart_change_notifier.md
flutter_dart_provider__under_6K.md
flutter_dart_provider.md
flutter_dart_riverpod_mockito__under_6K.md
flutter_dart_riverpod_mockito.md
flutter_dart.md
flutter_with_bloc__under_6K.md
flutter_with_bloc.md
flutter_with_riverpod__under_6K.md
flutter_with_riverpod.md
LICENSE
media/
flutter_ai_rules.png
mocktail_md_01.png
mocktail_md_02.png
README.md
rules/
.char_count
code_review.md
dart_3_updates.md
effective_dart.md
flutter_app_architecture.md
flutter_errors.md
testing.md
scripts/
sync_global_rules.sh
skills/
accessibility/
references/
cognitive-accessibility.md
motion-and-sensory.md
SKILL.md
architecture-feature-first/
SKILL.md
bloc/
SKILL.md
code-review/
references/
github-posting.md
gitlab-posting.md
scripts/
protect-token.sh
SKILL.md
dart-3-updates/
SKILL.md
developing-genkit-dart/
agents/
openai.yaml
references/
genkit_anthropic.md
genkit_chrome.md
genkit_firebase_ai.md
genkit_google_genai.md
genkit_mcp.md
genkit_middleware.md
genkit_openai.md
genkit_shelf.md
genkit.md
schemantic.md
SKILL.md
effective-dart/
SKILL.md
firebase-ai/
SKILL.md
firebase-analytics/
SKILL.md
firebase-app-check/
SKILL.md
firebase-auth/
SKILL.md
firebase-cloud-firestore/
SKILL.md
firebase-cloud-functions/
SKILL.md
firebase-crashlytics/
SKILL.md
firebase-data-connect/
SKILL.md
firebase-database/
SKILL.md
firebase-in-app-messaging/
SKILL.md
firebase-messaging/
SKILL.md
firebase-remote-config/
SKILL.md
firebase-storage/
SKILL.md
flutter-app-architecture/
SKILL.md
flutter-best-practices/
references/
architecture-layers.md
dart-coding-practices.md
enterprise-scale.md
feature-structure.md
localization-package-boundaries.md
SKILL.md
flutter-change-notifier/
SKILL.md
flutter-errors/
SKILL.md
flutter-pre-caching/
SKILL.md
flutter-use-column-row-first/
agents/
openai.yaml
assets/
flutter-nested-row-column-diagram_by_docs.flutter.dev.png
flutter-row-column-pavlova-layout_by_docs.flutter.dev.png
SKILL.md
flutterfire-configure/
SKILL.md
inclusive-design/
references/
cognitive-load-and-wellbeing.md
digital-and-economic-inclusion.md
frameworks.md
language-and-culture.md
SKILL.md
mockito/
SKILL.md
mocktail/
SKILL.md
patrol-e2e-testing/
SKILL.md
provider/
SKILL.md
README.md
revenuecat-testing/
references/
use_cases.md
SKILL.md
riverpod/
SKILL.md
store-listing-assets/
references/
mobile_listing_checklist.md
spec_reference.md
SKILL.md
testing/
SKILL.md© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic