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.
 
 
 
 
 

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.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.