2.7 KiB

Wyatt - Clean Code

Powered by Mason

Create clean new Flutter project from scratch following Clean Code Architecture.

Usage 🚀

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.