Flutter DevOps

Enterprise Flutter DevOps toolkit for CI/CD automation, architecture auditing, dependency analysis, release orchestration, and build optimization.

What this package gives you

flutter_devops is designed to help teams move from manual Flutter release workflows to repeatable, documented, and auditable DevOps flows.

It covers:

  • Environment setup (env create)
  • GitHub Actions generation (github init)
  • Flavor setup guidance (flavor generate)
  • Release automation (release)
  • Version management (version bump)
  • Architecture, dependency, and security audits
  • Git analytics and dashboard output
  • Build and optimization workflows via Makefile-backed commands

Installation

Global install

dart pub global activate flutter_devops

Local development

dart pub get
dart run bin/flutter_devops.dart --help

CLI quick start

flutter_devops --help
flutter_devops env create
flutter_devops github init
flutter_devops flavor generate
flutter_devops architecture audit
flutter_devops deps audit
flutter_devops security audit
flutter_devops version bump patch

Core command reference

Command Purpose
flutter_devops env create Creates .env.local, .env.qa, .env.uat, .env.prod
flutter_devops github init Generates workflow files under .github/workflows
flutter_devops flavor generate Generates flavor setup docs and guidance
`flutter_devops version bump patch minor
flutter_devops architecture audit Produces JSON/HTML architecture audit reports
flutter_devops deps audit Generates dependency audit output
flutter_devops security audit Generates security audit output
flutter_devops git analytics Creates git analytics/dashboard outputs
flutter_devops dashboard generate Produces dashboard summary output
`flutter_devops release qa prod`

1. Initialize project setup

flutter_devops env create
flutter_devops github init
flutter_devops flavor generate

2. Validate before merge

flutter analyze
flutter test
flutter_devops architecture audit
flutter_devops deps audit
flutter_devops security audit

3. Prepare release

flutter_devops version bump patch
flutter_devops release qa
flutter_devops release prod

Makefile build targets

This repo also includes a Makefile that covers many common Flutter release and optimization actions.

General commands

make clean
make get
make upgrade
make doctor
make analyze
make test
make format

Run commands

make local-run
make qa-run
make uat-run
make prod-run

Build commands

make local-apk-release
make qa-apk-release
make uat-apk-release
make prod-apk-release

make local-appbundle
make qa-appbundle
make uat-appbundle
make prod-appbundle

make local-ios-release
make qa-ios-release
make uat-ios-release
make prod-ios-release

Optimization commands

make prod-apk-optimized
make prod-appbundle-optimized
make prod-ios-optimized
make prod-build-optimized
make check-size
make analyze-apk
make optimize-assets

CI/CD expectations

A healthy pipeline should run the following checks for every PR:

  • flutter analyze
  • flutter test
  • flutter_devops architecture audit
  • flutter_devops deps audit
  • flutter_devops security audit

Environment strategy

Use separate environment definitions for each delivery target:

  • LOCAL for development
  • QA for validation and test builds
  • UAT for staging and sign-off
  • PROD for release builds

This package is designed to support that flow with both CLI and Makefile-based automation.

Documentation index

Quality gates

Every pull request should verify:

  • flutter analyze
  • flutter test
  • flutter_devops architecture audit
  • flutter_devops deps audit
  • flutter_devops security audit

Release notes workflow

A practical release flow looks like this:

  1. Bump version
  2. Run build validation
  3. Generate release artifacts
  4. Publish to target environment
  5. Gather metrics and update changelog notes

Troubleshooting tips

  • If a command is not found, run dart pub global activate flutter_devops again.
  • If the CLI help output looks incomplete, verify the executable entrypoint in pubspec.yaml.
  • If build artifacts are missing, run make check-size or inspect the output folders.

Why this setup is useful

This structure helps teams:

  • Standardize setup across environments
  • Reduce manual release errors
  • Improve auditability and reviewability
  • Integrate CI/CD checks into pull requests
  • Give developers a repeatable guide for build and optimization tasks

Libraries

flutter_devops