What problem does it solve?
It prevents misaligned producer/consumer expectations in asynchronous messaging by making event envelopes, schemas, ordering, replay, and compatibility rules explicit so integrations don’t degrade into shared folklore.
Core Features & Use Cases
- Producer/Consumer Ownership & Purpose: Clarifies who publishes an event, who relies on it, and why it exists.
- Event Envelope + Payload Schema: Specifies the machine-readable contract for envelope fields and payload requirements (including required, optional, nullable, and deprecated fields).
- Compatibility, Versioning, and Replay Semantics: Documents how events evolve safely (additive vs breaking), how correlation/causation cross boundaries, and what consumers should expect during replay and dead-letter scenarios.
- Contract Fixtures + Verification: Includes positive and negative fixtures suitable for contract testing and deterministic validation.
Quick Start
Use event-contract-design to define the publish/consume contract for a new OrderPaid async event, including envelope fields, payload schema rules, idempotency, ordering, replay, dead-letter behavior, and versioning compatibility.