CODELY.md
CODELY.md 是一个持久化记忆文件,为 Tuanjie AI 提供项目特定的指令和上下文。其内容会在每次对话时自动加载到系统提示词中,确保 Tuanjie AI 始终掌握项目的最新指引。
可以将其理解为 AI 在每次会话开始时都会阅读的"项目指南"。
工作原理
CODELY.md 采用层级化加载模 型。系统按以下顺序查找两个位置:
| 优先级 | 位置 | 作用范围 |
|---|---|---|
| 1 | <workspace_root>/CODELY.md | 项目级 — 仅针对当前项目 |
| 2 | ~/.codely-cli/CODELY.md | 全局级 — 跨所有项目共享 |
两个文件都会被加载并拼接在一起(项目级在前,全局级在后)。空文件会被自动跳过。
内容注入方式
每个文件的内容在追加到系统提示词之前,会被包裹在上下文标记中:
--- Context from: CODELY.md ---
(你的文件内容)
--- End of Context from: CODELY.md ---
--- Context from: ~/.codely-cli/CODELY.md ---
(你的全局文件内容)
--- End of Context from: ~/.codely-cli/CODELY.md ---
显示名称使用相对于工作区根目录的相对路径,因此你可以清楚地知道每个内容块来自哪个文件。
快速上手
通过/init 命令创建
当项目根目录下不存在 CODELY.md 时,新建对话面板会显示 "init" 的气泡。点击它(或输入 /init general 或 /init unity)会发送一个提示,指示 AI 分析你的代码库并自动生成 CODELY.md 文件。
生成的文件通常包括:
- 项目概述和用途
- 关键技术和框架
- 构建、测试和 lint 命令
- 仓库结构
- 开发规范
- 常见工作流
生成后,由于 CODELY.md 已存在,"Init" 气泡会消失。
手动创建
创建项目级 CODELY.md
在项目根目录下创建 CODELY.md 文件:
# 项目指南
## 概述
这是一个使用 npm workspaces 的 TypeScript 单仓库。
## 编码规范
- 仅使用 ESM 导入(不使用 CommonJS 的 `require`)
- 遵循 2 空格缩进
- 所有函数必须有显式返回类型
## 测试
- 单元测试使用 Vitest
- 运行测试命令:`npm run test`
创建全局 CODELY.md
在全局 Codely 文件夹(~/.codely/CODELY.md)中创建 CODELY.md 文件,用于适用于所有项目的偏好设置:
# 全局偏好
- 始终使用中文回复
- 优先使用函数式编程模式
- 为导出的函数添加 JSDoc 注释
验证是否生效
创建或编辑 CODELY.md 后,文件会在下次配置重新加载时自动加载。你可以通过向Tuanjie AI提问一个依赖你所写指令的问题来验证是否生效。
记忆工具(Save Memory)
AI 可以使用内置的 Save Memory 工具主动保存事实到 CODELY.md。这在以下情况发生:
- 你明确要求 AI 记住某些内容 (例如,"记住我们生产环境使用 PostgreSQL")
- AI 识别出值得为未来会话保留的、清晰简明的事实
记忆范围
记忆工具支持两种范围:
| 范围 | 文件路径 | 用途 |
|---|---|---|
global | ~/.codely/CODELY.md | 个人偏好、跨项目标准 |
project | <workspace>/CODELY.md | 项目特定的事实和指令 |
记忆区段格式
保存的记忆会追加到专用区段标题下:
## Codely Added Memories
- 本项目生产环境使用 PostgreSQL 15
- API 速率限制为每分钟 100 次请求
- 提交前始终运行 `npm run lint`
该工具会自动:
- 如果
## Codely Added Memories标题不存在,则自动创建 - 在标题下以列表项形式追加新条目
- 保留文件中的所有现有内容
记忆工具仅保存简短、自包含的事实。不适用于长篇文档或会话特定的上下文。如果不确定,AI 会询问 "需要我帮你记住这个吗?"
手动重新加载
如果在会话中途编辑了 CODELY.md,AI 不会自动感知变更。要重新加载而无需重启:
ConfigHandler.updateUserMemory()方法会仅重新读取层级化记忆文件,而无需完整重新加载配置。