2.5 KiB
Domain Docs
How the engineering skills should consume this repo's domain documentation when exploring the codebase.
Layout: multi-context
This is a multi-module Maven monorepo. Each crm-{域} module is a bounded context with its own ubiquitous language.
/
├── CONTEXT-MAP.md ← root index, points at each module's CONTEXT.md
├── docs/
│ ├── adr/ ← system-wide decisions
│ └── agents/ ← this file + issue-tracker / triage-labels
├── crm-auth/
│ └── CONTEXT.md ← 认证域 领域语言 (exists)
├── crm-file/
│ └── CONTEXT.md ← 文件域 领域语言 (exists)
├── crm-base/ ← 基础包,无独立业务,暂无 CONTEXT.md
└── crm-app/ ← 启动入口,暂无 CONTEXT.md
Per-module CONTEXT.md lives at the module root (e.g. crm-auth/CONTEXT.md), not under src/. New business modules (crm-customer, …) get their own CONTEXT.md at module root and an entry in CONTEXT-MAP.md.
Before exploring, read these
CONTEXT-MAP.mdat the repo root — pick the module(s) relevant to the topic, then read each linkedCONTEXT.md.docs/adr/for system-wide decisions; also check<module>/docs/adr/if a module has context-scoped ADRs.
If any of these files don't exist, proceed silently. Don't flag their absence; don't suggest creating them upfront. The /domain-modeling skill (reached via /grill-with-docs and /improve-codebase-architecture) creates them lazily when terms or decisions actually get resolved.
Use the glossary's vocabulary
When your output names a domain concept (in an issue title, a refactor proposal, a hypothesis, a test name), use the term as defined in the relevant module's CONTEXT.md. Don't drift to synonyms the glossary explicitly avoids (the _Avoid_: lines).
If the concept you need isn't in any glossary yet, that's a signal — either you're inventing language the project doesn't use (reconsider) or there's a real gap (note it for /domain-modeling).
Flag ADR conflicts
If your output contradicts an existing ADR, surface it explicitly rather than silently overriding:
Contradicts ADR-0006 (fail-closed data scope) — but worth reopening because…
Note: README.md references ADR-0003 / 0004 / 0006, but the docs/adr/ files are not yet in the repo. Treat README's references as authoritative pointers until /domain-modeling materializes the files.