# Flutter Domain Layer

> **WORKFLOW SKILL** — Minimal guidance for the domain layer in Flutter Clean Architecture (use `equatable`, `call()` pattern).

- Skill: `pedromneto97/flutter-domain-layer` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add pedromneto97/flutter-domain-layer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/pedromneto97/flutter-domain-layer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: pedromneto97 (https://skillmd.com/u/pedromneto97)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/pedromneto97/flutter-domain-layer

---


# Flutter Domain Layer (summary)

Purpose: Minimal, opinionated guidance and templates for the domain/core layer.

Essentials
- Entities: immutable models and value objects (use `equatable` for equality).
- Repositories: abstract interfaces (ports) implemented by the data layer.
- Use cases: interactors exposing a `call()` method.
- Domain exceptions: typed domain errors; map infra errors in the data layer.

Structure
- Suggested layout: `lib/domain/entities/`, `lib/domain/repositories/`, `lib/domain/usecases/`, `lib/domain/exceptions.dart`
- Keep domain pure (no Dio or data imports).

Details and examples moved to reference docs:
- `references/entities.md`
- `references/repositories.md`
- `references/usecases.md`
- `references/exceptions.md`
- `templates/` — code templates (entity, repository, use case, exceptions)

Quick prompts
- "Scaffold `User` entity (Equatable), `UserRepository` interface, `GetUser` use case, and domain exceptions."
- "Create a `GetUser` unit test using a fake repository."


