flutist 3.0.1 copy "flutist: ^3.0.1" to clipboard
flutist: ^3.0.1 copied to clipboard

A Flutter project management framework inspired by Tuist

example/README.md

Flutist Example #

This example demonstrates a Flutter project structured with Flutist using layer-based module declarations.

📁 Configuration Files #

package.dart #

Central registry for all dependencies and module names. No type: field — modules are plain named references.

project.dart #

Defines every layer package and its dependency wiring. Layer relationships follow architecture rules enforced by flutist check.

flutist/flutist_gen.dart #

Auto-generated by flutist generate. Provides type-safe accessors: package.dependencies.http, package.modules.authDomain, etc.


🚀 Getting Started #

# 1. Initialize
flutist init

# 2. Create modules — layer packages are auto-wired in project.dart
flutist create --path features --name auth --options clean
flutist create --path lib     --name network --options lite
flutist create --path core    --name utils          # single package (default)

# 3. Add dependencies in package.dart, then generate
flutist generate

# 4. Check architecture rules
flutist check

📦 Module Structure (this example) #

my_flutter_project/
├── app/                        # Simple — app shell
├── features/
│   └── auth/
│       ├── auth_domain/        # Clean — domain layer
│       ├── auth_data/          # Clean — data layer
│       └── auth_presentation/  # Clean — presentation layer
├── lib/
│   └── network/
│       ├── network_interface/       # Lite — public API
│       ├── network_implementation/  # Lite — core logic
│       ├── network_testing/         # Lite — test utilities
│       └── network_tests/           # Lite — tests
└── core/
    └── utils/                  # Simple — shared utilities

🏗️ Scaffold Types #

Option Layers Use for
--options clean domain / data / presentation Feature modules
--options micro interface / implementation / testing / tests / example Reusable libraries
--options lite interface / implementation / testing / tests Internal API modules
(omit) single package App shell, utilities

🔗 Layer Dependency Rules #

Clean Architecture #

presentation → data → domain

Domain knows nothing about data or UI.

Lite / Micro Architecture #

implementation → interface
testing        → interface
tests          → implementation + testing

Production code (_implementation) must never depend on _testing.


🎨 Custom Scaffold Templates #

# List available templates
flutist scaffold list

# Generate from template
flutist scaffold feature --name login
flutist scaffold feature --name login --path lib/features --stateful true

Templates live in flutist/templates/. Customize freely — see flutist/templates/feature/ for an example.


📚 Real-World Example #

🔗 flutist_clean_architecture

12
likes
0
points
798
downloads

Documentation

Documentation

Publisher

verified publisherseonwookkim.com

Weekly Downloads

A Flutter project management framework inspired by Tuist

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

args, io, path, yaml, yaml_edit

More

Packages that depend on flutist