Skip to content

vivekvsingh19/create_ultimate_flutter_stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CUFS - Create Ultimate Flutter Stack

╔═══════════════════════════════════════════════════════════════════╗
β•‘                                                                   β•‘
β•‘               β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—                 β•‘
β•‘              β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•”β•β•β•β•β•                 β•‘
β•‘              β–ˆβ–ˆβ•‘  β•šβ•β• β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—                 β•‘
β•‘              β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•   β•šβ•β•β•β•β–ˆβ–ˆβ•‘                 β•‘
β•‘              β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘                 β•‘
β•‘               β•šβ•β•β•β•β•   β•šβ•β•β•β•β•β•  β•šβ•β•      β•šβ•β•β•β•β•β•β•                 β•‘
β•‘                                                                   β•‘
β•‘                 Create Ultimate Flutter Stack                     β•‘
β•‘                                                                   β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

A powerful CLI tool for generating production-ready Flutter applications with your preferred stack configuration. Think of it as "Create React App" but for Flutter - get started with best practices in seconds.

✨ Features

  • 🎯 Interactive CLI - Simple prompts guide you through project setup
  • πŸ—οΈ Clean Architecture - Follows industry-standard folder structure
  • 🎨 Multiple Themes - Material 3, Minimal Clean, Neumorphic, Glassmorphism
  • πŸ” Backend Integration - Firebase, Supabase, Appwrite support
  • 🧭 Smart Routing - GoRouter, GetX Routing, or Flutter Navigator
  • πŸ“¦ State Management - Provider, GetX, Riverpod, Bloc, MobX
  • πŸš€ Production Ready - Clean code that passes flutter analyze

Method 1: Via Pub.dev (Recommended)

Prerequisite: Dart SDK installed.

# Install globally
dart pub global activate cufs

# Run
cufs create my_app

Method 2: Via Git (Latest Version)

If the package is not yet available on pub.dev or you want the latest changes:

# Install from git
dart pub global activate --source git https://github.com/vivekvsingh19/create_ultimate_flutter_stack.git

# Run
cufs create my_app

Method 3: Standalone Binary (No Dart SDK required)

Download the latest release for your OS from the Releases page.

# Make executable (Linux/Mac)
chmod +x cufs

# Run
./cufs create my_app

πŸš€ Usage

Interactive Mode

cufs create my_awesome_app

The CLI will guide you through selecting:

  1. State Management - Choose your preferred solution
  2. Backend - Pick your backend service or none
  3. Router - Select routing approach
  4. Theme - Choose your UI style
  5. Screens - Select which screens to generate

Example Session

$ cufs create my_app

πŸš€ Welcome to CUFS! Let's build your ultimate Flutter stack.

? Choose State Management: β€Ί
❯ Provider
  GetX
  Riverpod
  Bloc
  MobX

? Choose Backend: β€Ί
❯ Firebase
  Supabase
  Appwrite
  None

? Choose Router: β€Ί
  Flutter Navigator
❯ GoRouter
  GetX Routing

? Choose UI Theme Style: β€Ί
  Minimal Clean
❯ Material 3
  Neumorphic
  Glassmorphism

? Choose default screens to include: β€Ί
βœ” Splash
βœ” Login / Signup
βœ” Home
βœ” Profile
βœ” Settings

βœ“ Project my_app generated successfully! πŸš€
cd my_app && flutter run

πŸ“‚ Generated Project Structure

my_app/
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ config/
β”‚   β”‚   β”œβ”€β”€ themes/
β”‚   β”‚   β”‚   └── app_theme.dart
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   β”œβ”€β”€ auth_service.dart
β”‚   β”‚   β”‚   └── database_service.dart
β”‚   β”‚   └── utils/
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── repositories/
β”‚   β”œβ”€β”€ presentation/
β”‚   β”‚   β”œβ”€β”€ screens/
β”‚   β”‚   β”‚   β”œβ”€β”€ splash_screen.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ login_screen.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ home_screen.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ profile_screen.dart
β”‚   β”‚   β”‚   └── settings_screen.dart
β”‚   β”‚   β”œβ”€β”€ widgets/
β”‚   β”‚   β”‚   β”œβ”€β”€ custom_button.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ custom_text_field.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ loading_indicator.dart
β”‚   β”‚   β”‚   └── custom_app_bar.dart
β”‚   β”‚   └── app.dart
β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── app_router.dart
β”‚   └── main.dart
└── pubspec.yaml

🎨 Available Options

State Management

  • Provider - Simple and effective
  • GetX - Lightweight and powerful
  • Riverpod - Modern Provider evolution
  • Bloc - Predictable state container
  • MobX - Reactive state management

Backend Services

  • Firebase - Google's mobile platform
  • Supabase - Open source Firebase alternative
  • Appwrite - Self-hosted backend server
  • None - Frontend only

Routing

  • GoRouter - Declarative routing (recommended)
  • GetX Routing - Built-in GetX navigation
  • Flutter Navigator - Default Flutter routing

Themes

  • Material 3 - Latest Material Design
  • Minimal Clean - Black/white minimalism
  • Neumorphic - Soft UI with shadows
  • Glassmorphism - Modern glass effects

πŸ› οΈ What Gets Generated

Core Files

  • βœ… main.dart with state management setup
  • βœ… app.dart with routing configuration
  • βœ… app_theme.dart with your chosen theme
  • βœ… app_router.dart or app_pages.dart for navigation

Services

  • βœ… auth_service.dart - Authentication logic
  • βœ… database_service.dart - Database operations

Screens

  • βœ… Splash screen with auto-navigation
  • βœ… Login/Signup screen with forms
  • βœ… Home screen with navigation example
  • βœ… Profile screen
  • βœ… Settings screen

Widgets

  • βœ… Custom button with loading states
  • βœ… Custom text field with validation
  • βœ… Loading indicator
  • βœ… Custom app bar

πŸ§ͺ Testing

All generated projects are verified to:

  • βœ… Pass flutter analyze with zero errors
  • βœ… Compile successfully
  • βœ… Follow Flutter best practices
  • βœ… Use null-safe code

πŸ“ Example Combinations

Startup MVP

State Management: Provider
Backend: Firebase
Router: GoRouter
Theme: Material 3

Enterprise App

State Management: Bloc
Backend: Supabase
Router: GoRouter
Theme: Minimal Clean

Quick Prototype

State Management: GetX
Backend: None
Router: GetX Routing
Theme: Glassmorphism

🀝 Contributing

This tool is actively maintained. If you find bugs or have feature requests, please open an issue.

πŸ“„ License

This project is open source and available under the MIT License.

🎯 Next Steps After Generation

  1. Navigate to your project: cd my_app
  2. Run the app: flutter run
  3. Start coding! All the boilerplate is done.

πŸ’‘ Tips

  • Backend Setup: Remember to configure your backend service (Firebase, Supabase, Appwrite) with your credentials
  • Custom Modifications: All generated code is yours to modify
  • Clean Code: Generated projects follow industry best practices
  • Production Ready: Code is analysis-clean and null-safe

❓ Troubleshooting

"cufs: command not found"

If you see this error after installation, make sure the Dart system cache is in your PATH.

Windows:

  1. Add %LOCALAPPDATA%\Pub\Cache\bin to your PATH environment variable.
    • This is usually: C:\Users\<YourUsername>\AppData\Local\Pub\Cache\bin
  2. Restart your terminal (or VS Code) for the changes to take effect.

Linux/Mac: Add $HOME/.pub-cache/bin to your PATH.

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

"git is not recognized"

This tool requires Git to be installed and available in your PATH to initialize repositories.


Happy Coding! πŸš€

Built with ❀️ for the Flutter community

create_ultimate_flutter_stack

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages