You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
2.5 KiB
45 lines
2.5 KiB
|
1 month ago
|
# 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.md`** at the repo root — pick the module(s) relevant to the topic, then read each linked `CONTEXT.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.
|