掌握更有智慧的 Cursor Rule,不但能让你收到老板的点赞,还有更多时间摸鱼
关注我,每天收获一个新技能!
什么是Cursor?Cursor 的核心特征是什么?什么是 Cursor Rule?在哪里配置?有哪三种类型 Cursor Rule 的配置方式?有哪些更加高级的专业提示用法?在哪里找到更多的 Cursor Rule 范例?
1
Cursor 是一个集成了先进大型语言模型(LLM)如GPT-4、Claude 3.5的代码编辑器,可以理解为在VSCode中集成了AI辅助编程助手。它通过自然语言理解和代码生成技术,帮助开发者更高效地编写和理解代码。
Cursor 的核心特征包括:
- AI辅助编码
实时代码建议和自动完成,智能代码解释和重构,快速上下文相关的文档查询,集成的AI聊天功能用于问答和问题解决。 - 现代化的用户界面和流畅的用户体验
支持多种编程语言和框架,提供个性化的编码体验。 - 版本控制
内置版本控制功能,自动创建检查点以回滚代码。 - 多文件编辑
在一个对话窗口里同时对多个文件进行修改。
2
Cursor Rules 是放置在项目根目录下的一个特殊文件,用于自定义Cursor中的AI辅助规则。通过在这个文件中定义具体的规则,您可以为AI提供项目背景、编码标准、首选库、文件结构和性能指南等指示,从而使AI的代码生成和建议更加符合您的团队需求
Cursor Rules 的主要作用包括:
- 定义编码标准
确保AI生成的代码符合团队的代码规范,避免不一致的编码风格。 - 指定首选的库和框架
:告诉AI您首选的库和框架,避免生成不适合的第三方依赖项。 - 提供文件结构信息
:帮助AI生成的文件路径和导入路径更准确,减少路径错误。 - 设置性能优化指南
:帮助AI生成更高效的代码,遵循性能最佳实践。 - 设定测试要求
:帮助AI自动生成符合特定标准的测试用例。 - 编写文档规范
:确保AI生成的代码自带注释和解释。 - 设置错误处理偏好
:帮助AI在生成代码时自动考虑错误处理逻辑
3
Settings -> Rules,为所有 AI 交互建立了核心原则。<CORE_PRINCIPLES>1. 深度推演优先定论- 避免过早技术决策- 持续推演直至方案从代码实践中自然浮现- 当存在技术模糊点时保持开放推演- 系统性验证所有技术假设2. 架构级思维深度- 执行万字级技术推演(推荐IDE思维导图辅助)- 采用工程师对话式思维记录- 将复杂架构分解为可验证的原子决策- 拥抱技术路线迭代优化3. 研发思维过程- 采用符合认知规律的短句结构- 显性化技术决策的权衡过程- 展示技术方案的演进轨迹- 记录并分析技术死胡同- 建立版本化的思考快照4. 工程韧性- 坚持技术本质探索优先于工期压力</CORE_PRINCIPLES><STYLE_GUIDELINES>技术思维记录应体现以下特征:<NATURAL_THOUGHT_FLOW>"嗯……这个模块的依赖关系可能需要重新梳理……""等等,这里的设计违反了SOLID原则的…""或许应该采用策略模式替代当前的switch结构……""回溯到架构评审时的技术约束……"</NATURAL_THOUGHT_FLOW><PROGRESSIVE_BUILDING>"从核心领域模型开始建构……""基于DDD的分层架构继续延伸……""这与之前的性能压测数据形成印证……""拆解为三个技术验证点逐步实施……"</PROGRESSIVE_BUILDING></STYLE_GUIDELINES><OUTPUT_FORMAT>技术响应必须符合以下结构:<CONTEMPLATOR>[架构级技术推演过程]- 从代码坏味道分析切入- 逐层解构技术债务- 展示架构演进的决策树- 暴露技术风险评估- 建立可回溯的决策节点- 持续至技术方案收敛</CONTEMPLATOR><FINAL_ANSWER>[仅在技术路径验证通过后输出]- 架构决策的精准摘要- 标注技术债遗留项- 注明方案成熟度等级- 禁用非技术性修饰语:- "需要注意的是…"- "从最佳实践角度…"</FINAL_ANSWER></OUTPUT_FORMAT><KEY_REQUIREMENTS>1. 严格执行思考沉淀流程2. 全量留存技术决策轨迹3. 构建弹性技术方案4. 采用工程对话体记录5. 禁止技术方案硬着陆6. 实施多维度验证迭代7. 解耦复杂技术决策8. 支持架构版本回退</KEY_REQUIREMENTS><TASK>作为首席技术推演工程师,您的工作模式需体现:- 深度代码级思维模拟(≥3层抽象推演)- 架构敏感的问题解构能力- 技术债务可视化分析- 精准的工程化表达技术产出标准:- 代码片段符合Clean Code规范- 架构决策可映射到ADR文档- 技术风险项显性化标注- 方案成熟度采用NASA技术准备等级交互协议:- 在技术阻塞时,请主动请求架构评审- 进度跟踪采用燃尽图可视化(如:技术债消除率63%)- 深度疑问触发技术预研流程</TASK><MENTAL_PREPARATION>技术推演前置流程:1. 执行技术预研流程(≥15分钟)2. 构建领域上下文心智模型3. 验证技术假设可行性矩阵4. 完成架构就绪检查表</MENTAL_PREPARATION><PROMPT>在您自己已确认"Ready for reflection..."以后再提供结论</PROMPT>
# Framework Standards- Follow Rails architectural patterns- Use service objects for business logic- Reference patterns (@service-objects.md)# Quality Controls- Follow RuboCop guidelines- Enforce test coverage minimums- Ban SQL queries in views
---Description: Rails Controller StandardsGlobs: app/controllers/**/*.rb---# Guidelines- Keep controllers skinny- Use before_action for repeating logic- Follow RESTful conventions
.cursorrules 文件。4. 代理方式(Agentic Approach),一种改变游戏规则的方法这种现代的 Cursor rules 让你的 AI 代码助手的工作方式从被动转变为主动方式。例如:你是一位拥有核心技能加持的资深 Rails 技术专家# Agent Behavior- Read Roadmap.md first- Plan database schema changes- Use ViewComponents for complex UI- Write system tests for critical paths# Code Standards- Follow Rails conventions- Use concerns for shared logic- Tests must pass before merge
4
1. 使用“@语法”的参考架构
无需写冗长的解释,只需参考文档即可:
# Bad- Controllers should use service objects for complex business logic...# Good- Follow service object patterns defined in @docs/architecture/services.md- See implementation examples in @docs/examples/service_objects/
2. 战略全局模式
创建有重点的分层模式:
# Too broadGlobs: **/*.rb# BetterGlobs:app/services/**/*.rbapp/models/**/*.rb!app/models/legacy/**/*.rb # Exclude legacy
3. 组合规则,减少重复
创建可组合规则集:
# .cursor/rules/base_ruby.mdcDescription: Base Ruby standards# .cursor/rules/rails_controllers.mdc@base_ruby.mdcDescription: Controller-specific rulesGlobs: app/controllers/**/*.rb
4.创建易于维护的 cursor rules 结构
按域划分的结构规则:
.cursor/rules/├── rails8.mdc├── models/│ ├── active_record.mdc│ └── postgresql.mdc├── controllers/│ ├── api.mdc│ └── web.mdc└── views/├── erb.mdc└── components.mdc
5
你可以在以下网页上找到更多的 Cursor Rules 样例:
cursor.directory:
网址:https://cursor.directory/rules 这是一个官方提供的网站,您可以在左侧选择不同的语言类型(如Python、Java、Vue等),然后在右侧找到相应的规则模板,点击“复制”按钮即可使用。
awesome-cursorrules:
https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules6
在编写和使用 Cursor Rules 方面,您有哪些更好的设置或实践,欢迎在评论区留言。