/very_good_flutter_plugin

A Very Good Flutter Federated Plugin created by the Very Good Ventures Team πŸ¦„

Primary LanguageDartMIT LicenseMIT

Very Good Flutter Plugin

πŸšΆβ€β™‚οΈ Repository has moved

The Very Good Flutter Plugin template is now developed within the Very Good Templates repository, and can be found at very_good_templates/very_good_flutter_plugin.

Please file new issues on Very Good Templates.


Very Good Ventures Very Good Ventures

Developed with πŸ’™ by Very Good Ventures πŸ¦„

coverage style: very good analysis License: MIT

A Very Good Flutter Plugin created by the Very Good Ventures Team.


Getting Started πŸš€

❗ In order to start using Very Good Flutter Plugin you must have the Flutter SDK installed on your machine.

Running the Example βš™οΈ

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

Generating a Custom Plugin πŸ“¦

The Very Good Flutter Plugin template is available through an independent mason brick or via the Very Good CLI.

If you have not previously installed Very Good CLI, you can install it via:

Very Good CLI usage

Very Good CLI usage docs are available here.

Using the brick directly

  1. Install mason

    dart pub global activate mason_cli

  2. Add the brick

    mason add -g very_good_flutter_plugin

  3. Make a new Very Good Flutter Plugin

    mason make very_good_flutter_plugin

Testing πŸ§ͺ

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.

Running Tests πŸ§‘β€πŸ”¬

Each platform implementation includes tests which can be run via:

flutter test

Continuous Integration πŸ€–

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.