Cursor不用Rules会让你的项目失控!一文告诉你怎么使用
Cursor有一个重要功能:Rules,这个功能是让你编写一些规则约束,让Cursor在你的要求下进行工作。
除了Rules外,还有一些项目开发管理的技巧,详见:
一、为什么需要Rules?
大家有没有这样的体会,刚开始使用cursor时,感觉这工具很厉害的,很快就可以做出一个小东西出来?
网上大部分人开始使用cursor,都是从一个小Demo开始试用,比如做个简单小游戏,做一个简单网页之类的。
但是随着你使用深入,比如我,虽然在一定程度上能做出复杂点的项目,但是经常会遇到这样的情况:
然后你回滚也不是,继续让它往下做也不是,然后会不会得到一个认知,Cursor也就这样,只能做做Demo,做做前端页面?
其实不然,这里面的主要原因是,AI是生成式内容,它会根据你的输入词,按照它的向量推导来产出内容的,如果没有一定的约束,Cursor可能会忘记或者不理解你的部分场景,它就会随意进行发挥了,就是常说的幻觉。
这里有一个我亲身体验有没有使用Rules的效果例子:开发一个mcp server第二版本里面第一次尝试失败,第二次尝试(利用rules)成功。
如果你想让AI帮你完成工作,又不希望它随意发挥,就需要使用本文介绍的Rules功能。
二、给Cursor加上Rules
Rules是干啥的?
简单的一句话描述:充当着用户和底层沟通的桥梁。你不必每次都要告诉AI怎么做,它会自动按照这些规则执行。
更直白的说,它充当我们与大模型交互的提示词(prompt)。
相当于你既想AI发挥它的创造力,又想要求它在你需要的约束范围内,以下就是一个Rules条目例子:
三、如何使用
Cursor的Rules包括全局Rules、项目Roles。
全局Rules创建在:Files—Preferences—Cursor Settings—General—Rules for AI里面填写
项目Rules一般建在项目根目录下面,一般是.rules或者.cursor目录,为了保证它能识别,建议由Cursor功能创建,入口在:Files—Preferences—Cursor Settings—General—Project Rules
总体的书写格式如下所示:
### 总体要求
- 子要求1
- 子要求2
- 子要求3
---
我们以一个书写python的例子进行展示,主要有以下四个步骤:
第一步:定义角色,告诉cursor:你是谁,你会哪些技能。
第二步:定义规则,告诉cursor:你在生成的时候应该具备哪些规矩。
第三步:定义目录结构,代码生成的地方,防止cursor将代码随便乱放。
第四步:参考文档,这里可以告诉cursor在生成代码的时候可以参考哪些文档。
四、一些现成的Rules
自己会写Rules最好,因为你自己知道有些要求的。
懒的话,或者刚开始不会写的话,可以参考这些资源的Rules
1、cursor.directory
官方地址:https://cursor.directory/
左边部分可以选择语言类型:python、java、vue等不同语言的类型。
右侧部分是选中类型的一些模板,我们可以点击“复制”按钮直接粘贴即可。
2. awesome-cursorrules
官方地址:https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules
使用方法和cursor.directory用法类似,直接点击对应文件下载即可。
五、后话
“磨刀不误砍柴工”,如果在写代码的时候先准备好rules文件,相信你生成的代码会更符合你的要求。
另外,结合其他的一些项目内容管理技巧,cursor才真正能在项目上用起来。