更新于

Cline Rules 与 Memory Bank 完整使用指南


Cline 的核心特性之一是 Rules 与 Memory Bank——把项目知识沉淀下来,让 AI 跨会话保持一致行为。配置好的工程组能让 Cline 用起来质量翻倍。本文给完整配置指南。

一、Cline 配置的 4 个层次

层级位置作用域
Global Custom InstructionsVSCode 设置所有项目
Workspace Rules.clinerules当前项目
Memory Bankmemory-bank/项目长期记忆
Mode-specific Rules.clinerules-*特定 mode

优先级:Mode-specific > Workspace > Global。

二、Global Custom Instructions

VSCode 设置(Cmd+,)→ 搜 “Cline” → Custom Instructions:

你是经验丰富的工程师,遵循以下原则:

1. 写代码前理解需求,不确定问。
2. 修改最少代码达成目标。
3. 优先复用现有代码,不重复造轮子。
4. 错误处理具体到错误类型,不要泛用 catch-all。
5. 测试驱动:改代码必看测试是否通过。
6. 中文回复。代码注释保持英文(除非项目约定)。

这是”全局人设”。所有项目都生效。

三、.clinerules 项目规则

在项目根创建 .clinerules

# 项目规则

## 技术栈
- Next.js 15 + React 19 + TypeScript
- 数据库: PostgreSQL + Prisma
- 部署: Cloudflare Pages
- 包管理: pnpm(不要用 npm)

## 文件组织
- 组件: src/components/{kebab-name}/index.tsx
- API 路由: src/app/api/v1/{resource}/route.ts
- 工具函数: src/lib/{kebab-name}.ts

## 命名约定
- 变量/函数: camelCase
- 类型/组件: PascalCase
- 常量: UPPER_SNAKE_CASE
- 文件: kebab-case

## 编码风格
- 不写空 try/catch
- API 响应统一 { ok, data?, error? }
- 不用 any,用 unknown 或具体类型
- 公开 API 必须 JSDoc

## 不要做
- 不修改 package.json 主版本号
- 不引入新依赖(先和我商量)
- 不动 prisma migrations 历史
- 不删测试,除非真过时

## 测试
- 测试文件 *.test.ts 紧邻被测文件
- 必须覆盖正常 / 边界 / 异常
- 改代码后跑 pnpm test 确认通过

每次 Cline 启动会自动读 .clinerules。它是项目级 system prompt。

四、Memory Bank(核心特性)

Memory Bank 是 Cline 独有的”持久化记忆”。在项目根创建 memory-bank/ 目录:

memory-bank/
├── projectbrief.md
├── productContext.md
├── activeContext.md
├── systemPatterns.md
├── techContext.md
└── progress.md

projectbrief.md

# 项目简介

## 是什么
DocSync:Notion / Google Docs 文档同步到 GitHub Markdown 的 SaaS。

## 目标用户
技术博主、Indie hacker。

## 核心价值
让"在 Notion 写文档"和"在 GitHub 托管 Markdown 博客"无缝衔接。

## 商业模式
$9/月订阅,14 天免费试用。

productContext.md

# 产品上下文

## 为什么做这个
当前痛点:作者用 Notion 写,发布要手工导出 / 转 Markdown / 推 GitHub。

## 解决方案
连接 Notion API → 转换 → 推 GitHub。自动化。

## 不做什么
- 不做 SEO 服务
- 不做 hosting
- 不做编辑器

activeContext.md

# 当前活跃上下文

## 在做什么
正在实现 OAuth 接入 Notion。

## 已完成
- 基础 auth(email magic link)
- 用户表
- 落地页

## 下一步
- Notion OAuth callback
- token 加密存储
- 选择页面同步

systemPatterns.md

# 系统设计模式

## API 响应
所有 /api/* 返回 { ok: boolean, data?: T, error?: { code, message } }

## 错误处理
使用 src/lib/errors.ts 的 AppError 类,按 error.code 分类

## 数据库访问
用 src/lib/db.ts 导出的 prisma 实例。不要 import @prisma/client

## 鉴权
JWT in httpOnly cookie,validate by src/lib/auth/validate.ts

techContext.md

# 技术上下文

## 关键依赖
- next@^15 (App Router)
- prisma@^6
- @prisma/adapter-neon (Cloudflare 必须)
- resend@^4
- stripe@^17

## 配置入口
- .env.local(本地)
- Cloudflare Pages secrets(生产)

## 部署
push to main → GitHub Actions → wrangler pages deploy

progress.md

# 进度

## 已完成
- [x] 项目骨架
- [x] auth(email magic link)
- [x] 落地页

## 进行中
- [ ] Notion OAuth

## 待办
- [ ] 同步 worker
- [ ] Stripe 集成
- [ ] dashboard

五、Memory Bank 在 Cline 里怎么用

Cline 启动时如果检测到 memory-bank/ 会自动读全部 markdown。你不需要每次手动 @-mention

但要它主动更新,需要触发:

> 完成了 Notion OAuth。把进展写进 memory-bank/progress.md 和 activeContext.md。

或者让 Cline 在每个长任务结束时自己写:

# .clinerules 加一条

## Memory Bank 更新规则
每完成一个 milestone:
1. 更新 progress.md
2. 更新 activeContext.md
3. 如有架构变更,更新 systemPatterns.md

六、Mode-specific Rules

.clinerules-plan-mode.clinerules-act-mode 分别给 Plan / Act 模式独立配置。

.clinerules-plan-mode

# Plan Mode 规则

- 只规划,不动文件
- 输出格式:
  1. 任务目标(1 句话)
  2. 实施步骤(编号列表)
  3. 风险与未知(明确列出)
  4. 验收标准(可测量)
- 复杂任务拆成 3–5 步,每步可独立完成 + 验证

.clinerules-act-mode

# Act Mode 规则

- 按 Plan 实施,不要发散
- 每步完成后跑相关测试
- 测试失败要:
  1. 报告失败
  2. 分析根因
  3. 提出修复方案
  4. 修复(如简单)或问我(如复杂)
- 不要静默跳过错误

七、Cline Rules 与 .cursorrules 的差异

维度Cline .clinerulesCursor .cursorrules
注入位置system promptsystem prompt
Memory Bank✓ 独有部分(rules 文件)
Mode-specific部分
团队共享commit 即可commit 即可

Cline 的 Memory Bank 是它的核心差异化。Cursor 用户也可以模仿做一份 docs/,但不会自动注入

八、写好 Rules 的纪律

  • 写约束多于描述:少写”你是好工程师”,多写”不要做 X”
  • 具体而非抽象:不写”代码要简洁”,写”函数 ≤ 30 行”
  • 可验证:不写”风格统一”,写”用 prettier 配置”
  • 更新:每完成一个 milestone 检查 rules 是否要调
  • 不要超过 2000 字:太长 AI 记不住

九、防 Memory Bank 漂移

长期使用 Memory Bank 容易”自我矛盾”——前后写的内容冲突。每月做一次 audit:

> 审计 memory-bank/ 全部文件,找出:
> 1. 互相矛盾的描述
> 2. 已过时的内容
> 3. 缺失的关键信息
> 列一份清单,但不要改文件。

人工 review 后再决定怎么改。

十、实战:一个完整的 .clinerules 模板

我们 commit 进项目根:

# Cline Rules: DocSync 项目

## 角色
你是 senior fullstack engineer,专注 Next.js + TypeScript。

## 通用原则
- 改最少代码达成目标
- 优先用项目现有模式(看 systemPatterns.md)
- 不引入新依赖,除非必要(要先跟我说)
- 中文回复,代码注释英文

## 技术栈(详见 memory-bank/techContext.md)
- Next.js 15 App Router
- Prisma + @prisma/adapter-neon
- Cloudflare Pages

## 必须遵守
- API 响应 { ok, data?, error? }
- 用 pnpm 不用 npm
- 测试紧邻代码,*.test.ts
- 改完代码跑 pnpm test

## 严格禁止
- rm -rf 任何东西
- git push --force
- 修改 prisma/migrations/* 历史
- 引入 lodash、moment 等大库

## 工作模式
- 默认 Plan Mode 起步
- 复杂任务先列计划
- 每完成一步更新 memory-bank/progress.md

十一、相关阅读

把 Cline + Memory Bank 接入 YoTradeApi 一把 Key,按上面 .clinerules 模板开始即可。