Skip to content

pub package Quality Gate Status status: preview license Join us on Discord

SMF Flutter CLI

A comprehensive Flutter CLI tool for scaffolding and configuring Flutter applications with modular architecture.

Overview

SMF Flutter CLI is a powerful command-line interface that helps developers quickly scaffold Flutter applications with pre-configured modules, dependencies, and best practices. It provides a modular approach to Flutter project generation, allowing developers to select only the components they need.

Status: Alpha — Actively developed. Features are added continuously and APIs may change. Best suited for exploration and early prototypes. Feedback and contributions are welcome.

Features

  • 🚀 Rapid Project Scaffolding: Generate Flutter projects with pre-configured modules
  • 🧩 Modular Architecture: Select and configure only the modules you need
  • 🔧 Smart Dependency Management: Automatic dependency resolution and configuration
  • 📱 Flutter Best Practices: Built-in templates following Flutter development standards
  • 🔥 Firebase Integration: Seamless Firebase setup and configuration
  • 🛣️ Routing Solutions: Multiple routing options including GoRouter
  • 📊 Analytics Ready: Built-in analytics and tracking capabilities
  • 🎯 Customizable Templates: Extensible brick-based template system

Install

dart pub global activate smf_flutter_cli
smf --version

Quick start

Interactive (you will be prompted for missing values):

smf create my_app

SMF CLI Demo

A CLI tool by Say My Frame

Usage: smf <command> [arguments]

Global options:
-h, --help           Print this usage information.
    --verbose        Enable verbose logging.
    --strict         Enable strict mode for module compatibility checks.
-v, --version        Print the current CLI version.
    --on-conflict    Behavior when destination directory exists (replace, copy, cancel, prompt).
                     [replace, copy, cancel, prompt (default)]

Available commands:
  create   Create flutter app

Run "smf help <command>" for more information about a command.

Non-interactive (fully scripted):

smf create my_cli_test_app \
  -m firebase_analytics,home,get_it,go_router \
  --route /home \
  --org com.saymyframe \
  -s bloc \
  --on-conflict replace

Available Modules

  • Core Flutter: Basic Flutter project structure and configuration
  • Firebase Core: Firebase initialization and basic setup
  • Analytics: Analytics and tracking integration
  • GoRouter: Advanced routing with GoRouter
  • GetIt: Dependency injection with GetIt
  • Communication: Inter-module communication patterns
  • Home Flutter: Home screen and navigation templates

Available State Manager Approach

  • BLoC: Event–State pattern using flutter_bloc.
  • Riverpod: Provider-based model using flutter_riverpod.

Development

This is a monorepo managed with Melos. To contribute:

# Install dependencies
melos bootstrap

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Support

About

Modular CLI tool for generating scalable Flutter apps with routing, Firebase, DI, and analytics - powered by Mason.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages