我是产品经理,不是程序员。过去半年一直在用 AI 写代码做产品——就是现在说的 vibecoding。
刚开始特别顺,一个周末就能搞出一个能跑的 demo。但项目做到第二周、第三周的时候,各种奇怪的问题开始冒出来:同样的坑反复踩、换个工具就要重新交代背景、AI 改崩了代码不知道怎么回去……
这些问题都不是“AI 不会写代码”,而是我作为一个非技术背景的人,压根没有项目工程管理的习惯。
后来我慢慢摸索出一套轻量的项目治理方法,把它做成了一个叫 bootstrap-project 的工具。下面讲讲我踩过的三个坑,以及怎么用它一次性解决。
坑一:同样的坑,AI 帮你踩两遍
我有一个 Flutter 项目,打 iOS 包的时候有个 build 号的坑,第一次花了很长时间才搞明白。我把解决方案记在了文档里,心想下次不会再踩了。
结果两天后我开了个新对话让 AI 帮我打包——它完全不知道有这个坑,又按自己的理解来了一遍,报了一模一样的错。
这个坑已经填过了,为什么还能再掉进去?
原因很简单:你的文档是写给自己看的,AI 不会主动去读。每次新对话,AI 都是从零开始。你脑子里知道的坑和约定,对新来的 AI 来说等于不存在。
怎么解决的:
bootstrap-project 会生成一份 project_memory.md,专门记“反复会踩的坑”和“已经确认的约定”。比如 build 号怎么处理、哪些方案试过不行、哪些目录不能动。
然后在 AGENTS.md 里写了一条规则:任何新对话的 AI,开工前先读这份文件。
Codex、Claude Code 打开项目会自动加载 AGENTS.md,等于给 AI 装了一个开机启动项——不是靠你记得提醒它,而是它自己会去读。
从此,踩过的坑只需要记一次,之后不管开多少轮新对话,AI 都知道。
坑二:换个工具、换个对话,进度就断了
这个坑更隐蔽。
我习惯用 Claude Code 做主力开发,但有时候用 Cursor 改改 UI、用 Codex 跑跑快速任务。问题来了——Claude Code 里刚确认的方案,切到 Cursor 它完全不知道。
更离谱的是反过来:我在 Cursor 里改了一个组件的接口,回到 Claude Code 继续开发,它还在用旧接口写代码。编译报错,查了半天才发现是两个工具之间的信息断了。
就算不换工具,光是开新对话就够烦了。上午聊到一半,下午开了个新对话接着做,AI 又问“这个项目是做什么的”。你每次都要花十分钟把背景讲一遍,讲得不全,它就开始自由发挥,功能慢慢偏离你原来的方向。
本质上,每个 AI 对话都活在自己的世界里。你以为大家在“同一个项目”上工作,但对它们来说,彼此不存在。
怎么解决的:
bootstrap-project 生成了一组文件,各管各的事:
progress.md:会话交接卡。记“刚做完什么、下一步是什么、卡在哪”。每次对话结束前更新,下次 AI 读完就能接上,不用你重新讲。PROJECT_INDEX.md:项目地图。每个目录负责什么、模块之间谁依赖谁、改了这里还要检查哪里。AI 不再上来就问“在哪个文件”。TEST_MATRIX.md:测试说明。什么场景对应什么测试,人话版本。
关键在于:这些文件都是普通 Markdown,放在项目目录里,不绑定任何工具。
AGENTS.md 本身就是跨工具的标准——Codex CLI、Claude Code 都原生支持,Cursor 做个符号链接也能读。不是让工具之间直接对话,而是让它们都去读同一本笔记本。
装完之后的日常变化很明显:
新对话说“接着干”,AI 自己去读 progress.md,告诉你上次停在哪,问你这次先做什么。切到另一个 AI 工具,它也能读到同样的进度和项目结构。
你不再需要当“人肉同步器”了。
坑三:AI 改崩了,我不敢动
有一次我让 AI 改一个小地方,它答应得很好。然后我发现,它不光改了我说的那个地方,还顺手“优化”了旁边几个文件,把我上周刚修好的一个问题又写回来了。
我想回滚。
但我不会 git。我听说过 git reset,也听说过用它把所有代码弄没的故事。搜了一下“git 回滚”,前几条结果都在警告“操作不可逆”。
最后我用 Cmd+Z 硬按了十几下,按到没反应为止。
大多数 git 教程是给程序员写的——上来就教分支、rebase、PR 流程,对我这种一个人跟 AI 做产品的场景,90% 用不上。
怎么解决的:
bootstrap-project 把 git 压缩成 5 条命令,这是我觉得最实用的部分。
每次对话结束,三步存档:
git status # 看一眼现在啥样
git add -A && git commit -m "干了啥" # 把改动存下来
git tag m1-xxx # 到里程碑了打个标签
改崩了要回滚,两条命令:
git restore . # 还没存档?丢掉,回到上次
git reset --hard HEAD^ # 存档了但存错了?回到上上次
就这 5 条。不讲分支,不讲 PR。你一个人跟 AI 做产品,这 5 条够了。
而且这些不是写在说明书里让你自己记的——AI 每次对话结束会主动提醒你:该存档了。
改崩了?一条 git restore .,3 秒回到干净状态。跟 AI 说“再来,这次只改我说的那个地方”。
心理安全感完全不同——不管改崩什么,都能回去。
怎么用?给 AI 说一句话就行
不需要你自己去跑命令。
把 bootstrap-project 下载到项目里之后,跟 AI 说一句:
帮我初始化项目治理文件,需求文档在 docs/requirements.md
AI 会自己调用脚本、读你的需求文档、生成所有文件、做好 git 基线。你等它跑完,检查一下生成的内容就行。
不确定搞好没有?让 AI 跑一下自检:
帮我检查一下项目治理文件是否完整
它会告诉你哪些文件还没建、git 初始化了没有、基线存档在不在。
整个过程不需要碰终端,不需要记命令。这本来就是给不想碰工程细节的人设计的。
GitHub 上类似的项目不少,为什么我还要做一个?
我做之前也看过好几个:
| 项目 | 做什么 | 面向谁 |
|---|---|---|
| claude-bootstrap(560+ star) | 完整工程框架:TDD 流水线、子 Agent 编排、竞品监控 | 有工程背景的开发者 |
| mex | AI 记忆 + 漂移检测:自动检查文档和代码是否脱节 | 熟悉 CLI 的开发者 |
| claude-mem | 自动录制 AI 会话,压缩后注入下次对话 | Claude Code 用户 |
| ClaudeCodeBootstrap | 用 LLM 分析代码,生成 CLAUDE.md 和 slash commands | Python 开发者 |
| bootstrap-project | 一句 prompt 生成记忆结构 + git 基线 | 不会写代码的人 |
这些项目都很好,有些功能比 bootstrap-project 强大得多。
区别在于用户画像:它们面向的是有工程基础的开发者,默认你能自己装环境、跑 CLI、看日志。
bootstrap-project 解决的是同一个问题——让 AI 记住你的项目。但它是给产品经理、设计师、独立创作者这种用 vibecoding 做产品,但没有工程背景的人准备的。下载、说句话、搞定,没有中间步骤。
适合谁
- 你在用 AI 做一个持续几周以上的产品
- 你每次开新对话都要重新交代背景
- 你用多个 AI 工具,信息不通
- 你被 AI 改崩过代码,不知道怎么回去
不适合谁
- 你只是写个一次性脚本,写完就关
- 你的项目已经有完善的工程流程
- 你是程序员,想要完整的工程框架——上面提到的那几个项目更适合你
这个工具不是要让你变成工程师。
它是让你可以继续不懂工程,但你的项目不会因为你不懂而崩掉。
GitHub 地址:https://github.com/AllenAI2014/vibecoding-bootstrap