provider_cli 0.0.1 copy "provider_cli: ^0.0.1" to clipboard
provider_cli: ^0.0.1 copied to clipboard

A production-ready Flutter architecture generator CLI with Provider, DI, and modular structure.

🚀 provider_cli #

A production-ready Flutter CLI to generate scalable architecture using Provider, Repository pattern, and Dependency Injection.


✨ Features #

  • ⚡ Generate complete feature modules instantly
  • 🧱 Clean architecture (View + Controller + Data)
  • 🔌 Built-in Provider state management
  • 🧩 Repository + Implementation pattern
  • 🧠 Dependency Injection using get_it
  • 🛠 Template-based generation (extensible)
  • 🧬 Modular and scalable structure

📦 Installation #

dart pub global activate provider_cli

🚀 Usage #

Initialize your project #

provider_cli init

✔ Sets up:

  • MultiProvider in main.dart
  • DI container (get_it)
  • Required markers for safe code injection

Create a feature #

provider_cli create feature auth

✔ Generates:

lib/modules/auth/
├── view/
│   ├── screens/
│   │   └── auth_screen.dart
│   └── widgets/
│
├── data/
│   ├── model/
│   │   └── auth_model.dart
│   ├── repository/
│   │   └── auth_repository.dart
│   └── implementation/
│       └── auth_repository_impl.dart
│
└── controller/
    └── auth_controller.dart

✔ Also:

  • Adds controller to MultiProvider
  • Registers repository in DI

🧱 Architecture #

Each module follows:

🔹 View #

  • Screens (UI)
  • Widgets

🔹 Controller #

  • Handles business logic
  • Uses ChangeNotifier (Provider)

🔹 Data #

  • Model → Data structure
  • Repository → Abstract contract
  • Implementation → Concrete logic

🔌 Dependency Injection #

Uses get_it for managing dependencies:

getIt.registerLazySingleton<AuthRepository>(
  () => AuthRepositoryImpl(),
);

🧠 Example Generated Code #

Controller #

class AuthController extends ChangeNotifier {}

Repository #

abstract class AuthRepository {}

Implementation #

class AuthRepositoryImpl implements AuthRepository {}

⚙️ CLI Commands #

Command Description
provider_cli init Initialize project setup
provider_cli create feature <name> Generate new module

📁 Project Structure #

lib/
 └── modules/
      └── feature_name/
           ├── view/
           ├── data/
           └── controller/

🛡 Safety Features #

  • ✅ No file overwrite
  • ✅ Marker-based safe injection
  • ✅ Duplicate protection

🔮 Roadmap #

  • ❌ Router support (Navigator + go_router)
  • ❌ Config file (provider_cli.yaml)
  • ❌ API layer (Dio / HTTP)
  • ❌ VS Code extension
  • ❌ UI kit generation

🤝 Contributing #

Contributions are welcome! Feel free to open issues or submit pull requests.


📜 License #

MIT License © 2026 Amarjeet Srivastava

2
likes
150
points
93
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A production-ready Flutter architecture generator CLI with Provider, DI, and modular structure.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

args, path

More

Packages that depend on provider_cli