nyati 1.0.1
nyati: ^1.0.1 copied to clipboard
A CLI tool to create Flutter projects with a custom folder structure.
π Nyati #
Nyati is a command-line interface (CLI) tool that helps you generate Flutter projects with a custom folder structure and boilerplate. It is built to save time and enforce consistency across Flutter apps.
π Features #
- Creates a new Flutter project automatically using
flutter create - Adds a clean, maintainable folder structure (
core/,features/,widgets/) - Includes starter files (
main.dart,app.dart,router.dart,theme.dart) - Automatically installs common dependencies (
go_router,provider, etc.) - Initializes a Git repository
- Supports future expansions (e.g.,
nyati add feature auth)
βοΈ Installation #
Install globally from pub.dev:
dart pub global activate nyati
After this, the CLI command
nyatiwill be available globally.
βοΈ Usage #
Create a new Flutter project:
nyati my_app
Optional subcommands (if implemented):
nyati init my_app
This will generate a Flutter project with your custom folder structure and starter files.
π Project Structure #
Generated project structure:
my_app/
β£ lib/
β β£ core/
β β β£ constants/
β β β£ routes/app_router.dart
β β β£ themes/app_theme.dart
β β£ features/
β β β£ auth/
β β β β£ data/
β β β β£ domain/
β β β β presentation/
β β β£ home/
β β β β presentation/home_page.dart
β β£ widgets/
β β£ app.dart
β β main.dart
β£ pubspec.yaml
β£ README.md
β .git/
βΆοΈ Run the Project #
cd my_app
flutter run
π§© Updating Nyati #
To update to the latest version:
dart pub global activate nyati
π§° Local Development / Contributing #
If you want to contribute or test changes locally:
# Clone repository
git clone https://github.com/yourusername/nyati.git
cd nyati
# Activate locally
dart pub global activate --source path .
# Test CLI
nyati demo_app
π‘ Planned Features #
nyati add feature <name>β auto-generate a new feature module- Colored terminal output using
ansicolor - Configurable templates via
nyati_config.yaml - Custom dependency injection setup
πΌοΈ Example Output #
π Creating Flutter project "my_app"...
π§± Applying clean architecture structure...
π¦ Adding dependencies: provider, go_router
πͺ Initializing git repository...
β
Project "my_app" created successfully!
π cd my_app
π flutter run
β€οΈ Why βNyatiβ? #
In Swahili, Nyati means Buffalo β strong, determined, and unstoppable. This CLI aims to embody that spirit: powerful, fast, and dependable for Flutter developers.
π€ Contributing #
Contributions, issues, and feature requests are welcome! Feel free to open an issue or pull request on GitHub.
π License #
This project is licensed under the MIT License β see the LICENSE file for details.
π Links #
- Pub.dev: https://pub.dev/packages/nyati
- Repository: https://github.com/isayaosward/nyati
- Author: Isaya Osward