Flutter Package Updater
This skill specializes in updating Flutter/Dart packages, adhering to the standard philosophy in project-updater/SKILL.md.
Language Standards
- Workspaces: Adopt Dart/Flutter workspaces (requires SDK ^3.5.0) for multi-package projects.
- Migration from Melos: If migrating from Melos:
- Add
workspaceandresolution: workspacetopubspec.yaml. - Create a
Makefilethat replicates all Melos scripts. - Remove
melos.yamlandmelosfrom dev_dependencies.
- Add
- Migration from Melos: If migrating from Melos:
- Linting: Prefer
package:very_good_analysisfor the strictest modern linting rules. - Formatting: Always use
dart format. - Pub.dev Standards: Ensure
CHANGELOG.mdis updated andpublish_tois commented out (to prevent accidental local publishing while still signaling intent).
Standard Makefile (Flutter)
A Makefile for a Flutter project should implement the standard targets:
all:format analyze testformat:dart format .analyze:dart analyzetest:dart test(orflutter test)test-ci:dart test --reporter=compactfix:dart fix --applyupgrade:dart pub upgrade --major-versions --tighten
GitHub Actions (Flutter)
The test.yml for Flutter should:
- Use
subosito/flutter-action@v2. - Cache the
.pub-cache. - Run
make test-ci.
Also ensure .github/dependabot.yml is present to keep dependencies updated, including the standard cooldown settings:
cooldown:
default-days: 7 # The baseline safety net
semver-major-days: 30 # Wait for the community to find breaking changes
semver-minor-days: 14 # Balance between new features and stability
semver-patch-days: 3 # Short wait to ensure a patch isn't immediately yanked
Dependency Management
- Use
dart pub outdatedto identify major version upgrades. - Tighten SDK constraints to the latest stable release.
Source: bramp/updater — distributed by TomeVault.