90 lines
2.7 KiB
Markdown

# Wyatt - Clean Code
[![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason)
Create clean new **Flutter** project from scratch following Clean Code Architecture.
## Usage 🚀
```sh
mason make wyatt_clean_code --project_name app --org_name fr.wyattstudio.app --description A new Wyatt Studio project. --platforms=android,ios --features=analysis,localization
```
## Variables ✨
| variable | description | default | type |
| ------------------ | ---------------------------- | ------- | --------- |
| `project_name` | Project name | app | `string` |
| `org_name` | Organization name | fr.wyattstudio.app | `string` |
| `description` | A short project description | A new Wyatt Studio project. | `string` |
| `platforms` | Supported platforms | [android, ios] | `array` |
| `features` | Enabled features | [analysis, localization] | `array` |
## Output 📦
```
--project_name app --org_name fr.wyattstudio.app --description A new Wyatt Studio project. --platforms=android,ios,web --features=analysis,localization,router
├── .vscode/
| ├── launch.json
| └── settings.json
├── android
| └── ...
├── assets
| ├── l10n
| | └── intl_fr.arb
| ├── colors
| | └── dark.xml
| ├── fonts
| └── images
├── ios
| └── ...
├── lib
| ├── core
| | ├── enums
| | ├── errors
| | ├── extensions
| | | └── l10n.dart
| | ├── resources
| | | ├── app_router.dart
| | | └── app_theme.dart
| | └── utils
| | └── app_bloc_observer.dart
| ├── data
| | ├── models
| | ├── providers
| | └── repositories
| ├── domain
| | ├── entities
| | └── repositories
| ├── presentation
| | ├── bloc
| | | └── counter_cubit
| | | └── counter_cubit.dart
| | ├── pages
| | | ├── counter
| | | | ├── widgets
| | | | | └── counter_text.dart
| | | | └── counter_page.dart
| | | └── initial
| | | | └── initial_page.dart
| | └── shared
| | | ├── layouts
| | | ├── state_management
| | | | └── counter_state_management.dart
| | | └── widgets
| ├── app.dart
| ├── main.dart
| └── widget_tree.dart
├── scripts
├── web
| └── ...
├── l10n.yaml
├── Makefile
├── pubspec.yaml
└── analysis_options.yaml
```
## Prerequisite
No prerequisites needed.