clean_feature_arch 1.4.7 copy "clean_feature_arch: ^1.4.7" to clipboard
clean_feature_arch: ^1.4.7 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 #

Run the toolkit using dart run clean_feature_arch:

1. 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 specific state management
dart run clean_feature_arch init --state bloc
dart run clean_feature_arch init --state riverpod

2. Generating a Feature #

Creates feature layers (domain, data, presentation) with canonical templates.

dart run clean_feature_arch feature <name> --state [bloc|riverpod|none] --storage [drift|shared|none]

3. Modular Storage Management #

Initialize storage engines and surgically inject them into features.

# 1. Initialize a global engine (Drift or Shared Preferences)
dart run clean_feature_arch storage init

# 2. Add storage to an existing feature (Surgical injection)
dart run clean_feature_arch storage feature <name> --type [drift|shared]

4. Adding Permissions #

Configure system permissions across all platforms and the Dart service:

# Open interactive menu
dart run clean_feature_arch permission

# Direct add
dart run clean_feature_arch permission camera

5. CI/CD Scaffolding #

Generate automation workflows for your project:

# Support for GitHub Actions and GitLab CI
dart run clean_feature_arch ci

6. Test Scaffolding #

Initialize professional test infrastructure:

# Scaffolds unit tests for core infrastructure (e.g., ApiClient)
dart run clean_feature_arch test --init

# Scaffolds full test suite for a feature (Integration + Unit)
dart run clean_feature_arch test <feature_name>

7. Accessing Documentation #

# Instant terminal references for Absolute Rules and Project Skeleton
dart run clean_feature_arch docs rules
dart run clean_feature_arch docs skeleton

Overwriting Files #

Use the -f or --force flag to bypass the interactive conflict manager:

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 to 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:

License #

Distributed under the MIT License. See LICENSE for details.

1
likes
0
points
899
downloads

Publisher

verified publishershakyapurna.com.np

Weekly Downloads

The Absolute Rule Architecture - Scaffolder and Enforcer

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analysis_server_plugin, analyzer, analyzer_plugin, args, mason_logger, path, recase, yaml

More

Packages that depend on clean_feature_arch