CONTEXT.md 格式
结构
# {Context 名称}
{一两句描述该 context 是什么、为何存在。}
## Language
**Order**:
{该术语的一两句描述}
_Avoid_: Purchase, transaction
**Invoice**:
交付后发给客户的付款请求。
_Avoid_: Bill, payment request
**Customer**:
下单的个人或组织。
_Avoid_: Client, buyer, account
规则
- 要有主见。 同一概念有多种说法时,选最好的,其余列在
_Avoid_下。 - 定义要 tight。 最多一两句。定义它 是什么,而非做什么。
- 只包含本项目 context 特有的术语。 通用编程概念(timeout、error type、utility pattern)即使项目大量使用也不 belong。添加术语前问:这是 context 独有概念还是通用编程概念?只有前者 belong。
- 自然聚类出现时按小标题分组。 若所有术语属于单一 cohesive 区域,扁平列表即可。
单 context 与多 context repo
单 context(多数 repo): repo 根目录一个 CONTEXT.md。
多 context: repo 根目录 CONTEXT-MAP.md 列出 context、位置及彼此关系:
# Context Map
## Contexts
- Ordering (`./src/ordering/CONTEXT.md`) — 接收并跟踪客户订单
- Billing (`./src/billing/CONTEXT.md`) — 生成发票并处理付款
- Fulfillment (`./src/fulfillment/CONTEXT.md`) — 管理仓库拣货与发货
## Relationships
- **Ordering → Fulfillment**: Ordering 发出 `OrderPlaced` 事件;Fulfillment 消费以开始拣货
- **Fulfillment → Billing**: Fulfillment 发出 `ShipmentDispatched` 事件;Billing 消费以生成发票
- **Ordering ↔ Billing**: 共享 `CustomerId` 与 `Money` 类型
技能推断适用哪种结构:
- 若存在
CONTEXT-MAP.md,读取以找 context - 若仅有根
CONTEXT.md,单 context - 若都不存在,第一个术语 resolved 时懒创建根
CONTEXT.md
多 context 时,推断当前主题 relate 到哪个。若不 clear,询问。