Dependency Injection
SkillAI & modelsConfigure service locator setup using injectable and get_it in Flutter. Use when wiring dependency injection with get_it or injectable.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Dependency Injection skill
What this skill tells your AI
The instructions your AI receives, as published by hoangnguyen0403/agent-skills-standard in skills/flutter/flutter-dependency-injection/SKILL.md and read by ahel’s review.
Priority: P1 (HIGH)
Structure
core/injection/
├── injection.dart # Initialization & setup
└── modules/ # Third-party dependency modules (Dio, Storage)
Implementation Workflow
- Annotate classes — Use
@injectableannotations; avoid manual registry calls. - Choose scope — Default to
@LazySingletonfor repositories, services, and data sources (init on demand). - Register BLoCs as factories — Use
@injectable(Factory) for BLoCs to ensure state resets per instance. Never use@Singleton()for BLoCs. - Inject abstractions — Always register implementations as abstract interfaces (
as: IService). - Register third-party deps — Use
@modulefor external instances (Dio, Hive, SharedPreferences). - Prefer constructor injection — Use mandatory constructor parameters;
injectableresolves them automatically.
Registration & Test Mock Examples
See implementation examples for module registration and test mock swap patterns.
Reference & Examples
For module configuration and initialization templates: See references/REFERENCE.md.
Anti-Patterns
- No Inline
getItCalls: Inject via constructor instead of calling GetIt in UIbuild() - No
@SingletonBLoCs: Always use@injectable(Factory) to ensure state resets - No Concrete Class Injection: Always inject abstract interface (e.g.,
IOrderRepository) - No Manual Registration: Use
@injectableannotations instead of manualgetIt.registercalls in production code
Related Topics
layer-based-clean-architecture | testing
Canonical response anchors
When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:
- Dependency Injection
- abstract interface
Remediation anchors
- Remediation anchors: factory registration, fresh CartBloc instance
Signals
- GitHub stars
- 565
- Forks
- 163
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
flutter-dependency-injection- Source
- github.com/hoangnguyen0403/agent-skills-standard