---
paths:
  - "**/*.md"
---

# Matt Pocock Shared Domain Language

- Maintain a CONTEXT.md capturing the project's domain model and shared terminology; update it whenever an interview or design session sharpens a term.
- Build shared language deliberately: precise, agreed terms reduce verbosity and cognitive load for both humans and agents.
- Record significant decisions as ADRs so rationale survives across sessions instead of being re-litigated.
- Keep terminology consistent across documentation, tickets, and implementation; the codebase becomes easier to navigate when the same concept always has the same name.
- Sharpen domain models by probing edge cases: ask what happens at boundaries of each concept, not just the happy path.
- When writing documentation intended for agents, optimize it for agent consumption: unambiguous, self-contained, and free of context the reader cannot access.
- Prefer improving codebase architecture by "deepening" modules (richer capability behind a simple interface) over spreading logic thinly across files.
