What problem does it solve?
This Skill provides guidelines for naming, file placement, and structuring domain events in CritterCab services, ensuring consistency and clarity in event design.
Core Features & Use Cases
- Event Naming: Follows past-tense verb + noun naming convention, avoiding 'Event' suffix.
- File Placement: Organizes events alongside commands and handlers, in feature-based directories.
- Type Shape: Defines a canonical shape for domain events, using sealed records and value objects.
- Aggregate ID Naming: Uses {AggregateTypeName}Id for ID fields, ensuring clarity.
- Integration Events: Differentiates between slim domain events and rich integration events.
- Marten Registration: Ensures all events are registered in Marten event streams.
- Naming Collisions: Provides guidance for handling naming collisions between domain and integration events.
- Enum Types: Defines enum types within the service's own namespace, avoiding cross-service sharing.
Quick Start
Implement a new domain event in your CritterCab service by following the naming and structuring conventions outlined in this Skill.