前段时间在用 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 

  1. 创建文件: 在项目的根目录下,新建一个名为 .cursorrules 的文件。

  2. 编写规则: 根据项目需求,明确定义项目目标、编码标准、文件结构等关键规则。

  3. 实时更新: 随着项目需求的变化,随时对 .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,希望这次分享能有帮助。

如果觉得不错,随手点个赞、收藏、转发三连吧。

如果想第一时间收到推送,也可以给我个关注 ⭐

谢谢你看我的文章 ~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐