目录

Cline 自定义指令库

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

什么是 Cline 自定义指令?

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

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

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

贡献自定义指令

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

提交自定义指令时,请遵循以下模板:

1. 目的和功能

  • 这组指令的目标是什么?
    • 清晰简洁地解释指令集的目标和预期用例。
    • 示例:”这组指令指导 Cline 为现有 JavaScript 函数生成单元测试。”
  • 这组指令最适合什么类型的项目或任务?
    • 概述这组指令最适用的具体项目类型、编程语言或开发场景。
    • 示例:”这最适合使用 Jest 测试框架的 JavaScript 项目。”

2. 使用指南(可选)

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

3. 作者和贡献者

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

4. 自定义指令

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

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

Cline 记忆库 - 自定义指令

1. 目标和功能

  • 这套指令的目标是什么?
    • 该指令集将 Cline 转变为一个自文档化的开发系统,通过结构化的”记忆库”在会话之间保持上下文。它确保了文档的一致性、变更的仔细验证以及与用户的清晰沟通。
  • 这套指令最适合哪些项目或任务?
    • 需要广泛上下文跟踪的项目
    • 任何项目,不限技术栈(技术栈详情存储在 techContext.md 中)
    • 正在进行和新的项目

2. 使用指南

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

  • 项目设置
    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
  • 贡献者

4. 自定义指令

# 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. 完成当前任务

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