Developed with π by Very Good Ventures π¦
A Very Good Flutter Plugin created by the Very Good Ventures Team.
β In order to start using Very Good Flutter Plugin you must have the Flutter SDK installed on your machine.
The src
directory contains the main my_plugin
package along with the platform interface and the platform-specific implementations.
You can run the example via:
cd src/my_plugin/example
flutter run
The plugin supports the following platforms:
- β Android
- β iOS
- β Linux
- β MacOS
- β Web
- β Windows
This repository powers the flutter_plugin
template exposed via Very Good CLI.
If you have not previously installed Very Good CLI, you can install it via:
dart pub global activate very_good_cli
A custom plugin can be generated via the create
command:
very_good create my_plugin -t flutter_plugin
A custom description and org name can be also be provided via:
very_good create my_plugin -t flutter_plugin --desc "My custom description" --org-name com.example.my_plugin
By default, the generated plugin supports all platforms specified above. To disable support for specific platforms use the platform flags:
# Exclude Windows and Linux support
very_good create my_plugin -t flutter_plugin --windows false --linux false
Very Good Flutter Plugin ships with 100% code coverage. To learn more about why we believe 100% code coverage is important and other testing best practices read our guide to Flutter testing.
Each platform implementation includes tests which can be run via:
flutter test
Very Good Flutter Plugin comes with a built-in GitHub Actions workflow but you can also add your preferred CI/CD solution.
Out of the box, on each pull request and push, the CI formats
, lints
, and tests
the code using Very Good Workflows. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses Very Good Analysis for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Coverage GitHub Action][very_good_coverage_link].
In addition, there are E2E tests as part of the my_plugin
workflow to ensure that the plugin correctly integrates with the host application on each platform.