
双击可切换的 .clinerules(+ 自我改进的 Cline)
作为 Cline 的产品营销经理,我经常尝试各种方法来微调 Cline 的行为以适应不同的任务。有一段时间,我依赖于一个 .clinerules/ 和 clinerules-bank/ 文件夹系统,手动来回拖动规则文件以激活不同的指令集。说实话?这有点烦人——很难跟踪哪些规则处于活动状态,容易忘记切换,而且总体上很麻烦。但我从这些 .clinerules 的“模块化”特性中获得了巨大的价值。
这就是为什么 Cline v3.13 中引入的可切换 .clinerules UI 如此受欢迎的原因。它用简单的点击取代了手动文件管理,提供了一种更流畅的方式来即时控制 Cline 的指令。
让我们看看它是如何工作的以及它为您的工作流程带来的实际好处。
全局规则与工作区规则
让我们快速回顾一下 Cline 使用的两种规则类型,现在都可以通过弹出窗口轻松管理。
- 全局规则:存储在系统上的中央 Cline 规则文件夹中(例如 macOS/Linux 上的
~/Documents/Cline/Rules,或 Windows 上的类似位置),这些规则可用于您的所有项目。将它们用于您的通用编码风格、首选角色或您始终希望激活的通用指令,除非您明确将其关闭。 - 工作区规则:位于当前项目根目录中的
.clinerules/目录中,这些规则特定于该代码库。使用它们来设置团队标准、项目特定上下文或仅与该存储库相关的指南。
需要记住的关键是,您切换为“开启”的任何规则文件(全局或工作区)的内容都会直接附加到该会话的 Cline 系统提示词中。这不仅仅是被动上下文;它主动塑造了 Cline 的核心推理以及它如何执行您的请求。

v3.13 弹出窗口:您的新控制面板
我前面描述的手动过程(拖动文件)现在已成为历史。v3.13 .clinerules 弹出窗口(位于聊天输入框正下方)是您的中心枢纽。
- 查看活动状态:立即查看所有可用的全局和工作区规则及其当前的开/关状态。
- 轻松添加规则:使用“+”按钮在全局或工作区范围内创建新的空白规则文件(
.md)。如果文件夹不存在,Cline 会自动处理创建必要的文件夹(~/Documents/Cline/Rules或.clinerules/)。 - 切换开关:这是工作流程改进的亮点所在。只需点击任何规则文件旁边的开关即可启用或禁用它。
切换为“开启”会将规则内容附加到系统提示词;切换为“关闭”则将其删除。这种即时控制允许进行以前不切实际的动态调整。
转移 Cline 的焦点:就像按需换挡一样
将您的 .clinerules 文件(包括全局和工作区)视为定义特定的指令集或 操作配置。每个规则文件都可以封装特定的焦点、角色或一组标准。然后,切换 UI 成为您的控制面板,用于在您自己在开发过程中焦点转移时,立即在这些配置之间切换 Cline。
您可以这样利用这一点
- 定义特定任务的配置:为常见的开发活动创建细粒度的规则文件。例如:
debug-logging.md:指示 Cline 在调试期间添加详细日志。test-generation-jest.md:指导 Cline 按照您的模式编写 Jest 单元测试。refactor-dry-principles.md:让 Cline 专注于识别和减少代码重复。docs-technical-style.md:强制执行团队的技术文档风格。commit-conventional-format.md:确保提交消息遵循特定的标准。
- 流畅地切换上下文:无需开始新的聊天或手动编辑指令,只需切换相关规则的开/关即可。
- 示例:您正在修复一个 bug,因此您激活
debug-logging.md。修复后,您将其关闭并激活test-generation-jest.md来编写回归测试。然后,关闭那个,在提交之前激活commit-conventional-format.md。Cline 在每个阶段无缝地调整其行为,由活动的指令集指导,所有这些都在同一个对话中进行。
- 示例:您正在修复一个 bug,因此您激活
某些项目使用内存库,但不是所有项目都使用?将 memory-bank.md 添加到您的全局规则中,并在需要时将其打开。
- 组合指令集:需要 Cline 既遵循 React 最佳实践又遵循您项目的特定组件库指南?同时打开
react-best-practices.md(全局)和project-component-library.md(工作区)。这些规则将在系统提示词中组合起来。 - 利用任务中期枢轴:如前所述,在保留对话历史记录的同时在任务中期切换的能力是关键。如果您正在深入实施某项功能(
feature-x-logic.md处于活动状态)并意识到有重构机会,您可以通过打开refactor-dry-principles.md立即切换 Cline 的焦点,而不会丢失功能工作的上下文。解决重构问题,然后切换回您的功能规则。
注意:在任务中期切换规则非常强大,因为您利用了相同的上下文但使用了新的指令集。但是,它确实有代价,因为修改 .clinerules 会破坏提示缓存。
通过将您的 .clinerules 视为不同且可切换的配置,您可以更精确、更高效地指导 Cline,使其核心指令适应每个开发阶段或任务的特定要求。
自我改进的 Cline:Cline 可以编写和完善自己的规则
这是 .clinerules 真正与设置中静态的“自定义指令”字段不同的地方。因为规则只是您工作区或全局规则文件夹中的 .md 文件,所以 Cline 本身可以使用其文件编辑工具创建和修改它们。
这解锁了一个强大的元能力
- 自动化工作流程定义:您是否希望 Cline 始终遵循重复性任务或特定输出格式?与其手动编写规则,不如要求 Cline 创建一个新的
.clinerules文件来定义该工作流程。例如:“Cline,创建一个名为commit-message-format.md的新工作区规则,指示你始终遵循 Conventional Commits 标准来格式化提交消息。” - 交互式完善现有规则:如果您发现某个规则效果不佳,您不必自己打开文件。您可以向 Cline 提供反馈,并要求它直接编辑规则。
我发现自己经常要求 Cline 根据任务过程中的反馈来改进 .clinerules,以至于我创建了一个“self-improving-cline.md”规则,该规则指示 Cline 自主地提供改进 .clinerules 的建议。我已将其添加为全局规则。
# Self-Improving Cline Reflection
**Objective:** Offer opportunities to continuously improve `.clinerules` based on user interactions and feedback.
**Trigger:** Before using the `attempt_completion` tool for any task that involved user feedback provided at any point during the conversation, or involved multiple non-trivial steps (e.g., multiple file edits, complex logic generation).
**Process:**
1. **Offer Reflection:** Ask the user: "Before I complete the task, would you like me to reflect on our interaction and suggest potential improvements to the active `.clinerules`?"
2. **Await User Confirmation:** Proceed to `attempt_completion` immediately if the user declines or doesn't respond affirmatively.
3. **If User Confirms:**
a. **Review Interaction:** Synthesize all feedback provided by the user throughout the entire conversation history for the task. Analyze how this feedback relates to the active `.clinerules` and identify areas where modified instructions could have improved the outcome or better aligned with user preferences.
b. **Identify Active Rules:** List the specific global and workspace `.clinerules` files active during the task.
c. **Formulate & Propose Improvements:** Generate specific, actionable suggestions for improving the *content* of the relevant active rule files. Prioritize suggestions directly addressing user feedback. Use `replace_in_file` diff blocks when practical, otherwise describe changes clearly.
d. **Await User Action on Suggestions:** Ask the user if they agree with the proposed improvements and if they'd like me to apply them *now*. Apply changes if approved, then proceed to `attempt_completion`.
**Constraint:** Do not offer reflection if:
* No `.clinerules` were active.
* The task was very simple and involved no feedback.
Cline 能够修改自己的指导指令的能力将规则管理转变为一个动态的协作过程,让您能够构建一个高度个性化和自我改进的 AI 助手。
入门和共享您的规则
- 更新 Cline:确保您拥有 v3.13 或更高版本。
- 组织您的规则:模块化思考。将广泛的指令分解为重点突出的
.md文件(例如,error-handling.md、typescript-style.md、database-schema-rules.md)。使用弹出窗口中的“+”按钮在正确的范围内(全局或工作区)创建它们。请记住,Cline 会自动创建文件夹。 - 进行实验:尝试切换规则。看看激活不同组合如何影响 Cline 的响应。当您需要在保持上下文的同时进行调整时,尝试任务中期切换。
- 了解更多信息:有关更深入的探讨,请查看提示词文档:https://docs.cline.net.cn/prompting/README.md
- 与社区分享!您正在创建哪些巧妙的规则?您如何组合它们?与社区分享您的
.clinerules文件和策略!将它们发布到 Reddit (https://www.reddit.com/r/cline/) 或在 Discord (https://discord.gg/cline) 上讨论想法。让我们建立一个有效的指令共享库。
本博客由 Cline 产品营销部的 Nick Baumann 撰写。请关注我们 @cline 以获取有关开发未来的更多见解。


