clean_feature_arch 1.6.3
clean_feature_arch: ^1.6.3 copied to clipboard
Professional toolkit for scaffolding and enforcing Clean Architecture in Flutter projects with modern Dart 3.x patterns and automated architectural verification.
Clean Feature Architecture #
CLI and analyzer for scaffolding and enforcing Clean Architecture in Flutter projects. Version 1.6.0 provides full support for modern Dart 3.x patterns and modular dependency injection.
Installation #
Add the toolkit to your dev_dependencies:
dart pub add -d clean_feature_arch
Features #
Modern Dart 3.x Support #
Scaffolded templates utilize modern Dart standards:
- Switch Expressions: Functional and exhaustive UI state rendering.
- Record Destructuring: Declarative application initialization and result handling via AppRunner.
- Enhanced Enums: Type-safe configuration and flavor management.
- Sealed Classes: Compiler-verified state and error handling.
Modular Dependency Injection #
Dependency injection follows a Modular Registry Pattern:
- Core Module: Centralized management for infrastructure, network, and storage.
- Feature Modules: Localized registration logic within each feature's
di/directory. - Dispatcher: A clean
injection_container.dartthat coordinates modular registries.
CLI Usage #
All commands are executed via dart run clean_feature_arch:
1. Project Initialization #
Initializes the core architecture (Router, Theme, Storage, Networking) and shared resources (Assets, Localization, Context Extensions).
# Default
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
2. Feature Generation #
Creates the domain, data, and presentation layers for a new feature.
dart run clean_feature_arch feature <name> --state [bloc|riverpod|none] --storage [drift|shared|none]
3. Storage Management #
Configure storage engines or integrate them into existing features.
# Initialize a global engine (Drift or Shared Preferences)
dart run clean_feature_arch storage init
# Add storage to an existing feature
dart run clean_feature_arch storage feature <name> --type [drift|shared]
4. Permission Configuration #
Configure system permissions across all supported platforms.
# Interactive menu
dart run clean_feature_arch permission
# Direct command
dart run clean_feature_arch permission camera
5. CI/CD Scaffolding #
Generate automated workflows for GitHub Actions or GitLab CI.
dart run clean_feature_arch ci
6. Test Scaffolding #
Initialize unit and integration test infrastructure.
# Core infrastructure tests
dart run clean_feature_arch test --init
# Feature-specific test suite
dart run clean_feature_arch test <feature_name>
7. Terminal Documentation #
Access technical references directly from the terminal.
# Display the Absolute Rules
dart run clean_feature_arch docs rules
# Display the project skeleton
dart run clean_feature_arch docs skeleton
Static Analysis #
A native analyzer plugin enforces architectural boundaries and standards.
Configuration #
Add the plugin 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
Documentation #
Detailed technical guides:
License #
Distributed under the MIT License. See LICENSE for details.