Cursor AI 用于大型项目
随着"vibe"编码的流行,许多开发者认为 Cursor 和 Claude 仅适用于原型开发。虽然 Cursor 在编写新代码方面表现出色,但在结构化代码、标准化、重构和维护大型项目方面也非常有效。这非常令人兴奋,因为你可以以 5-30 倍的速度构建软件。
这篇指南分享了我使用 Cursor 的工作流程以及如何将其用于大型项目。作为背景,在 Stream,我们为超过十亿终端用户提供聊天、活动提要和视频服务,代码量约为 80 万行 Go 代码。
Cursor -- 编辑、测试循环
高效使用 AI的关键是良好的编辑和测试循环。通常,你希望 AI 编写代码、编写测试,然后执行此测试并修复发现的任何错误。只有在 AI 完成这些步骤后,我才会开始审查。
让我们来看看这个编辑循环的基础。
步骤 1 - Cursor 设置/代理模式
你需要使用代理模式(cmd + I)+ Claude 3.7 sonnet。(注意左下角的小下拉菜单)。代理模式将持续调用 Claude,直到目标实现。因此,它将搜索文件、查找更多上下文、运行测试、安装软件包等。
步骤 2 - AI 文档
上上面的例子有点过于简单。通常情况下,你会想要一个文档文件夹,让AI 在你的代码库上执行常见任务。例如:
- 如何编写测试?
- 如何设置新的数据库模型并应用迁移?
- 如何创建新的控制器(controller)/状态层(state)等?
我们为 AI 单独维护一个文档文件夹,大概是这样的
这和你项目结构非常相似。但我们会单独保留 AI 文档,这样当 AI 出现错误时,可以轻松地对其进行纠正
步骤 3 - 在设置中启用 Yolo 模式
你需要启用 Yolo 模式,Cursor 就能在 Yolo 模式下自动运行测试,而无需每次都等待你的确认,同时你可以通过自定义命令列表来限制它的行为,确保只执行你信任的操作
步骤 4 - Cursor/Claude 运行测试
告诉 Cursor 运行测试。因为它会运行测试,所以能够检测出在生成代码时犯的错误
当然,AI 并不完美;它会遗漏一些东西,但通过这个测试循环,结果比仅仅生成代码要好得多。
针对前端/其他平台
我主要使用 Cursor 进行 前端和Python开发 开发,你可以去 [Cursor MCP](cursor.directory/mcp.)查找需要的MCP 工具;如果不知道cursor mcp是什么的,可以自行搜索。
Cursor - 项目文件
编辑/测试循环是有效使用 Cursor 的关键。另一个重要的工作流程是创建项目文件。
项目步骤
以下是创建消息书签/提醒的项目文件示例
注意每个步骤如何引用相关文档。你也可以使用 cursor 规则来做到这一点,但我大多数时候更喜欢手动指定正确的文档。
项目验证检查
现在有了这个项目文件,可以使用 AI 来检查你的规格说明是否存在问题。我们的项目检查文件会审查模型,看看指令是否清楚地说明了主键。对于控制器步骤,它会要求你澄清所需的权限。所以,你可以用 AI 来验证给 AI 的指令,这有点疯狂。
生成项目文件
当然,你也可以使用 AI 生成你的项目描述。你给它一个示例项目描述文件,并要求它为不同的功能生成类似的东西。目前,Grok 可能是最好的模型。你还可以将其与 deepsearch 结合使用,以进一步说明白你的项目需求。
快速集成 LLM! 我们的 UI 组件非常适合任何 AI 聊天机器人界面,开箱即用。今天就试试,明天就上线!
Git 是你的检查点 - 再次尝试
Cursor 有一个内置的检查点系统,但我更喜欢不使用它。Git 对我来说更好。要重置你的工作区,你可以使用:
shell
git stash --include-untracked # 存储所有更改,包括未跟踪的内容
git stash pop # 恢复最后一个存储
git clean -fd # 删除所有未提交的文件(小心使用)
因此,如果 Claude 偏离轨道,只需重置并重试。这也是你保留项目文件的原因。它使得使用不同的文档/最佳实践重新开始变得非常容易。
其他 Cursor & Claude 提示
当使用 Cursor 时,我们了解到采取特定步骤并应用某些提示可以显著提高 Cursor 生成的输出质量。
限制 Cursor Composer 窗口中的步骤
有时,我会在单个 composer 窗口中运行 5-7 个步骤。对话持续时间越长,Claude 就越有可能忘记部分指令。因此,有时创建一个新的 cursor 代理窗口。
Cursor 设置提示
- 在 Cursor 设置中,你可以添加文档。这对于不常用的软件包特别有用,Claude 默认对这些软件包了解不多
- MCP 与线性或其他工具的集成非常酷
- / 添加打开文件到上下文非常方便
Goland
Cursor 在其 AI 功能方面非常出色。我并排运行 Goland 进行调试、重构和一般编辑器设计。你可能还需要这样做,例如 iOS/Android 开发等,那里很难/不可能完全替代具有强大工具的编辑器。
Cursor 工具
有一个很酷的 cursor 工具项目 github.com/eastlondone... 由 @EastlondonDev 开发。Cursor 工具支持浏览器使用、大型上下文窗口、文档和计划功能。
Cursor 规则
你可以在设置中向 Cursor 添加规则,这使你可以自动包含文档。例如:
有一个常见 cursor 规则的目录。
代码标准化
它几乎感觉像人类,因为如果你使用混乱的名称、重复的实现等,AI 会感到困惑。因此,你需要拥有干净、标准化的代码,以获得最高的 AI 成功率。
检查一切
如果你将工作分配给初级工程师,你会仔细检查一切。你应该以类似的方式对待 AI,并了解代码的每一部分。
重构、文档和搜索
这不仅仅是代码生成。你还可以使用 Cursor & Claude 进行文档、搜索和重构。
重构示例
你可以对数百个文件进行复杂调整。如果是简单的更改,我仍然更喜欢 Goland 的重构工具。但对于复杂的更改,这可以节省数天的工作。
搜索和文档
每个大型代码库最终都会有难以理解的部分。你可以要求 Cursor 为你编写文档以帮助解释它。
技术和理解
当你遇到代码库中某些不理解的底层技术时,你也可以将其用作 Google/Stackoverflow 的替代品。
结论
Cursor 是一个很棒的工具,不仅适用于原型开发,还适用于维护大型项目。要有效使用它:
- 设置生成/测试/运行测试循环。这样 AI 自我纠正
- 创建项目计划,并让 AI 检查和改进此计划
- 微调你的 Cursor 设置并习惯不同的工作流程
- 这不仅仅是代码生成。你可以重构、创建文档并将其用作强大的搜索引擎
通过正确的设置,你可以提高 5-30 倍的工作效率。我特别喜欢的是,作为一名工程师,你可以更多地专注于更难的问题,而 AI 生成所有基础内容。我希望这篇指南能有所帮助。如果你有更多提示,请在 X 上与 Stream 分享,我会将它们添加到文章中。