name: data-access
description: Implement the data access layer including contracts, repositories, and BLoC/Cubit for business logic. Use when adding Flutter CQRS data access.
argument-hint: ""
Implement Data Access Layer
Implement the data access layer including contracts, repositories, and BLoC/Cubit for business logic.
Relevant knowledge
- For details about CQRS and contracts, see
../flutter-cqrs-usage/references/cqrs-data-access.md. - For command/query/operation naming, base classes, the
cqrs.run/cqrs.getAPI, repository boundaries, and contract generation, seereference.md(alongside this skill). - For base-cubit recipes, use
flutter-cubit-utils.
Steps
- Find the required contracts in
contracts.dart. Match them against the user prompt. - If contracts are missing, ask the user to run the contracts generator or run it manually.
- For simple API calls, use contracts directly in the BLoC/Cubit.
- For complex logic (caching, multiple sources, mapping), implement a repository.
- Implement the BLoC or Cubit to handle the feature's business logic.
- Do not create operations unless explicitly requested.
Success criteria
- Code follows
../flutter-cqrs-usage/references/cqrs-data-access.mdand other relevant plugin rules. - Missing contracts are reported if still absent after generation.
- All uncertainties are clarified with the user rather than assumed.