flutter_skill_lints 0.1.0 copy "flutter_skill_lints: ^0.1.0" to clipboard
flutter_skill_lints: ^0.1.0 copied to clipboard

Analyzer plugin companion for the building-flutter-apps skill's Dart and Flutter guardrails.

flutter_skill_lints #

flutter_skill_lints is the companion analyzer plugin for the building-flutter-apps skill. It is a new project inspired by many_lints and exposes Flutter skill diagnostics through one public plugin.

Install the skill for agent guidance:

npx skills add https://github.com/sgaabdu4/building-flutter-apps --skill building-flutter-apps

Install #

Add the analyzer plugin to the top-level plugins section in analysis_options.yaml:

plugins:
  flutter_skill_lints:
    version: ^0.1.0
  riverpod_lint: 3.1.4-dev.3

Analyzer plugins are not added to pubspec.yaml. After changing the plugins section, restart the Dart Analysis Server so IDE diagnostics pick up the new plugin configuration.

Rule Surface #

The plugin registers:

  • 79 additional Dart/Flutter warning rules, 61 fixes, and 1 assist.
  • 16 Flutter skill rules, including project config and scanner compatibility rules.

Additional rule diagnostic IDs are preserved for compatibility with existing analysis_options.yaml files. Off-profile BLoC/Cubit, Equatable, destructuring, constant-switch, and style-preference rules are not shipped in the default package surface, so app repos do not need a diagnostics override block for the Flutter skill profile.

Flutter Skill Rules #

Rule What it catches
use_ref_mounted_after_await ref or state use after await in Notifier methods without if (!ref.mounted) return;
use_context_mounted_after_await context use after await without if (!context.mounted) return;
avoid_legacy_riverpod_apis Legacy Riverpod provider/ref APIs instead of codegen/unified Ref
avoid_dynamic_except_json_maps dynamic outside Map<String, dynamic> JSON boundaries
avoid_null_bang Null assertion expressions
avoid_widget_build_helpers Private _buildXxx() widget helper methods
avoid_shrink_wrap shrinkWrap: true
guard_context_pop context.pop() without a nearby context.canPop() guard
use_ref_invalidate Ignored ref.refresh(...) return values
use_sealed_freezed_classes @freezed abstract class declarations
avoid_route_param_throw_in_build firstWhere(... orElse: () => throw ...) inside widget build()
avoid_showcase_key_filtering startShowCase() calls that filter keys by currentContext
avoid_silent_repository_null_return Mutation methods that return early when a repo field is null
avoid_sync_notifier_state_read Sync Notifier.build() state reads or immediate loading/listening work
flutter_skill_project_config Stale Flutter skill analyzer config and build.yaml JSON settings
flutter_skill_scanner_compat Migrated Dart-source scanner checks with analyzer diagnostic IDs

Version Line #

This release supports the analyzer 12 line so it can co-resolve with riverpod_lint: 3.1.4-dev.3. Current verified resolution is analysis_server_plugin 0.3.14, analyzer 12.1.0, and analyzer_plugin 0.14.8. Recheck riverpod_lint, analysis_server_plugin, analyzer, and analyzer_plugin before publishing.

Attribution #

Inspired by many_lints. See THIRD_PARTY_NOTICES.md for license notices.

0
likes
0
points
663
downloads

Publisher

verified publisherafenso.com

Weekly Downloads

Analyzer plugin companion for the building-flutter-apps skill's Dart and Flutter guardrails.

Repository (GitHub)
View/report issues

Topics

#analyzer #lint #flutter #riverpod #static-analysis

License

unknown (license)

Dependencies

analysis_server_plugin, analyzer, analyzer_plugin, meta

More

Packages that depend on flutter_skill_lints