intentions library
Architectural layer annotations for Cow.
Classes
- DataSource
- Annotation indicating a data source (external system adapter).
- Hack
- Annotation for classes whose architectural role is undetermined. Intended as a temporary marker during migration.
- Model
- Annotation indicating a domain model (entity or value object).
- PartOf
- Marks a class as an implementation detail of owner.
- Repository
- Annotation indicating a repository (domain data gateway) component.
- UseCase
- Annotation indicating a use case (business orchestration) component.
- View
- Annotation indicating a view layer component.
- ViewModel
- Annotation indicating a view model (presentation logic) component.
Constants
- dataSource → const DataSource
- Marks a class as a data source — a low-level adapter for external systems (APIs, databases, file I/O, etc.).
- hack → const Hack
- Marks a class whose architectural role is not yet determined. Use during migrations when you're not sure what something is yet.
- model → const Model
- Marks a class as a model — a domain entity or value object.
- repository → const Repository
- Marks a class as a repository — a domain-level data gateway that owns state for a specific bounded context.
- useCase → const UseCase
- Marks a class as a use case — a single unit of business orchestration that coordinates one or more repository instances.
- view → const View
- Marks a class as a view — a UI component that renders state and forwards user interactions to a viewModel.
- viewModel → const ViewModel
- Marks a class as a view model — presentation logic that mediates between views and useCases.