指南

Environment

Environment 是项目的描述性知识——当前存在的内容。它捕获技术栈、源码结构、构建配置、领域知识和代码依赖。与 Genome(规范性——如何构建)不同,Environment 描述的是当前状态。

两层结构

text
.reap/environment/
├── summary.md      # 始终加载(约 250 行)——技术栈、源码结构、构建、测试
├── domain/         # 领域知识(按需)
├── resources/      # 外部参考文档——API 文档、SDK 规格(按需)
├── docs/           # 项目参考文档——设计文档、规格说明(按需)
└── source-map.md   # 代码结构 + 依赖(按需)

层级

层级加载方式内容限制
summary.md会话开始时始终加载技术栈、源码结构、构建配置、测试设置。AI 的基线理解。约 250 行
domain/按需(需要时加载)领域知识——业务规则、API 规格、基础设施详情。无限制
resources/按需(需要时加载)外部参考文档——API 文档、SDK 规格、第三方文档。无限制
docs/按需(需要时加载)项目参考文档——设计文档、规格说明、架构决策。无限制
source-map.md按需(需要时加载)当前代码结构和依赖映射。无限制

Environment 不可变性

与 Genome 一样,Environment 在代中不会被直接修改。变更被记录为 environment-change backlog 项,在 Completion reflect 阶段应用。

通过在 backlog 中捕获变更而非在代中途重写 Environment,代在稳定的映射上完成。更新在 reflect 阶段一次性完成,此时已有构建内容的完整上下文。

加载策略

summary.md 在会话开始时始终加载。domain/ 和 source-map.md 在 AI 需要特定任务的更深层上下文时按需加载。

知识管理

使用 /reap.knowledge 审查和管理 Environment。在 Completion reflect 阶段,AI 自动刷新 environment 以反映代中所做的变更。

summary.md
始终加载
项目技术状态的紧凑概览。在每次会话中加载,使 AI 拥有基线上下文。
domain/ + resources/ + docs/ + source-map.md
按需
当 AI 需要当前任务的特定领域、外部参考或结构上下文时加载的更深层知识。

两层策略平衡了上下文窗口效率(summary.md 很小)与深度(domain/ 和 source-map.md 在需要时可用)。