Configuration
All config lives in stackchain.yaml at the project root.
Easiest: a preset
Section titled “Easiest: a preset”stackchain: preset: production_bloc features: [splash, auth, home]List presets: dart run stackchain presets
| Preset | Good for |
|---|---|
production_bloc |
Most apps (Bloc + GoRouter + GetIt) |
production_riverpod |
Riverpod apps |
production_rxdart |
RxDart apps |
clean_cubit |
Clean architecture + Cubit |
getx_mvc |
GetX + MVC |
firebase_bloc |
Firebase + Bloc |
minimal |
Smallest scaffold |
Full control
Section titled “Full control”stackchain: architecture: feature_first # feature_first | clean | mvvm | mvc state_management: bloc # bloc | cubit | riverpod | provider | getx | rxdart routing: go_router # go_router | auto_route | navigator | getx di: get_it # get_it | injectable | getx network: dio # dio | http storage: - shared_preferences - secure_storage features: - splash - auth - homeUseful toggles
Section titled “Useful toggles”| Key | Default | What it does |
|---|---|---|
flavors |
true |
main_dev / staging / prod entrypoints |
ci |
true |
GitHub Actions workflow |
dark_mode |
true |
Theme support |
localization |
false |
l10n + ARB files |
firebase |
false |
Firebase placeholder |
strict_quality |
false |
Fail on analyze issues |
Defaults (no config file)
Section titled “Defaults (no config file)”If stackchain.yaml is missing, init uses:
feature_first+bloc+go_router+get_it+dio- storage: shared preferences + secure storage
- features:
[home] - flavors + CI on
GetX tip: set state_management: getx and omit routing / di — both become getx.
Full field list: stackchain.yaml reference