๐Ÿ”ง RS (Rahul Structure) - Flutter CLI Project Scaffolding Tool

RS (Rahul Structure) is a simple yet powerful Dart-based command-line tool that helps you scaffold a Flutter project architecture instantly. Whether you prefer Clean Architecture, MVVM, or a custom folder structure, rs will set up everything for you in seconds!


๐Ÿ“Œ Table of Contents


โœจ Features

  • ๐Ÿ“ Instantly generate project structure in Flutter projects
  • ๐Ÿ— Supports multiple architecture patterns:
    • Clean Architecture
    • MVVM
    • Rahul's Custom Architecture
  • ๐Ÿง  Beginner-friendly CLI interface
  • ๐Ÿงฐ Written in Dart using the args package
  • โšก Super fast and easily extendable

๐Ÿ“ฆ Installation

1๏ธโƒฃ Clone the Repo

git clone https://github.com/berarahul/rs-cli.git
cd rs

2๏ธโƒฃ Activate the Tool Globally

dart pub global activate --source path .

โ„น๏ธ Make sure $HOME/.pub-cache/bin is in your PATH.


๐Ÿš€ Usage

Create a Flutter project first:

flutter create my_app
cd my_app
rs

You'll see a prompt:

Are you creating your project structure?

1. Clean Architecture
2. MVVM Architecture
3. Rahul Architecture

Enter your choice (1/2/3):

After you choose, it will auto-generate the structure and print:

โœ… Successfully generated Clean Architecture project structure.

โœ… Successfully generated Clean Architecture project structure.

๐Ÿ— Architecture Options

You can scaffold the following:

1. Clean Architecture

  • Organizes code in layers: data, domain, presentation
  • Suitable for enterprise-level apps

2. MVVM

  • Separates Model, View, ViewModel

  • Great for small to medium apps with UI logic

3. Rahul Architecture

  • Comming soon
  • Comming soon

๐Ÿ“‚ Example Project Structure

Hereโ€™s a generated folder layout for Clean Architecture:

lib/
โ”œโ”€โ”€ core/
โ”‚   โ””โ”€โ”€ utils/
โ”œโ”€โ”€ features/
โ”‚   โ””โ”€โ”€ auth/
โ”‚       โ”œโ”€โ”€ data/
โ”‚       โ”œโ”€โ”€ domain/
โ”‚       โ””โ”€โ”€ presentation/
โ”œโ”€โ”€ main.dart

๐Ÿ“ Project Directory Explained

  • core/: App-wide utilities, constants, error handling
  • features/: Divides your app by features/modules
  • data/: Handles API, local DB, and data sources
  • domain/: Business logic, use cases, entities
  • presentation/: UI screens, widgets, controllers

๐Ÿค Contributing

Want to contribute? Follow these steps:

git clone https://github.com/berarahul/rs-cli.git
cd rs
dart run bin/rs.dart

Open an issue or submit a pull request โ€” all contributions are welcome!


๐Ÿ“œ License

This project is licensed under the MIT License.

MIT License Copyright (c) 2025 Rahul Permission is hereby granted, free of charge, to any person obtaining a copy

๐Ÿ‘จโ€๐Ÿ’ป Author

Made with โค๏ธ by Rahul Bera


๐Ÿ”ฎ Coming Soon

  • โ˜๏ธ Cloud templates
  • ๐Ÿ“ฆ Flutter package integrations
  • ๐Ÿงช Unit test starter

Libraries

rs