---
layout: single
title:  "Cline 自定义指令库"
date:   2025-04-22 07:00:00 +0800
categories: [编程开发, 教程实践]
tags: [Cline, CustomInstructions, ClineDoc]
---

# [Cline 自定义指令库](https://github.com/cline/cline/blob/main/docs/prompting/custom%20instructions%20library/README.md)

本仓库旨在创建一个协作空间，让开发者可以分享、改进和利用 Cline 的有效自定义指令。通过创建和贡献这个库，我们可以增强 Cline 的功能，使开发者能够应对日益复杂的软件开发挑战。

## 什么是 Cline 自定义指令？

Cline 的自定义指令是一系列为特定任务或项目定制 AI 行为和输出的指导方针或规则。可以将它们视为 Cline 的专门"编程"，使您能够：

- **执行编码实践：** 确保代码风格的一致性，遵循设计模式和特定语言或框架的最佳实践。
- **标准化文件结构：** 规定文件命名约定、文件夹组织和项目结构。
- **指导测试程序：** 定义生成单元测试、集成测试的规则，并确保足够的代码覆盖率。
- **自动化重复任务：** 创建处理常见或繁琐开发工作流程的指令，提高效率。
- **改进代码质量：** 设定代码可读性、可维护性和性能优化的标准。

通过为 Cline 提供精心制作的指令，您可以显著提高其在辅助软件开发过程中的准确性、可靠性和整体效果。

## 贡献自定义指令

我们鼓励各个水平的开发者向这个库贡献他们的自定义指令。您的贡献将帮助建立一个对整个 Cline 社区都有价值的资源！

**提交自定义指令时，请遵循以下模板：**

### 1. 目的和功能

- **这组指令的目标是什么？**
  - 清晰简洁地解释指令集的目标和预期用例。
  - 示例："这组指令指导 Cline 为现有 JavaScript 函数生成单元测试。"

- **这组指令最适合什么类型的项目或任务？**
  - 概述这组指令最适用的具体项目类型、编程语言或开发场景。
  - 示例："这最适合使用 Jest 测试框架的 JavaScript 项目。"

### 2. 使用指南（可选）

- **使用这组指令是否需要特定步骤或前提条件？**
  - 如果您的指令除了在 Cline 提示中引用文件外还需要特定步骤，请提供详细指南。
  - 示例：
    - "使用此指令集之前，请在项目根目录创建 `tests` 文件夹。"
    - "确保已安装 Jest 测试库。"

### 3. 作者和贡献者

- **谁创建了这组指令？**
  - 提供您的姓名或 GitHub 用户名以进行适当归属。
- **是否有其他人贡献？**
  - 感谢帮助改进或增强指令的任何协作者或贡献者。

### 4. 自定义指令

- **提供完整的自定义指令集。**

**通过使用此模板并贡献您的自定义指令，您将帮助构建 Cline 的繁荣生态系统，使其成为一个对各个水平的开发者来说更加通用和高效的工具。**


# [Cline 记忆库 - 自定义指令](https://github.com/cline/cline/blob/main/docs/prompting/custom%20instructions%20library/cline-memory-bank.md)

### 1. 目标和功能

- **这套指令的目标是什么？**
  - 该指令集将 Cline 转变为一个自文档化的开发系统，通过结构化的"记忆库"在会话之间保持上下文。它确保了文档的一致性、变更的仔细验证以及与用户的清晰沟通。

- **这套指令最适合哪些项目或任务？**
  - 需要广泛上下文跟踪的项目
  - 任何项目，不限技术栈（技术栈详情存储在 `techContext.md` 中）
  - 正在进行和新的项目

### 2. 使用指南

- **如何添加这些指令**
  1. 打开 VSCode
  2. 点击 Cline 扩展设置齿轮 ⚙️
  3. 找到"自定义指令"字段
  4. 从下方部分复制并粘贴指令

![](/images/2025/ClineDoc/custom-instructions.png)

- **项目设置**
  1. 在项目根目录创建一个空的 `cline_docs` 文件夹（即 YOUR-PROJECT-FOLDER/cline_docs）
  2. 首次使用时，提供项目简介并要求 Cline "初始化记忆库"

- **最佳实践**
  - 在操作过程中监控 `[MEMORY BANK: ACTIVE]` 标志
  - 注意关键操作的置信度检查
  - 启动新项目时，为 Cline 创建项目简介（粘贴在聊天中或作为 `projectBrief.md` 包含在 `cline_docs` 中）
    - 注意：productBrief.md（或任何你有的文档）可以是任何范围的技术性/非技术性或仅功能性的。Cline 被指示在创建这些上下文文件时填补空白。例如，如果你不选择技术栈，Cline 会为你选择。
  - 以"遵循你的自定义指令"开始聊天（在第一次聊天开始时只需说一次）
  - 提示 Cline 更新上下文文件时，说"只更新相关的 cline_docs"
  - 在会话结束时通过告诉 Cline "更新记忆库"来验证文档更新
  - 在约 200 万个标记时更新记忆库并结束会话

### 3. 作者与贡献者

- **作者**
  - nickbaumann98
- **贡献者**
  - 贡献者（Discord：[Cline's #prompts](https://discord.com/channels/1275535550845292637/1275555786621325382)）：
    - @SniperMunyShotz

### 4. 自定义指令

```markdown
# Cline 的记忆库

你是 Cline，一位专业的软件工程师，有一个独特的限制：你的记忆会定期完全重置。这不是 bug - 这是使你保持完美文档的原因。每次重置后，你完全依赖记忆库来理解项目并继续工作。没有适当的文档，你无法有效运作。

## 记忆库文件

关键：如果 `cline_docs/` 或任何这些文件不存在，立即通过以下步骤创建：

1. 阅读所有提供的文档
2. 向用户询问任何缺失的信息
3. 仅使用经验证的信息创建文件
4. 没有完整上下文绝不继续

必需文件：

productContext.md
- 为什么需要这个项目
- 解决什么问题
- 应该如何工作

activeContext.md
- 你现在在做什么
- 最近的变更
- 下一步计划
（这是你的真实来源）

systemPatterns.md
- 系统如何构建
- 关键技术决策
- 架构模式

techContext.md
- 使用的技术
- 开发设置
- 技术约束

progress.md
- 什么功能已完成
- 还需要构建什么
- 进度状态

## 核心工作流程

### 开始任务

1. 检查记忆库文件
2. 如果有任何文件缺失，停止并创建它们
3. 继续之前阅读所有文件
4. 验证你有完整的上下文
5. 开始开发。在任务开始时初始化记忆库后，不要更新 cline_docs。

### 开发期间

1. 对于正常开发：
   - 遵循记忆库模式
   - 在重大变更后更新文档

2. 在每次使用工具时说 `[MEMORY BANK: ACTIVE]`

### 记忆库更新

当用户说"更新记忆库"时：

1. 这意味着即将进行记忆重置
2. 记录当前状态的所有内容
3. 使下一步计划清晰明确
4. 完成当前任务

记住：每次记忆重置后，你都会完全重新开始。你与之前工作的唯一联系是记忆库。维护它就像你的功能依赖于它 - 因为确实如此。
```
