挖掘Cursor潜力的5个经验
在过去两周里,我的Cursor之旅可以说是变革性的。从为期三天的快速冲刺开始,很快揭示了一个残酷的事实:速度没有结构会导致不安全且混乱的代码。

在过去两周里,我的Cursor之旅可以说是变革性的。从为期三天的快速冲刺开始——为Instagram排程功能开发了一个端到端的MVP,并集成了OAuth和Facebook Graph API——很快揭示了一个残酷的事实:速度没有结构会导致不安全且混乱的代码。
这段经历促使我走上了一条深入学习、迭代的道路,并最终创建了一个强大且可扩展的系统。
以下是我在这一过程中学到的五个关键经验教训,每个教训都充满了实用的见解,帮助你充分挖掘Cursor的潜力。
1、精确规划
为什么重要:
在开始编码之前,花时间勾勒出你的系统设计并定义明确的规则。通过这样做,你可以确保Cursor——你的AI代理——完全理解你的风格、架构和目标。这种一致性对于生成不仅功能性强而且安全、可扩展且易于维护的代码至关重要。
我是如何做的:
- 头脑风暴: 我首先使用o3-mini和Grok进行了高层次的系统设计头脑风暴。这给Cursor提供了项目主要目标的清晰理解。
- 系统设计文档: 我创建了一个名为
system-design.md
的文件,详细记录了项目的各个方面——从功能需求到技术决策。这个文档作为参考,确保Cursor始终了解项目的风格和目标。 - Cursor规则: 我制定了一套明确的编码规则,定义了从命名约定到文件结构的一切。例如:
- 前端规则:
- 每个接口名称以“I”开头(如
IComponentProps
)。 - 维持一致的组件文件夹结构:
Component/
├── Component.tsx
├── Component.style.ts
├── Component.types.ts
├── Component.utils.ts
├── Component.constants.ts
├── Component.hooks.ts
└── index.ts
- 后端规则:
- 始终先定义接口(尽可能重用现有的接口)。
- 对所有函数和方法使用单一对象参数并带有命名属性。
通过将这些规则文档化并与system-design.md
一起包含,我为Cursor提供了它需要的所有上下文,以生成符合我愿景的代码。
2、定义稳健的仓库结构
为什么重要:
一个组织良好的仓库是可扩展项目的支柱。它有助于保持一致性,简化维护,并使团队能够有效协作。
这是我构建的仓库结构示例:
ournexus/
├── packages/ # 所有工作区包都放在这里
│ ├── nest-common/ # 全局NestJS共享工具
│ │ ├── src/
│ │ │ ├── auth/ # Azure AD B2C认证,支持多提供商
│ │ │ ├── email/ # Azure通信服务用于电子邮件
│ │ │ ├── cosmos/ # Cosmos DB客户端和工具
│ │ │ ├── service-bus/ # Azure服务总线客户端用于计划帖子和Webhook
│ │ │ ├── storage/ # Azure存储帐户带CDN的媒体
│ │ │ ├── logger/ # 应用洞察日志设置
│ │ │ ├── config/ # 共享配置(环境变量、Azure凭据)
│ │ │ ├── filters/ # 自定义过滤器
│ │ │ ├── interceptors/ # 自定义拦截器
│ │ │ ├── middlewares/ # 自定义中间件
│ │ │ └── index.ts # 导出所有工具
│ │ ├── package.json # 包名: "@ournexus/nest-common"
│ │ └── tsconfig.json
│ ├── social/ # Ournexus社交媒体自动化领域
│ │ ├── common/ # 领域特定的共享服务、类型、存储库
│ │ │ ├── src/
│ │ │ │ ├── services/ # 共享逻辑
│ │ │ │ ├── repositories/ # Cosmos DB存储库
│ │ │ │ ├── types/ # Ournexus领域的接口和类型
│ │ │ │ └── index.ts # 导出服务、存储库、类型
│ │ │ ├── package.json # 包名: "@ournexus/social-common"
│ │ │ └── tsconfig.json
│ │ ├── api/ # Ournexus API服务(NestJS)
│ │ │ ├── src/
│ │ │ │ ├── modules/ # NestJS模块
│ │ │ │ │ ├── projects/ # 主要面向项目的模块
│ │ │ │ │ │ ├── projects.module.ts
│ │ │ │ │ │ ├── projects.controller.ts
│ │ │ │ │ │ ├── projects.service.ts
│ │ │ │ │ │ ├── media/ # 媒体管理子模块
│ │ │ │ │ │ ├── posts/ # 帖子管理子模块
│ │ │ │ │ │ ├── social/ # 社交账户管理子模块
│ │ │ │ ├── main.ts # 入口点
│ │ │ ├── package.json # 依赖于"@ournexus/social-common", "@ournexus/nest-common"
│ │ │ └── tsconfig.json
│ │ ├── worker/ # Ournexus工作服务(NestJS)
│ │ │ ├── src/
│ │ │ │ ├── jobs/ # 后台任务处理程序
│ │ │ │ └── main.ts # 入口点
│ │ │ ├── package.json
│ │ │ └── tsconfig.json
│ │ ├── frontend/ # Ournexus前端(React)
│ │ │ ├── src/ # 前端源代码
│ │ │ ├── public/ # 静态资产
│ │ │ ├── package.json
│ │ │ └── tsconfig.json
├── azure.yaml # Azure部署配置位于根目录
├── infra/ # 基础设施即代码文件夹
│ ├── main.bicep # 主Bicep模板用于部署
│ └── modules/ # 可重用的Bicep模块
├── helm/ # Kubernetes部署的Helm图表
│ ├── ingress/ # 入口配置
│ ├── api/ # API服务Helm图表
│ └── worker/ # 工作服务Helm图表
├── .gitignore # Git忽略文件
├── package.json # 根package.json带有工作区
└── tsconfig.json # 根TypeScript配置
└── README.md # 项目文档(包括system-design.md)
这个详细的结构不仅组织了代码和配置以便于清晰和可维护性,还为我的团队和Cursor提供了一个恒定的参考点。
3、利用Cursor规则保持一致
为什么重要:
向Cursor提供精确的指示是释放其全部潜力的关键。通过通过详细的规则和全面的系统设计文档提供上下文,你可以确保每个AI生成的代码都与你的架构愿景和编码标准保持一致。
我是如何做到的:
- 我创建了一个名为
system-design.md
的文件,概述了整个系统的架构、关键特性和技术堆栈决策。 - 我为前后端制定了明确的编码规则,Cursor在生成代码时会参考这些规则。
- 通过将这些规则集成到我的工作流程中,我看到了意外代码输出的显著减少,让我可以专注于解决实际问题而不是清理AI生成的代码。
4、迭代、学习并进化你的基础设施
为什么重要:
从快速MVP到生产就绪系统的道路是由迭代和持续学习铺就的。我的项目的演变证明了结构化规划如何带来显著的技术增长。
我的基础设施演变:
- 应用服务:
最初部署在托管的应用服务上以实现快速MVP。虽然速度快,但在安全性和支持性方面有限。 - 容器应用:
转向容器应用以获得更好的控制和隔离,为更强大的环境奠定了基础。 - AKS(Azure Kubernetes服务):
最后,迁移到AKS,学习了Kubernetes入口控制器和Helm图表。这一步解锁了真正的云原生能力和可扩展性,允许采用微服务驱动的架构。
关键学习:
每一次迭代不仅改进了产品,也加速了我的现代云技术和可扩展架构的理解。
5、持续学习推动进步
为什么重要:
拥抱持续学习确保每次迭代的项目都比上一次更好。随着时间的推移,你不仅构建了一个更优越的产品,而且还获得了宝贵的技能。
我所获得的:
- 掌握了异步工作流和消息驱动服务。
- 深入了解了 Kubernetes 网络和 Helm 部署。
- 一个安全、可扩展且易于维护的云原生基础设施。
6、结束语
与 Cursor 的旅程教会了我成功在于细致的规划、结构化的迭代和持续学习。通过制定明确的规则并记录全面的系统设计,我已经将一个匆忙且不安全的 MVP 转变为一个生产就绪的系统——同时加速了自己的学习曲线。
关键收获:
当与有目的的规划和明确的指导方针结合时,AI 是一种强大的加速器。你提供的上下文越多,它就越能与你的愿景对齐,从而帮助你构建可扩展、安全且易于维护的系统。
你是否已经将 AI 集成到你的开发工作流程中?在这个过程中你学到了什么?请在下面的评论区分享你的想法!
原文链接:5 Lessons on Using Cursor: Planning, Rules, and Scalable System Design
汇智网翻译整理,转载请标明出处
