新版本 Cursor rules .mdc格式文件使用经验分享

前言

Cursor 团队的更新速度令人惊叹,近期新版本对 .cursorrules 进行了调整。相关的文章较少,因此我决定分享一下我个人在新版 Cursor rules 中的使用体验

新版 Cursor Rules

根据官网的 changelog,新版本引入了 Project rules,用于对项目规则进行管理。这将逐步替代根目录下的 .cursorrules 文件,从而实现更细化的规则管理,并提升开发体验(DX)。

官方提供的 "Rules for AI" 文档可以在此查看:Rules for AI

在设置面板中,你会看到 User RulesProject RulesUser Rules 用于应用到你本地机器上的规则,而我使用的是官方默认设置 "Always respond in 中文",没有做太多修改,因为我担心太多限制会影响 AI 的表现😂。Project Rules 则是将规则推送到代码仓库,让团队共享和使用。

通过在设置面板点击 Add new rule,你可以为规则命名并添加多个规则文件。相比之前的 .cursorrules 单一文件,规则现在可以按类别进行更细致的分类。

添加后会自动在 .cursor/rules 创建对应的 mdc 格式文件。

新版本的 Rule Type

新版本多了 Rule Type,有四个类别:

  • Always:全局规则始终生效,包括快捷键命令(cmd + K)中的对话。
  • Auto Attached:当匹配到特定文件时生效,可以使用文件路径的正则表达式进行匹配(例如 *tsx src/config/*,用于配置文件或测试文件)。
  • Agent Request:代理可以看到该描述并决定是否查看完整的规则,适用于代理模式。
  • Manual:需要手动在对话中@上才生效,适用于一些特殊场景的规则,不会影响全局或其他文件。

我将之前的规则设置为 Always 类型,目前还未用到其他类型。对我来说,日常使用时这些规则已经足够与 Cursor 配合得很好。

使用经验分享

规则是根据自己项目的需求逐步改进的,通常没有一蹴而就的解决方案。你可以从网上复制一些通用规则,然后根据团队的实际习惯逐步自定义。

举个例子,每次我安装新的第三方依赖包时,Cursor 总是默认使用 npm 安装,但我们项目使用的是 pnpm。为了避免每次都纠正这个问题,我将其添加到了项目规则中,这样以后就不需要每次都手动提醒了。

所以我总结的使用经验就是,假如日常使用中总是需要强调的问题,AI 由于上下文丢失或新建对话总会忘记,这些我们定制的要求就可以添加到 rules 中了。

注意事项

随着版本的更新,旧版 .cursorrules 文件会逐步被废弃。但团队成员可能尚未升级到 0.46 版本或更高版本,因此建议不要直接删除 .cursorrules 文件。可以先保留原文件,然后在本地禁用对 .cursorrules 文件的读取。

使用 AI 生成 mdc 规则

如果你想快速生成新的规则,可以使用 Cursor Directory 网站,上传旧的 .cursorrulespackage.json 文件,自动生成 MDC 格式的规则描述。不过,根据我的体验,生成的规则可能未完全符合我的需求,感兴趣的朋友可以尝试一下。

结语

这篇文章分享了我个人在日常使用新版 Cursor Rules 的一些经验。如果你有更好的建议或发现了不准确的地方,欢迎交流和指正。希望大家能利用 AI 工具提升工作效率,ღ( ´・ᴗ・` )比心。

相关推荐
江公望8 小时前
VUE3中,reactive()和ref()的区别10分钟讲清楚
前端·javascript·vue.js
攀登的牵牛花8 小时前
前端向架构突围系列 - 框架设计(二):糟糕的代码有哪些特点?
前端·架构
EndingCoder8 小时前
函数基础:参数和返回类型
linux·前端·ubuntu·typescript
longze_78 小时前
生成式UI与未来AI交互变革
人工智能·python·ai·ai编程·cursor·蓝湖
码客前端8 小时前
理解 Flex 布局中的 flex:1 与 min-width: 0 问题
前端·css·css3
Komorebi゛8 小时前
【CSS】圆锥渐变流光效果边框样式实现
前端·css
工藤学编程9 小时前
零基础学AI大模型之CoT思维链和ReAct推理行动
前端·人工智能·react.js
徐同保9 小时前
上传文件,在前端用 pdf.js 提取 上传的pdf文件中的图片
前端·javascript·pdf
怕浪猫9 小时前
React从入门到出门第四章 组件通讯与全局状态管理
前端·javascript·react.js
欧阳天风9 小时前
用setTimeout代替setInterval
开发语言·前端·javascript