domain-model

A set of project rules for keeping code and tests aligned with a documented domain model—the description of the business concepts and their relationships.

In plain words
What is it for?
It helps plan and review feature changes, record domain terms and architecture decisions, track open questions, and keep implementation and tests consistent.
Why use it?
It prevents developers from changing code without first checking the agreed terminology, design, task breakdown, test coverage, and approval steps.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/vepo/issues/domain-model
Clone the repo
git clone --depth 1 https://github.com/vepo/issues

Made for: Cursor.

Per session 718 This file is loaded in full into every session.
When invoked 718 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00718 $0.00718
Opus 5 $0.00359 $0.00359
Sonnet 5 $0.00144 $0.00144
Haiku 4.5 $0.00072 $0.00072

Measured 2d ago against content hash d266f1e6250c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

domain-model scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/domain-model.mdc · 54 lines

How it starts

The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ensure Domain Model Usage on Code

Domain Specification Location

The domain specification MUST reside in docs/domain-specification.md.
This specification MUST contain a dedicated section titled "Ubiquitous Language" that defines all domain terms, their meanings, and their relationships.

Pre-Change Checklist (Before Any Code Change)

Before implementing any change, you MUST complete development-process.mdc phases 1–4:

  1. Feature analysisfeature/<feature-slug>.md with impact and changelog (change-request-analysis.mdc); resolve feature questions (FQn)**.
  2. Architecture designArchitecture section and architecture questions (AQn)** (architecture-design.mdc); mandatory for every feature change.
  3. Task break — numbered tasks and test coverage plan in the changelog entry (status: tasks-ready).
  4. Development approved — user explicitly approves task IDs in chat and feature doc (status: approved). Answering FQn or AQn is not approval.
  5. Open questions — two kinds: FQn (product scope, phase 1) and AQn (technical design, phase 2); status open | answered | not valid; cite in tasks and changelog. When the user answers FQ/AQ: mandatory impact review per development-process.mdc. Legacy Qn = FQn until docs are updated.
  6. Read the domain specification completely, especially the Ubiquitous Language section.
  7. Question the change against the domain:
    • Does this change affect the domain (new entities, events, or business rules)?
    • Does the domain allow the intended implementation?
    • Do we need to extend the domain specification?
    • Is there a new domain concept introduced by the change?
    • Are any UI elements implied by the change? Document them in the ubiquitous language.

Do NOT write any code or test until phases 1–4 are complete (feature analysis, architecture design, task break, explicit task approval). Answering open questions does not complete phase 4. If the answer changes the domain, update the specification first. Phase 5 uses TDD — see issues-model.mdc § TDD.

Read the full file on GitHub · 54 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 54 lines · 718 tokens per session scan A d266f1e6250c

Subscribe to this mod's changes

domain-model is a cursor rule published in the GitHub repository vepo/issues (8 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 718 tokens to every session, about $0.0036 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.