DEV Community

韩

Posted on

你的 Cursor 还在满天改 Prompt?99%的人不知道.project-rules文件才是王炸

昨晚我盯着 Cursor 的 AI 助手生成了一堆「default export」组件,差点把键盘砸了。

我花了 3 分钟写了一个 .cursorrules 文件。第二天,同样的项目,AI 生成代码的正确率从 60% 飙升到 90%——不用改一行 Prompt。

这不是什么高级技巧。但凡认真研究过 awesome-cursorrules 这个 GitHub 项目(3.9 万 Star)的人都知道:这玩意儿被严重低估了。

为什么你写的 .cursorrules 没效果?

你大概是这样写的:

# .cursorrules
使用 TypeScript
用 React
组件要有类型定义
Enter fullscreen mode Exit fullscreen mode

然后抱怨 AI 完全不听。

问题在于:你写的是描述,不是指令。 AI 读「要有类型定义」和读「interface ButtonProps { label: string; onClick: () => void; }」是完全不同的理解深度。

技巧一:给出具体代码示例,比描述管用 100 倍

来自 awesome-cursorrules 社区最受欢迎的规则格式——决策树 + 示例代码

# .cursorrules

## React 组件规范
生成组件时:
1. 必须用命名导出(禁止 default export)
2. Props 接口必须写在组件上方
3. 事件处理用 useCallback 包装(除非在 deps 数组中直接使用)
4. 样式用 Tailwind,不用 inline style

## 正确示例
Enter fullscreen mode Exit fullscreen mode


typescript
// ✅ 正确:命名导出 + 完整类型 + useCallback
interface CardProps {
title: string;
onClose: () => void;
}

export const Card: React.FC = ({ title, onClose }) => {
const handleClose = useCallback(() => {
onClose();
}, [onClose]);

return (


{title}


关闭

);
};

// ❌ 错误:default export、无类型、使用普通函数
export default ({ title, close }) => (

{title}X
)


有了这个示例,AI 每次生成 React 组件时都会「照着抄」,正确率立竿见影。

## 技巧二:多语言 Monorepo 项目如何让 AI 自动切换上下文

很多团队用 monorepo 管理工作台(Next.js)、后端服务(Python FastAPI)、基础设施(Go)。

在项目根目录放一个 `.cursorrules`,分别定义各语言的编码规范:

Enter fullscreen mode Exit fullscreen mode


markdown

.cursorrules(monorepo 根目录)

语言专属规则

  • 前端 TypeScript (apps/web/):严格模式、禁止 any、必须有返回类型
  • Python 服务 (services/*/app/):必须有类型提示、用 pytest、统一用 Black 格式化
  • Go 基础设施 (infra/*/):错误必须用 %w 包装、必须传递 context

优先级规则

不同语言冲突时,语言专属规则优先。
绝对不要把前端规范套用到 Go 后端代码上。


这样 AI 在同一段对话里切换 TypeScript/Python/Go 时,会自动遵循各自的规则,不用你每次都重新提醒它。

## 技巧三:把 ESLint 规则「喂给」AI,从源头减少报错

这是 awesome-cursorrules 里最实用的技巧之一——**把代码规范写进 AI 生成流水线**:

Enter fullscreen mode Exit fullscreen mode


markdown

代码质量门禁

  • 禁止 console.log(统一用结构化日志器 logger)
  • 禁止同步 fetch(必须用 async/await + try/catch)
  • 禁止修改函数参数
  • 所有外部 API 调用必须设置 timeout(默认 5000ms)
  • 所有异步操作必须加错误边界

TypeScript 约束

  • 不用 ! 非空断言(用显式 null 检查替代)
  • 禁止 @ts-ignore(除非加注释说明原因)
  • 不确定类型时优先用 unknown 而不是 any

这样做的好处是:**AI 第一次生成的代码就能通过 lint,不是一遍遍让它修 bug。**

## 技巧四:长对话的「上下文压缩协议」,防止 AI 失忆

对话一长,AI 开始「忘记」之前的约定。解决方案来自社区贡献的上下文管理规则:

Enter fullscreen mode Exit fullscreen mode


markdown

上下文使用协议

当上下文使用超过 70% 时:

  1. 在文件顶部添加「变更日志」注释块,总结近期的改动
  2. 删除冗余注释和重复的类型定义
  3. 只保留当前函数及其直接依赖
  4. 在文件头部标注:// Context summary: ...

这个规则让 AI 在长对话里也能保持一致性,不会写着写着突然「失忆」。

## 技巧五:把团队潜规则编码进去,换人也不怕

比技术技巧更重要的:**`.cursorrules` 能让团队的「潜规则」永久化。**

Enter fullscreen mode Exit fullscreen mode


markdown

我们团队的 Git 规范

  • 分支命名:类型/工单号-描述(如 feat/PROJ-123-用户登录)
  • Commit 格式:类型(范围): 描述(Angular 风格)
  • PR 必须包含:做了什么、为什么做、怎么测试
  • 合入 main 必须至少 1 人 review 通过

部署规范

  • 新功能必须用 Feature Flag 灰度
  • 数据库迁移:必须先向后兼容,再发版
  • 任何迁移操作必须附回滚方案

不管谁接手项目,AI 都记得你的规范。新人 onboarding 时间直接减半。

## 数据说明一切

- [awesome-cursorrules](https://github.com/PatrickJS/awesome-cursorrules) GitHub:**39,194 Star**,3,336 Fork
- [Cursor 官方仓库](https://github.com/cursor/cursor):**32,679 Star**
- 近期热点:SpaceX 有权以 600 亿美元收购 Cursor 的消息([Reuters 报道](https://www.reuters.com/technology/spacex-says-it-has-option-acquire-startup-cursor-60-billion-2026-04-21/))引爆 Hacker News,162 票热评
- Reddit r/artificial 上关于 AI 代码编辑器的讨论量同比上涨 47%

## 5 分钟快速上手

Enter fullscreen mode Exit fullscreen mode


bash

在项目根目录创建 .cursorrules

touch .cursorrules

写入第一条规则——你最受不了 AI 犯的错

cat > .cursorrules << 'EOF'

.cursorrules - 项目编码规范

格式

  • 所有文件使用 Prettier 格式化
  • 单行最大长度:100 字符
  • 禁止 console.log,统一使用 logger

TypeScript

  • 禁止 any,必须显式标注类型
  • 所有函数必须有返回类型 EOF



就这么简单。配置一次,受益无穷——每个新的 AI 对话窗口都会自动读取这个文件。

---

**你有什么独家的 .cursorrules 规则?评论区见,我来整理成社区最佳实践合集。**

**数据来源:**
- [awesome-cursorrules GitHub](https://github.com/PatrickJS/awesome-cursorrules)(39K Star)
- [Cursor GitHub](https://github.com/cursor/cursor)(32K Star)
- [Reddit r/artificial: Cursor 热门讨论](https://www.reddit.com/r/artificial/)
- [Reddit r/programming: TypeScript 7.0 Beta 发布](https://www.reddit.com/r/programming/comments/1srwby3/announcing_typescript_70_beta/)
- [Hacker News: SpaceX/Cursor 600亿美元收购案](https://news.ycombinator.com/)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)