@AGENTS.md
Everything tool-neutral lives in AGENTS.md (imported above). Keep it that way: only add
things here that are specific to Claude Code, and put any new project rule in AGENTS.md
so other agents and human contributors pick it up too.
- Use the plain
flutter/dartcommands inAGENTS.md. They are what CI runs and what a contributor will have. If this checkout happens to carry a local fvm pin (.fvmrcis gitignored, so it may or may not) prefix withfvm. Do not add one, and do not tell anyone they need fvm to work on this repo. - Never run
dart format ., onlydart formaton the files you changed. The repo is still in the pre-3.7 short style under a tall style formatter, so a repo-wide format produces hundreds of lines of churn you did not intend.AGENTS.mdexplains why. If you catch yourself about to commit a reformat, stop. flutter runforcached_network_image/example/is long-running — ask before starting it and don't leave it running in the background. Anything that runspub getor a build in the example rewrites tracked plugin registrant files, so checkgit statusbefore staging.- There are three packages, so
cdinto the right one first. A bareflutter testat the repo root does nothing useful.
- Prefer the file tools (Read / Edit / Grep / Glob) over
cat/sed/grepin Bash for reading and editing repo files. - The tree is small enough that a targeted
Grepacross the threelib/directories usually beats a search subagent. UseExploreonly for genuinely wide questions. - After changing anything in
cached_network_image_platform_interface/lib/, grep both implementations before calling it done. The platform interface analyzes clean on its own while the other two packages are broken. - Run
/code-reviewon the diff before handing work over, and/security-reviewwhen a change touches remote fetching or caller-supplied headers:cached_network_image/lib/src/image_provider/_image_loader.dartandcached_network_image_web/lib/, theHttpGetrender path in particular.
-
Follow the PR workflow in
AGENTS.md, and check the user's access before the first push (gh api repos/Baseflow/flutter_cached_network_image --jq .permissions.admin). For a repository admin, push branches straight toBaseflow/flutter_cached_network_imageand open the PR from there. Do not use or create a fork. For anyone else, push to their fork and never to aBaseflowbranch. Never push tomain. Targetmain. -
Before opening a PR, confirm it touches exactly one package (or, for an
ImageLoadersignature change, the interface plus both implementations it mirrors) and that you bumped that package'spubspec.yamlversion and added itsCHANGELOG.mdentry. -
End commit messages with:
Co-Authored-By: Claude <noreply@anthropic.com> -
End PR descriptions with:
🤖 Generated with [Claude Code](https://claude.com/claude-code)