* Add proactive Flutter hot reload rule
https://github.com/dart-lang/ai/issues/498
Adds proactive Flutter hot reload rules (rules/flutter-hot-reload.md and
rules/flutter-hot-reload.mdc) to automatically trigger hot reload or hot
restart when Dart and Flutter files are modified during agent sessions.
Problem:
During AI-driven development workflows:
- Out-of-Sync Execution: Agents modify source code on disk but do not
update the active running session, leaving the simulator/device screen
stale.
- Context Switching Friction: Users must leave the chat interface to
manually initiate a reload ('r'/'R') in the terminal or IDE.
Solution:
- Adds a glob-triggered rule on `**/*.dart` that instructs agents to
discover running apps via DTD and execute hot reload (for widget/UI
changes) or hot restart (for fundamental logic/state initialization).
- Defines skip criteria for test files and comment/doc-only edits.
* Address PR feedback: refine hot restart triggers and fix .mdc frontmatter
- Remove unsupported `trigger: glob` key from `flutter-hot-reload.mdc`.
- Refine reload vs. restart rules to allow hot reload on stateful widget build methods and restrict hot restart to state initialization, global state, and root lifecycle changes.
* Address PR feedback: limit reload rule to lib/ and clarify Dart MCP tools
- Update glob pattern to "lib/**/*.dart" and refine skip criteria to only
trigger hot reload/restart for edits under lib/, ignoring edits in
test/, integration_test/, benchmark/, test_driver/, example/, etc.
- Explicitly state that dtd, hot_reload, and hot_restart are tools provided
by the Dart MCP server.
* Update reload rule glob to match nested package lib directories
Part of https://github.com/dart-lang/ai/issues/498
It is not clear to me exactly which all agents support rules, but AGY does, and this rule has only been tested in AGY. Cursor supports it but seems to want a slightly different format, (`.mdc`).
Should we create separate directories for some of the other agents? I think cursor does support pointing to any directory for the rules in its plugin configuration.