我的 AI 开发环境,进化了三次才满意
需求子工作区 + 统一文档库 + skills ,让你的 AI Coding 准确又高效。
日常你是否遇到如下一些问题:
- 一个大需求涉及多个应用,编程窗口来回切,每个窗口都要单独给提示词
- 正在 A 分支唠变更,测试报了 B 分支的 bug,业务又催生产问题,秒变鸡排哥
- 一个需求涉及多个应用变更,spec 放哪儿
- 每个需求都有一套工作区,变更文档库都要手动加入工作区
- 团队的 skill、spec、rule 共享困难
谈谈我的方案(以 Cursor 为例)
一句话:每个需求一个子目录(独立 Cursor 窗口、锁定功能分支),所有工作区通过软链接,共享同一个 openspec/ 技能文档库。
目录结构
workspace-root/
├── openspec/ ← 文档目录(独立 Git 仓)
├── .cursor → openspec/.cursor
├── AGENTS.md → openspec/AGENTS.md
├── 12345-功能描述/ ← 需求 A,窗口 1
│ ├── .cursor → ../openspec/.cursor
│ ├── openspec → ../openspec
│ ├── service-core/
│ └── service-gateway/
├── 67890-另一功能/ ← 需求 B,窗口 2
│ └── ...
├── test/ ← 测试分支,处理测试 bug
│ └── ...
└── master/ ← 主干分支,排查生产问题
└── ...
几个技巧
独立 git 仓:skill、spec、rule、AGENTS.md等放到一个独立的 git 仓库,团队统一管理只有 main:文档库只保留 main 分支,不跟着需求走,简化流程openspec:仓库名可以自定义。用它作为仓库名可以偷懒少一个配置,而且至少能保证 openspec 产生的文档不会放错地方软链接:子目录通过软链接关联同一个 openspec 文件夹,无论打开哪个工作区,Agent 行为都一样专属 skill:写一个「开发 xxx 需求」的技能,拉代码、创建软链接的工作都可以让 AI 来做
注意:这里是软链接,不是快捷方式,尤其是 Windows 下要区分清楚。建议让 AI 帮你创建。
优点
- 多工作区让多个 Coding Agent 并行工作变得简单快捷,唯一的瓶颈就是你的大脑容量
- 统一管理团队和自己的文档、技能包、系统提示词,不用反复人工传递、拷贝
- 搭配各种定制技能,可以代替开发过程中绝大多数手工劳动
总结
这套方案是一路踩过来的,这里为之前的探索做个汇总对照
| 方案 | 做法 | 解决了什么 | 留下的坑 |
|---|---|---|---|
| 一窗一仓 | 保留 IDEA 时代习惯,每仓库一个 Cursor | 各仓独立,spec 文档放在项目库中,维护简单 | 跨仓设计接不上,联调像灾难 |
| 一窗多仓 | 多应用同工作区 + 统一切分支 | 统一设计上下文 | 切分支打断 AI;没法并行 |
| 多窗多仓 | 每需求一个工作区,配置各拷一份 | AI 并行,分支维护简单 | 需要手动加配置,工作区维护困难 |
| 终态 | 子工作区 + 软链接 + 自动搭建 | 上面基本都覆盖 | 前期要搭母工作区 |
工作区初始化 Skill
因每个公司、团队的环境都有所差别,这里就不放 skill 源文件了,就写一下它大概干了什么。
- 触发条件:用户说
开发需求 {需求号}时 - 判断当前是否在
子工作区(这里可以按自己的环境定制,比如我就是看当前目录有没有main文件夹),如果是就在上一级建子工作区,不是就在当前目录建 - 根据 {需求号} 去 DevOps 系统拉取需求信息(注意这里涉及登录)
- 根据需求信息创建子工作区目录(比如
{需求号}-{需求标题归纳}) git clone需求对应的应用仓库列表及其对应分支到子工作区- 创建
openspec的软链接到子工作区 - 创建子工作区根目录的
.cursor和AGENTS.md软链接(指向openspec/下对应路径)- 因为 Cursor 的安全沙箱机制,这里要用子工作区目录下的软链,即软链的软链,否则可能会读不到信息
- 在新窗口打开该子工作区