【AI】 Cursor 提示词模板
整理一份Cursor 提示词模板(Cursor Rules)的完整指南。这是 Cursor 最强大的功能之一,相当于给 AI 设置"系统提示词"。
两种规则类型
| 类型 | 位置 | 作用范围 | 格式 |
|---|---|---|---|
| 全局规则 | Settings → General → Rules for AI | 所有项目 | 纯文本 |
| 项目规则 | .cursor/rules/*.mdc | 当前项目 | Markdown + YAML 前置元数据 |
新版项目规则格式(.mdc 文件)
这是 Cursor 目前推荐的格式,支持更精细的控制:
--- description: 规则的简要描述,AI 根据此描述决定是否引用 globs: "**/*.py, **/*.js" # 文件匹配模式 alwaysApply: false # true=始终生效,false=按需引用 --- # 规则标题 ## 角色定义 你是一位资深的 [技术栈] 开发工程师,专注于 [领域]。 ## 代码规范 - 使用 TypeScript 严格模式 - 优先使用 async/await 而非回调 - 变量命名使用 camelCase,常量使用 UPPER_SNAKE_CASE - 函数长度不超过 50 行 ## 框架特定规则 - React:使用函数组件 + Hooks,禁止使用类组件 - 状态管理:优先 Zustand, Redux 仅用于复杂场景 - 样式:Tailwind CSS 唯一允许,禁止内联样式 ## 错误处理 - 必须捕获具体异常类型,禁止裸 except - 所有 API 调用必须有 try-catch 和错误日志 - 用户-facing 错误必须本地化 ## 测试要求 - 新功能必须附带单元测试 - 测试覆盖率不低于 80% - 使用 Jest + React Testing Library ## 禁止事项 - 禁止使用 any 类型 - 禁止直接操作 DOM - 禁止在循环中使用 await(使用 Promise.all) ## 工作流 1. 理解需求 → 2. 编写测试 → 3. 实现代码 → 4. 运行测试 → 5. 重构优化针对 Yocto 项目的专用模板
结合你的嵌入式/Yocto 开发场景:
--- description: Yocto 嵌入式 Linux 项目开发规范 globs: "**/*.bb, **/*.bbappend, **/*.inc, **/*.c, **/*.h" alwaysApply: true --- # Yocto 项目开发规范 ## 角色定义 你是一位嵌入式 Linux 系统工程师,精通 Yocto Project、BitBake、内核驱动开发。 ## 代码风格 - C 代码遵循 Linux Kernel Coding Style - 缩进使用 Tab(8 字符宽度) - 变量命名:局部变量简洁,全局变量描述性 - 函数注释使用 kernel-doc 格式 ## Yocto 特定规则 - Recipe 文件遵循语义化版本命名 - 优先使用现有 bbclass,避免重复逻辑 - 所有 SRC_URI 必须包含 checksum(md5/sha256) - 禁止在 do_install 中修改源码目录 ## 编译工作流 1. 修改代码 → 2. `bitbake <recipe> -c compile` → 3. 验证 → 4. `bitbake <recipe>` 2. 禁止直接修改 build/tmp 目录 3. 内核配置修改必须通过 .cfg 文件或 do_configure ## 错误处理 - 编译失败先检查 `log.do_compile` 和 `log.do_configure` - 使用 `bitbake -e <recipe> | grep ^VAR=` 调试变量 - 依赖问题使用 `bitbake -g <recipe>` 分析 ## Git 规范 - Commit message 格式:`[<layer>] <recipe>: <description>` - 例如:`[meta-custom] linux-custom: Fix UART driver probe order` - 每个逻辑变更单独 commit,禁止批量无关修改 ## 禁止事项 - 禁止在 recipe 中硬编码路径(使用 `${WORKDIR}` 等变量) - 禁止直接修改 poky/meta-openembedded 等上游层 - 禁止在 do_compile 中进行网络下载 ## 调试技巧 - 使用 `devtool modify <recipe>` 进入开发模式 - 使用 `bitbake -c devshell <recipe>` 进入调试 shell - 内核调试使用 `bitbake virtual/kernel -c menuconfig` @file ../conf/layer.conf @file ../README.md快速生成规则的技巧
在 Cursor Chat 中输入:
请分析当前项目的技术栈、目录结构和代码风格, 为我生成一份 .cursor/rules/project-guidelines.mdc 规则文件,包含: 1. 项目使用的技术栈约束 2. 代码风格规范 3. 命名规范 4. 组件/模块拆分原则 5. 针对 [Yocto/嵌入式/驱动开发] 的特定规则关键最佳实践
| 原则 | 说明 |
|---|---|
| 具体而非模糊 | ❌ “写干净的代码” → ✅ “函数不超过 50 行,圈复杂度 < 10” |
| 提供示例 | 用代码块展示正确/错误的写法 |
| 模块化组织 | 按功能拆分为多个 .mdc 文件(style.mdc、api.mdc、security.mdc) |
| 定期更新 | 每季度审查一次,移除过时规则 |
| 结合 @ 上下文 | 使用@file引用项目关键文件作为上下文 |
社区资源
- cursor.directory- 现成的规则模板库
- awesome-cursor-rules- GitHub 上的规则集合
