mcpField
F
flutter-dev

flutter-dev

github.com/minimax-aiDevelopment13.7k2.0k installsUpdated 28w ago
Repository

About flutter-dev

flutter-dev is a practical guide for developers building cross-platform applications with Flutter 3 and Dart. It covers state management, layout, navigation, performance, and testing through patterns and checklists.

Key features

  1. 01Riverpod and Bloc state management patterns
  2. 02GoRouter navigation and deep links
  3. 03Responsive layouts and widget patterns
  4. 04Performance profiling and optimization guidance
  5. 05Unit, widget, and integration testing guidance

Use cases

  1. 01Choose a state management approach for a Flutter project
  2. 02Build interfaces for different screen sizes
  3. 03Investigate rebuilds and frame-time issues
  4. 04Plan application test coverage

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/minimax-ai/skills --skill flutter-dev

After installing, type/flutter-devin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
animations.md
bloc-state.md
forms.md
gorouter-navigation.md
localization.md
networking.md
performance.md
platform-specific.md
project-structure.md
riverpod-state.md
testing.md
widget-patterns.md

Details

From the project README

Flutter Development Guide

A practical guide for building cross-platform applications with Flutter 3 and Dart. Focuses on proven patterns, state management, and performance optimization.

Quick Reference

Widget Patterns
PurposeComponent
State management (simple)StateProvider + ConsumerWidget
State management (complex)NotifierProvider / Bloc
Async dataFutureProvider / AsyncNotifierProvider
Real-time streamsStreamProvider
NavigationGoRouter + context.go/push
Responsive layoutLayoutBuilder + breakpoints
List displayListView.builder
Complex scrollingCustomScrollView + Slivers
HooksHookWidget + useState/useEffect
FormsForm + TextFormField + validation
Performance Patterns
PurposeSolution
Prevent rebuildsconst constructors
Selective updatesref.watch(provider.select(...))
Isolate repaintsRepaintBoundary
Lazy listsListView.builder
Heavy computationcompute() isolate
Image cachingcached_network_image

Core Principles

Widget Optimization
  • Use const constructors wherever possible
  • Extract static widgets to separate const classes
  • Use Key for list items (ValueKey, ObjectKey)
  • Prefer ConsumerWidget over StatefulWidget for state
State Management
  • Riverpod for dependency injection and simple state
  • Bloc/Cubit for event-driven workflows and complex logic
  • Never mutate state directly (create new instances)
  • Use select() to minimize rebuilds
Layout
  • 8pt spacing increments (8, 16, 24, 32, 48)
  • Responsive breakpoints: mobile (<650), tablet (650-1100), desktop (>1100)
  • Support all screen sizes with flexible layouts
  • Follow Material 3 / Cupertino design guidelines
Performance
  • Profile with DevTools before optimizing
  • Target <16ms frame time for 60fps
  • Use RepaintBoundary for complex animations
  • Offload heavy work with compute()

Checklist

Widget Best Practices
  • const constructors on all static widgets
  • Proper Key on list items
  • ConsumerWidget for state-dependent widgets
  • No widget building inside build() method
  • Extract reusable widgets to separate files
State Management
  • Immutable state objects
  • select() for granular rebuilds
  • Proper provider scoping
  • Dispose controllers and subscriptions
  • Handle loading/error states
Navigation
  • GoRouter with typed routes
  • Auth guards via redirect
  • Deep linking support
  • State preservation across routes
Performance
  • Profile mode testing (flutter run --profile)
  • <16ms frame rendering time
  • No unnecessary rebuilds (DevTools check)
  • Images cached and resized
  • Heavy computation in isolates
Testing
  • Widget tests for UI components
  • Unit tests for business logic
  • Integration tests for user flows
  • Bloc tests with blocTest()

References

TopicReference
Widget patterns, const optimization, responsive layoutWidget Patterns
Riverpod providers, notifiers, async stateRiverpod State Management
Bloc, Cubit, event-driven stateBloc State Management
GoRouter setup, routes, deep linkingGoRouter Navigation
Feature-based structure, dependenciesProject Structure
Profiling, const optimization, DevToolsPerformance Optimization
Widget tests, integration tests, mockingTesting Strategies
iOS/Android/Web specific implementationsPlatform Integration
Implicit/explicit animations, Hero, transitionsAnimations
Dio, interceptors, error handling, cachingNetworking
Form validation, FormField, input formattersForms
i18n, flutter_localizations, intlLocalization

Flutter, Dart, Material Design, and Cupertino are trademarks of Google LLC and Apple Inc. respectively. Riverpod, Bloc, and GoRouter are open-source packages by their respective maintainers.

Comments

Markdown supported