Guide โ
Welcome to the Modularity documentation.
Basics โ
- Getting Started โ Install, create a module, wire the app
- Module Architecture โ Visibility, imports, parent scope, expects
Core Concepts โ
- Module Retention โ strict, routeBound, keepAlive policies
- Hot Reload โ How hot reload preserves module state
- Dependency Overrides โ Replace bindings for testing and feature flags
Integrations โ
- Injectable Integration โ Bridge to injectable/get_it
- Routing Integration โ GoRouter, AutoRoute, tab navigation
- State Management โ Bloc, Riverpod, MobX patterns
Tools & Practices โ
- Testing Modules โ Unit tests, widget tests, mocking
- CLI Tools โ Module graph analysis and visualization
- Best Practices โ Patterns, anti-patterns, checklists
Packages โ
| Package | Description |
|---|---|
| modularity_contracts | Core interfaces and abstractions (Binder, Module, ExportableBinder) |
| modularity_core | SimpleBinder, ModuleController, GraphResolver |
| modularity_flutter | Flutter widgets: ModuleScope, ModularityRoot, ModuleProvider |
| modularity_cli | CLI tools for module graph analysis and visualization |
| modularity_injectable | Integration bridge to injectable/get_it |
| modularity_get_it | Standalone GetIt adapter for Modularity |