[![Test](https://github.com/bharathram444/fluttrfly/actions/workflows/test.yml/badge.svg)](https://github.com/bharathram444/fluttrfly/actions/workflows/test.yml)
[![Coverage](https://codecov.io/gh/bharathram444/fluttrfly/branch/main/graph/badge.svg)](https://app.codecov.io/gh/bharathram444/fluttrfly)
# 📦 FluttrFly: Flutter Command-Line Tool 



**Boost your Flutter development efficiency with FluttrFly, a versatile CLI tool that automates the creation of essential project structures.** Say goodbye to repetitive setup tasks and focus on your coding magic!

## 🎯 Features:

- **Automated Setup:** Quickly generate modules, assets, and core files with intuitive commands.
- **Consistent Structure:** Adhere to Flutter best practices for improved organization.
- **Effortless Workflow:** Save time, avoid repetitive tasks, and focus on development.
- **Error Reduction:** Validate input with clear error messages, minimizing potential issues.
## ⚙️ Installation:

#### 1. **Install FluttrFly:**
   Open your terminal and run:
   ```bash
   pip install fluttrfly
   ```
## 🛠️ Set Up Development Environment:

#### 2. **Run the following command to create a development environment for FluttrFly:**
   ```bash
   fluttrfly env
   ```
   This command provides templates, files, and folders necessary for other FluttrFly commands, ensuring a well-configured development environment.

Now, executing `fluttrfly env` creates a development environment by providing essential templates, files, and folders. These resources are utilized by other FluttrFly commands, ensuring a well-configured and efficient development environment.
## 💡Usage/Examples:
#### Set Up a Flutter Project:
Set up a riverpod project:
```bash
fluttrfly setup --riverpod
```
Set up a bloc project:
```bash
fluttrfly setup --bloc
```
#### Generate Project Structures:

Create a New Module:
```bash
fluttrfly build --module my_module
```
Build Asset Hierarchy:
```bash
fluttrfly build --assets
```
Set Up Core Files and Folders:
```bash
fluttrfly build --core
```
#### Manage Development Environment:

Update Environment:
```bash
fluttrfly env --update
```
Reset Environment:
```bash
fluttrfly env --reset
```
FluttrFly Environment Recovery and Custom Path:
```bash
fluttrfly env --force
```
#### 1. Environment Recovery:
Accidentally deleted your FluttrFly environment? No worries! Run `fluttrfly env --force`, say `y` to `recreate the environment`, and watch it magically recover essential assets for seamless development.
#### 2. Custom Environment Path:
Moved your FluttrFly environment to a new location? `fluttrfly env --force` to the rescue! Simply run the command, answer `y` when asked `if you want to set up an existing FluttrFly env folder`, and continue development hassle-free.
## ⚠️ Error Handling:

FluttrFly is committed to providing informative error messages that help you troubleshoot issues promptly.
## 🔮 Future Features (Next Version Release):

#### 1. Add Widgets and Utilities to Core:

In the upcoming release, we're introducing a powerful new command: `fluttrfly add`. This command simplifies the process of enhancing your project's core by seamlessly adding new widgets and utilities. Stay tuned for the next version, where you can take advantage of this feature to streamline your development workflow.

#### Usage (Available in Next Version):

```bash
fluttrfly add
```
## 📝 Changelog

You can find the detailed changelog for this project [Changelog](CHNAGELOG.md).

## 🌟 Contributing

Contributions are always welcome!
Learn how to contribute by visiting our GitHub repository: [fluttrfly](https://github.com/bharathram444/fluttrfly) and [fluttrflyEnv](https://github.com/bharathram444/fluttrflyEnv)


## ‍💻 Authors

- [@Bharath ram .R](https://github.com/bharathram444)


## 🧾 License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/bharathram444/fluttrfly/blob/main/LICENSE) file for details.



![Logo](https://github.com/bharathram444/fluttrfly/blob/main/image/dark.png?raw=true)


## 📬 Feedback

If you have any feedback, please reach out to us at rk.bharathram123@gmail.com

## 🏢 Used By

This project is used by the following companies:

-  EasyCloud
