cursor-rules-and-prompts
给 Cursor AI 装上代码规范"强制执行器"——把项目规则写成文件,AI 生成代码自动遵守
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
给 Cursor AI 装上代码规范"强制执行器"——把项目规则写成文件,AI 生成代码自动遵守
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
../../../components/button,而不是你项目中约定的 @/components/button;或者每次让它写 Python 函数,它都忘记加类型注解;再或者注释写得像机器翻译——"Create user object and save to database",主谓宾一概全无冠词。这类细节错误反复出现,每次纠正都要多花几分钟,积少成多就成了效率瓶颈。
开发者 Himel Das 同样被这个问题困扰。他没有选择一次次手动纠正 AI,而是决定从根本上解决这个问题:给 Cursor 写一套它必须遵守的规则文件。这些规则存储在项目的 .cursor/ 目录下,Cursor 在生成代码时会自动读取并遵循——就像一位永不疲倦的高级开发者在每次代码生成前替你做了 Code Review。
这个项目的核心思路非常清晰:与其不断纠正 AI 的输出,不如一次性告诉 AI 你的标准,让它从源头就做对。 这个思路在 2024-2025 年 AI 编码工具大爆发的背景下变得尤为重要。随着 Claude、GPT-4 等大模型能力的提升,AI 生成代码的质量上限已经很高,但"符合特定项目规范"这件事,始终需要人来约束。cursor-rules-and-prompts 正是为这个中间地带而生。
图1:Cursor AI 集成了 AI 辅助编码能力,支持 Agent 模式直接执行复杂任务Cursor IDE(基于 VS Code 的 AI 增强版)原生支持 .cursor/ 目录。当项目根目录存在 .cursor/ 文件夹时,Cursor 会自动加载其中的规则文件和提示词,无需任何额外配置。这套机制是 Cursor 官方提供的扩展点,与 VS Code 的 settings.json 类似,但专门服务于 AI 生成行为。
项目的 .cursor/ 目录结构如下:
.cursor/
rules/ # 规则文件(Cursor 自动加载)
general/ # 通用规则(导入路径、文件组织等)
python/ # Python 语言规则
typescript/ # TypeScript 语言规则
react/ # React 组件规则
nextjs/ # Next.js 规则
tailwindcss/ # Tailwind CSS 规则
swift/ # Swift/iOS 规则
electron/ # Electron 规则
...
prompts/ # 可复用提示词模板
audits/ # 代码审查类提示词
documentation/ # 文档生成类提示词
...
workflows/ # 工作流定义
每条规则遵循统一的 frontmatter 格式:
---
id: rule-general-articles-in-comments
alwaysApply: true # 是否在所有上下文中自动应用
description: 规则简短描述
author: Himel Das
---
这个项目的一个显著特点是规则的语言无关性。大部分规则(如导入路径规范、注释语法要求、文件组织方式)并非绑定到某一门编程语言,而是跨越语言生效。例如,一条关于"注释中必须正确使用冠词(a/an/the)"的规则,在 Python、TypeScript、Swift 中同样适用。
这种设计思路借鉴了 lint 工具(如 ESLint、 Ruff)的思想:规则应该是可组合、可复用的。一个团队可以在一套基础规则之上,叠加针对特定技术栈的补充规则,形成完整的规范体系。项目中的 general/ 目录存放跨语言规则,而 python/、typescript/、react/ 等目录则存放特定语言/框架的规则。
项目包含一个核心工具 sync-cursor.sh(17KB,Bash 脚本),它解决了一个实际痛点:如何让多个项目同时使用同一套规则?
这个脚本的工作原理是:单向同步——从规则源目录向所有其他项目目录的 .cursor/ 文件夹同步文件。同步通过 frontmatter 中的 id 字段做文件匹配,这样即使用户在目标项目重命名了规则文件,同步脚本仍能通过 ID 正确识别并更新。
脚本的核心逻辑:
~/PycharmProjects/ 下所有目录(排除源目录本身).cursor/ 中查找 .include 文件,决定同步哪些规则! 前缀做排除所有规则文件使用 Markdown 格式(.md 或 .mdc 后缀),每个文件聚焦一个规范点。以 rules/general/articles-in-comments.mdc 为例,规则分为四个部分:
从目录结构来看,项目规则覆盖了以下技术领域:
| 类别 | 子目录 | 覆盖内容 |
|---|---|---|
| 代码风格 | general、python、typescript、react | 导入顺序、类型注解、组件结构 |
| 文件组织 | general、nextjs、swift | 目录结构、模块划分、代码迁移 |
| 文档规范 | documentation、academic | 注释规范、README 写法、学术写作 |
| 设计系统 | design、tailwindcss | UI 规范、样式约定 |
| 质量保障 | prompts/audits | AI 驱动的代码审查提示词 |
README 中给出了一个非常直观的 before/after 对比: 应用规则之前,让 Cursor 创建组件,生成的导入语句:
import { Button } from '../../../components/ui/button';
import { MyType } from '../types';
应用规则之后,同样的指令,Cursor 自动生成:
import { Button } from '@/components/ui/button';
import { MyType } from '@/components/quiz/types';
这个例子准确揭示了项目要解决的核心问题:不是让 AI 生成"能跑"的代码,而是让它生成"符合你项目规范"的代码。@/ 路径别名是一个很小但很典型的规范——几乎每个使用路径别名的项目都会遇到这个问题,每次手动纠正都要消耗注意力,而有了规则文件后,AI 从第一次就会做对。
零学习成本,即插即用。 用户只需把 .cursor/ 目录复制到项目根目录,Cursor 会自动加载,无需安装任何插件或配置任何设置。对于刚接手新项目的开发者来说,放一个 .cursor/ 目录进去,AI 立刻就能理解项目的代码风格。
规则粒度可调,适用范围广。 规则按照语言和场景分组,用户可以自由选择需要的规则。喜欢 TypeScript 的严格类型?加上 rules/typescript/ 目录。需要 React 组件规范?加上 rules/react/。不需要的规则目录可以不复制,保持项目整洁。
自动同步机制优雅。 sync-cursor.sh 通过 ID 匹配而非文件名匹配来处理同步,这意味着用户在目标项目中重命名规则文件不会破坏同步逻辑。同时 .include 文件机制允许对每个目标项目做细粒度的规则选择。
许可证风险(重要)。 项目 README 和 LICENSE 文件声称这是"专有软件(PROPRIETARY LICENSE)",明确禁止分享、分发、修改或商业使用。然而 GitHub API 返回的 license.spdx_id 为 NOASSERTION,说明 GitHub 并未识别到标准化的开源许可证。README 开头的"open-source"措辞与"专有许可证"之间存在矛盾,可能给使用者的合规性判断带来困扰。在团队中使用此项目前,需要先确认许可证的适用性。
同步脚本路径硬编码。 sync-cursor.sh 脚本中硬编码了 ~/PycharmProjects/ 路径,只在 JetBrains 全家桶用户的工作流下有意义。Linux/macOS 普通用户或使用其他 IDE 的开发者无法直接使用这个同步功能。
规则质量依赖维护者个人偏好。 冠词规范、注释格式等规则带有较强的主观色彩,不同团队可能有不同的代码风格偏好。用户需要审慎选择和调整,不能直接照搬所有规则。
2024-2025 年,Cursor、GitHub Copilot、Windsurf 等 AI 编程工具快速普及。这些工具在代码补全、代码生成等任务上表现出色,但"符合项目规范"始终是它们的弱点。
cursor-rules-and-prompts 代表的解决方案——通过规则文件约束 AI 行为——正在成为 AI 原生开发工作流的标配。Cursor 官方在 2024 年中引入了 .cursorrules 文件格式,允许用户在项目根目录配置 AI 行为规范。本项目在此基础上做了更系统化的组织,将规则拆分为多个文件并支持分类同步。
项目目前 243 stars、51 forks,在 AI 开发工具这个小众但快速增长的赛道中,说明它已经触达了一批忠实用户。Cursor 官方在 2025 年持续增强 Agent 模式(可直接执行命令、修改文件),与本项目的规则同步形成了互补——AI 不仅能理解规范,还能自主执行符合规范的操作。
方式一:手动复制(适合单项目)
git clone https://github.com/thehimel/cursor-rules-and-prompts.git.cursor/ 目录复制到你的项目根目录~/PycharmProjects/cursor-rules-and-prompts~/.zshrc 或 ~/.bashrc 中添加别名:alias sync-cursor="~/PycharmProjects/cursor-rules-and-prompts/sync-cursor.sh".cursor/ 目录中创建 .include 文件,列出要同步的规则类别sync-cursor,所有目标项目自动同步最新规则
硬件需求:几乎为零。这是一个纯文本规则库,在任何现代设备上都可以使用。规则文件总大小仅约数百 KB,无需 GPU、内存或磁盘的额外占用。
图2:Cursor 编辑器界面,支持 Agent 模式直接执行复杂开发任务一句话定位:cursor-rules-and-prompts 是一套帮助开发者对 Cursor AI 编程助手进行"行为定制"的规则库,通过结构化的 Markdown 规则文件和跨项目同步机制,让 AI 从第一次生成代码起就遵守项目规范,从源头减少代码风格不一致的问题。 适用人群:有多个项目需要维护的个人开发者、追求代码风格统一的中小团队、使用 Cursor 作为主要编码工具的 AI 原生开发者。 不适用场景:使用 VS Code 原版 + Copilot 的用户(本项目针对 Cursor)、需要标准化开源许可证的项目(需评估许可证风险)。