A comprehensive Flutter CLI tool for scaffolding and configuring Flutter applications with modular architecture.
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.
- 🚀 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
dart pub global activate smf_flutter_cli
smf --versionInteractive (you will be prompted for missing values):
smf create my_appA 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- 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
- BLoC: Event–State pattern using
flutter_bloc. - Riverpod: Provider-based model using
flutter_riverpod.
This is a monorepo managed with Melos. To contribute:
# Install dependencies
melos bootstrapWe welcome contributions! Please see our Contributing Guide for details.
- 📧 Email: support@saymyframe.com
- 🐛 Issues: GitHub Issues
- 📖 Documentation: SayMyFrame Docs
