flutter_devops_kit 0.1.4 copy "flutter_devops_kit: ^0.1.4" to clipboard
flutter_devops_kit: ^0.1.4 copied to clipboard

FKIT (Flutter DevOps Kit) is a CLI toolkit for Flutter build automation, code generation, Firebase distribution, reusable modules, and project workflows.

Flutter DevOps Kit (FKIT) #

Pub Version Pub Likes Pub Points License: MIT

FKIT is a command-line toolkit for Flutter project setup, feature scaffolding, module installation, localization, flavors, builds, signing, Firebase App Distribution, and day-to-day maintenance.

The current production-ready architecture template is bloc_clean. Riverpod, MVVM, Provider, and GetX templates are planned.

Installation #

Install FKIT globally:

dart pub global activate flutter_devops_kit

Make sure Dart global executables are on your PATH.

macOS/Linux:

export PATH="$PATH:$HOME/.pub-cache/bin"

Windows:

%LOCALAPPDATA%\Pub\Cache\bin

Verify:

fkit help
fkit doctor

Update:

dart pub global activate flutter_devops_kit

Uninstall:

dart pub global deactivate flutter_devops_kit

Requirements #

  • Flutter SDK
  • Dart SDK
  • Git
  • Firebase CLI, only for Firebase App Distribution workflows
  • Java/Android tooling, only for Android builds/signing
  • Xcode/CocoaPods, only for iOS builds

Run fkit doctor to check the local environment.

Quick Start #

Run these commands inside a Flutter project root:

fkit init
fkit setup --yes
fkit feat profile --no-build-runner
fkit make screen profile Profile --no-build-runner
fkit generate
fkit run development

fkit init creates fkit.yaml. fkit setup applies the selected template, adds declared dependencies, installs setup modules, generates bootstrap files, generates localization files when enabled, and runs required generation steps.

Configuration #

Minimal fkit.yaml:

fkit:
  version: 0.1.1

project_name: my_app

tooling:
  use_fvm: false

platforms:
  android: true
  ios: true
  web: false

generator:
  feature_dir: lib/features
  default_template: bloc_clean

entry:
  main: lib/main.dart

flavoring:
  enabled: false
  default: main

flavors:
  - main

environment:
  enabled: false
  configurations: {}

firebase:
  enabled: false
  tester_group: internal-testers
  configurations: {}

localization:
  enabled: false
  arb_dir: lib/l10n
  template: app_en.arb
  output_dir: lib/gen/l10n
  output_file: app_localizations.dart
  default_locale: en
  locales:
    - en

A larger documented sample is available in example/fkit.yaml. A minimal Flutter fixture for setup testing is available in example/flutter_app.

Core Commands #

Command Purpose
fkit help [command] Show command help
fkit doctor Check local tooling
fkit init Create fkit.yaml interactively
fkit setup [--yes|--force] Apply the selected template setup
fkit config [section] Print the loaded FKIT configuration
fkit validate Validate project configuration
fkit get Run flutter pub get
fkit generate Run build runner
fkit watch Run build runner in watch mode
fkit analyze Run Dart analysis
fkit format Format Dart files
fkit fix Apply Dart fixes
fkit feat <feature> [--yes|--force] [--no-build-runner] Generate a feature
fkit make <component> <feature> [name] [--yes|--force] [--no-build-runner] Generate a component
fkit install <module> [--yes|--force] Install a template module
fkit l10n <setup|generate|doctor> [--yes|--force] Manage localization
fkit run [flavor] [-p] [-r] [-t android|ios|web] Run the app
fkit build <apk|aab|ipa|web> [flavor] Build the app
fkit firebase [target] [-p android|ios] [-n "notes"] [-g group] Build and upload to Firebase App Distribution
fkit signing <setup|doctor> Manage Android signing
fkit icon <generate|configure|doctor> Manage launcher icons
fkit extension generate Generate common Flutter extensions

For detailed usage and examples, see doc/commands.md.

Generation Flags #

  • --yes and --force overwrite generated files without interactive prompts.
  • --no-build-runner skips build runner for feature and component generation.
  • Setup and localization services can be tested without external Flutter commands through their service-level APIs.

Generated feature files require the selected template's declared dependencies. For bloc_clean, setup adds the required BLoC, Freezed, JSON serialization, and build runner packages.

Available Template and Modules #

Template:

  • bloc_clean: feature-first Clean Architecture using flutter_bloc

Setup modules:

  • theme: Material 3 theme, theme cubit, colors, typography
  • router: GoRouter configuration and route markers
  • network: Dio API service, response models, failures, interceptors, optional Talker logging

Fallbacks and Error Handling #

FKIT provides explicit fallbacks for common incorrect invocations:

  • Unknown top-level commands print help and suggest close command names.
  • fkit help <unknown> suggests close command names.
  • Commands that require a Flutter project fail early when pubspec.yaml is missing or does not look like a Flutter project.
  • Commands that require FKIT configuration fail early when fkit.yaml is missing and tell you to run fkit init.
  • Subcommands such as fkit l10n, fkit signing, fkit icon, and fkit extension print supported actions when an action is missing or invalid.

Examples:

fkit hepl
fkit help install
fkit l10n unknown

Common Workflows #

Fresh BLoC project setup:

flutter create my_app
cd my_app
fkit init
fkit setup --yes

Generate a feature without running build runner immediately:

fkit feat auth --no-build-runner
fkit generate

Install modules manually:

fkit install theme --yes
fkit install router --yes
fkit install network --yes

Localization:

fkit l10n setup --yes
fkit l10n doctor

Flavor-aware build:

fkit build apk production
fkit build web production

Firebase distribution:

fkit firebase staging -p android -g qa -n "QA regression build"

Documentation #

Status #

FKIT is under active development. The bloc_clean template is the supported production-ready template in this release; other architecture templates are planned and intentionally unavailable until their manifests are implemented.

License #

MIT. See LICENSE.

20
likes
160
points
99
downloads
screenshot

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

FKIT (Flutter DevOps Kit) is a CLI toolkit for Flutter build automation, code generation, Firebase distribution, reusable modules, and project workflows.

Repository (GitHub)
View/report issues

Topics

#flutter #cli #automation #devops #code-generation

License

MIT (license)

Dependencies

analyzer, args, mason_logger, package_config, path, yaml, yaml_edit

More

Packages that depend on flutter_devops_kit