clean_feature_arch 1.2.1
clean_feature_arch: ^1.2.1 copied to clipboard
The Absolute Rule Architecture - Scaffolder and Enforcer
Clean Feature Architecture (Absolute Rule) #
CLI and analyzer for scaffolding and enforcing the Absolute Rule Architecture in Flutter projects.
Installation #
Add the toolkit to your dev_dependencies:
dart pub add -d clean_feature_arch
CLI Features (Scaffolder) #
Run the toolkit using dart run clean_feature_arch:
Initializing a Project #
Scaffolds a production-ready core (Router, Theme, Storage, Networking) and configures baseline dependencies.
# Default (Pure Dart)
dart run clean_feature_arch init
# With BLoC or Riverpod
dart run clean_feature_arch init --state bloc
dart run clean_feature_arch init --state riverpod
Generating a Feature #
Creates feature layers (domain, data, presentation) with canonical templates.
# Default
dart run clean_feature_arch feature <name>
# With specific state management
dart run clean_feature_arch feature <name> --state bloc
dart run clean_feature_arch feature <name> --state riverpod
Accessing Documentation #
Access architectural references directly from the terminal or open full guides in your browser:
# Open interactive menu
dart run clean_feature_arch docs
# Instant terminal references
dart run clean_feature_arch docs rules
dart run clean_feature_arch docs skeleton
Overwriting Files #
Use the -f or --force flag to overwrite existing files:
dart run clean_feature_arch init --force
Static Analysis (Enforcer) #
A native analyzer plugin enforces architectural boundaries directly within dart analyze and your IDE.
Enabling the Enforcer #
Add the following to your analysis_options.yaml:
plugins:
clean_feature_arch:
diagnostics:
absolute_rule_avoid_illegal_layer_imports: true
absolute_rule_enforce_feature_isolation: true
absolute_rule_enforce_model_folder_structure: true
absolute_rule_prefer_sealed_freezed_models: true
absolute_rule_enforce_data_source_folder_structure: true
Architecture Documentation #
Detailed guides are available in the doc/ directory or via the docs command:
- Core Architecture Guide
- State Management: Common Rules
- State Management: BLoC
- State Management: Riverpod
License #
Distributed under the MIT License. See LICENSE for details.