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.