flutter-plugins
Scaffolds Flutter plugins with native interop, method channels, FFI integration, and federated architectures.
- Generates standard plugins, FFI plugins, or federated multi-package architectures based on native code requirements and team structure
- Configures Android v2 embedding lifecycle interfaces, platform-specific native environments (Kotlin/Java, Swift/Objective-C), and method channel registration
- Implements package-separated federated plugins with app-facing and platform-specific implementation packages for decoupled multi-team development
- Includes decision tree logic to determine plugin type: FFI-only, method channels, combined FFI+channels, or federated setup
flutter-plugin-generator
Goal
Scaffolds and configures Flutter plugin packages, handling standard method channels, FFI integrations, and federated plugin architectures. It configures platform-specific native code environments, implements Android v2 embedding lifecycle interfaces, and establishes platform interface packages.
Decision Logic
Use the following decision tree to determine the plugin architecture and template:
- Does the plugin require C/C++ native code via
dart:ffi?- Yes: Use
--template=plugin_ffi.- Note: FFI plugins support bundling native code and method channel registration, but not method channels themselves.
- No: Proceed to step 2.
- Yes: Use
- Does the plugin require BOTH
dart:ffiand Method Channels?- Yes: Use
--template=plugin(Non-FFI). You must configure FFI manually within the standard plugin structure. - No: Proceed to step 3.
- Yes: Use
- Will the plugin be developed by multiple teams or require highly decoupled platform implementations?
- Yes: Implement a Package-Separated Federated Plugin (App-facing package, Platform Interface package, Platform Implementation packages).
- No: Implement a standard monolithic plugin.
More from flutter/skills
flutter-building-layouts
Builds Flutter layouts using the constraint system and layout widgets. Use when creating or refining the UI structure of a Flutter application.
10.6Kflutter-architecting-apps
Architects a Flutter application using the recommended layered approach (UI, Logic, Data). Use when structuring a new project or refactoring for scalability.
10.4Kflutter-animating-apps
Implements animated effects, transitions, and motion in a Flutter app. Use when adding visual feedback, shared element transitions, or physics-based animations.
9.6Kflutter-managing-state
Manages application and ephemeral state in a Flutter app. Use when sharing data between widgets or handling complex UI state transitions.
9.6Kflutter-theming-apps
Customizes the visual appearance of a Flutter app using the theming system. Use when defining global styles, colors, or typography for an application.
9.5Kflutter-implementing-navigation-and-routing
Handles routing, navigation, and deep linking in a Flutter application. Use when moving between screens or setting up URL-based navigation.
9.3K