前段时间在用 Cursor 写代码,遇到一个让人抓狂的问题 ——
一开始 AI 输出的代码还挺正常,可是越聊到后面,它突然开始"放飞自我":
生成的代码乱七八糟, 目录结构完全不对, 命名风格也很混乱...
那会我还不知道 .cursorrules 这个"宝藏",只能一遍遍地提醒 AI:
"要用这个框架", "放到那个目录" , "按这个规范写"。
直到我发现了 Cursor 的隐藏功能,才彻底解决了这个困扰...
一、什么是 .cursorrules
简单来说,.cursorrules 就是一个需要放在项目根目录的"说明书"。
想象一下,你请了个助手帮你整理房间。第一次你得告诉他:
-
"衣服要叠好放衣柜"
-
"书本要按大小排列"
-
"零食要放储物盒" ...
但如果你把这些要求写成一份"整理指南",助手每次来都能按照这个指南操作,是不是就不用重复说了?
.cursorrules 就是这样的存在 ——
你提前把编码规则、项目结构、注意事项写在这个文件里,AI 就会自动按照这些"要求"来帮你写代码。
二、如何创建优质的 .cursorrules
记得我刚开始写 .cursorrules 时,完全不知道该写什么。
经过一段时间的摸索,发现其实就是把项目中影响AI输出方向的"规矩"写下来。
上面截图是一张相对全面的 .cursorrules 写法。
我们也可以按照自己的项目需求来优化里面的内容和结构。
来看看几个关键部分:
一)先说清楚你是谁
这就像你找了个技术大牛来帮你,先告诉他"你期待他是什么样的人,拥有什么专业技能"。
这样 AI 就会按照专家的水准来思考和 coding。
案例:
# 角色
你是一个 Python 开发专家
特长是 Flask 和 API 开发
有丰富的实战经验
二)告诉 AI 你要干什么
这相当于项目启动前的需求对齐。
你告诉 AI:"我们这个项目要做成什么样"。AI 就会始终围绕这些目标来写代码。
案例:
# 目标
- 开发高效的 API 解决方案
- 保证代码易于理解和维护
- 确保方案具有可扩展性
三)定好项目的"规矩"
这是在强调团队的代码规范。
统一的代码风格不仅看着舒服,维护起来也更容易。AI 会严格按照这些规范来写代码。
案例:
# 开发规范
- 用 def 定义函数,不用 lambda
- 函数都要写类型提示
- 条件语句要简洁(能一行绝不写三行)
四)明确文件放哪
就像整理房间要分区一样,代码也需要规划好"位置"。
这样 AI 生成的代码就不会乱放,后期找起来也方便。
案例:
# 目录结构
- app/:核心代码
- models/:数据相关
- utils/:工具函数
- tests/:测试文件
五)指定用什么"工具"
提前说好用什么框架和库,AI 就不会随便引入其他依赖,保证项目的整洁和统一。
案例:
# 项目依赖
- Flask:主框架
- Flask-SQLAlchemy:处理数据库
- Flask-JWT-Extended:处理登录验证
六)告诉 AI 怎么做测试
这就像做菜要试味道一样,写代码也要测试。
提前告诉 AI 测试的标准,它生成的代码就会考虑到可测试性,也会主动帮你写测试用例。
案例:
# 测试要求
- 用 pytest 写单元测试
- 用 Flask 测试客户端做集成测试
- 要设置好测试数据
七)推荐参考资料
这相当于给 AI 一个"学习资料",它会基于这些最佳实践来写代码,避免一些常见的坑。
案例:
# 参考文档
参考Flask 官方文档(xx地址xx):重点看视图、蓝图和扩展部分
八)UI 的要求是什么
最开始的案例中不涉及到任何页面的开发。
如果咱们的项目需要画页面,可以补充下 UI 的要求。
案例:
# UI 要求
## 样式规范
- 必须使用 Tailwind CSS
- 只用核心工具类,不用 JIT 特性
- CSS 类名要按布局、尺寸、样式的顺序排列
- 避免内联样式和!important
## 组件规范
- 优先使用 shadcn/ui 组件库
- 自定义组件必须是响应式的
- 组件要写 PropTypes
- 每个组件都要加注释说明用途
## 界面交互
- 按钮必须有 hover 和 active 状态
- 加载状态要有 loading 提示
- 表单提交要有验证反馈
- 操作要有成功/失败提示
三、如何使用.cursorrules
-
创建文件: 在项目的根目录下,新建一个名为 .cursorrules 的文件。
-
编写规则: 根据项目需求,明确定义项目目标、编码标准、文件结构等关键规则。
-
实时更新: 随着项目需求的变化,随时对 .cursorrules 文件进行更新和优化。
四、在哪里快速借鉴他人 .cursorrules
到这里,有人可能会问:有没有好用的文件可以供我们参考学习下?
别担心,网上已经有很多开源的 .cursorrules 文件。
一)cursor.directory
官方地址: https://cursor.directory/
二)awesome-cursorrules
地址: https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules
我们直接找到对应的编程语言、框架对应的文件,直接拷到本地就可以。
另外,我准备了几个常用的中文.cursorrule 文件。
大家可以在公众号后台回复“cursor 规则”领取。
五、AI 规则 和 .cursorrules 有什么区别呢?
本质上都是对于 AI 辅助编程的系统提示词,只是他们的作用范围不一样。
Cursor 设置里的 AI 规则 影响所有项目,不管你是什么语言,什么架构,什么交互方式,而 .cursorrules 只会影响当前项目。
所以,我们可以把通用的要求放在 AI 规则里,把项目独有的要求放在各个项目的 .cursorrules 里,这样就可以最大限度地提高用户的开发效率。
六、总结
备注:评论区回复“AI编程”,领取超全的 AI 编程资料。
从最初的混乱输出,到发现 .cursorrules 这个解决方案,让我明白了一个道理:
在 AI 时代,高手和新手的区别,在于是否懂得制定规则。
写代码如此,做其他事情也是一样 ——
与其一遍遍地纠正,不如一开始就把规矩定好。
所以,下次当你想让 AI 帮你完成任务时,先花几分钟写个"说明书"。
这样,AI 就会变成一个靠谱的助手,而你也会成为真正懂得驾驭 AI 的人。
欢迎在评论区分享你的使用心得 👇
我是 🐼 熊猫 Jay,希望这次分享能有帮助。
如果觉得不错,随手点个赞、收藏、转发三连吧。
如果想第一时间收到推送,也可以给我个关注 ⭐
谢谢你看我的文章 ~