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,询问。