gstack:把 Claude Code 变成一支工程师团队

一个人,一天一万行代码

Garry Tan 在 X 上说他用 AI 60 天写了 60 万行代码,平均每天 1 万行。

这个数字听起来像在吹牛。但他把工具流程开源了,叫 gstack。我最近用了一次,觉得值得认真介绍一下。

gstack 是什么

gstack 是一套安装在 Claude Code 上的 slash command 技能包,28 个命令,每个命令扮演一个专家角色:

  • /office-hours — YC 创始人问你的那种逼问:需求真的成立吗?
  • /plan-ceo-review — CEO 视角:这个方向对吗,够不够有野心?
  • /plan-eng-review — 工程师视角:架构合理吗,有没有漏洞?
  • /review — PR 上线前的代码审查
  • /qa — 自动化 QA 测试,发现 bug 直接修
  • /ship — 版本号、changelog、push、PR,一条命令全包
  • /retro — 周回顾,分析提交历史和工作模式

整套流程串起来是一个 sprint:想清楚 → 规划 → 实现 → 审查 → 测试 → 发布 → 复盘

不是工具,是流程。这是它和其他 AI 工具最大的区别。

我用它做了什么

我在给自己的 wx-publisher 工具加一个预览功能——把 Markdown 渲染成不同主题,在浏览器里看效果。

需求听起来很简单:加个 preview 命令,支持几个主题参数。

我走了完整的 gstack 流程,从 /office-hours 开始。

/office-hours:被逼问的六个问题

这个命令模拟 YC office hours,用六个强迫性问题让你把需求想清楚。

第三个问题是「前提挑战」,它问我:你真的需要实时渲染吗?

我没想过这个问题。细想了一下——不需要。我只是想预览四个固定主题的效果,不需要实时。这一个问题直接干掉了一个更复杂的设计方案。

然后它问了另一个问题:你的用户是人还是 AI agent?

这个问题让我意识到,wx-publisher 同时被两类用户使用——人类用浏览器看效果,AI agent 用 CLI 参数传主题。这是两种完全不同的交互需求,应该分开设计:

  • 给人类:浏览器 GUI,四个主题并排展示,点击复制命令
  • 给 AI agent:标准 --theme 参数,不需要 GUI

如果不走这个流程,我大概会做一个「既能用 CLI 又能打开浏览器」的混合方案,用起来哪边都不顺手。

/plan-eng-review:找到五个真实问题

设计文档出来之后,/plan-eng-review 做架构审查。它找到了五个问题:

1. 串行渲染变并行

原来的设计是依次渲染四个主题,改成 Promise.allSettled() 并行处理。渲染时间从约 4 秒降到约 1 秒,而且一个主题失败不影响其他主题。

2. 命令注入漏洞

我打算用 execSync(open “${path}”) 打开浏览器。审查发现这是 shell injection 漏洞,而且会阻塞进程。

正确写法:

1
2
3
4
5
// 危险
execSync(`open "${path}"`)

// 安全
spawn(cmd, [path], { detached: true, stdio: 'ignore' }).unref()

这是个常见错误,很容易写出来,也很容易被忽略。

3. 跨平台路径

/tmp 目录在 Windows 上不存在,应该用 os.tmpdir()

4. CLI 命令不完整

审查发现文档里的示例命令缺少必填的 --cover 参数。用户复制这个命令去跑,会直接报错。这个问题被加进了 UI,改成在浏览器界面里填写封面图 URL。

5. 没有测试

项目没有任何测试基础设施。审查建议加 vitest,在实现之前先写测试。


这五个问题,我自己写代码大概能发现两个——命令注入如果运气不好,可能等到安全审查才会被发现。

实现:测试先行

按照审查建议,先装 vitest,写测试,再实现功能。

测试第一次跑全部通过。

这不是因为我写代码特别厉害,而是因为在写代码之前,设计已经被反复确认过了。实现只是在填空。

为什么流程比工具更重要

用 Claude Code 写代码,最容易出现的问题不是代码质量,而是方向错误。

写了两小时,发现需求理解有偏差,推倒重来。或者写完了,测试发现架构有问题,大改。这些返工的成本,比写代码本身高得多。

gstack 的思路是:在开始写代码之前,把所有该问的问题都问完。

/office-hours 确认需求是否成立,/plan-eng-review 确认架构是否合理。两个环节都通过了,再开始实现。

这个流程在团队里本来就存在——产品评审、技术方案评审、代码审查。gstack 把这些环节自动化了,让一个人也能走完整个流程。

安装

gstack 是开源的,MIT 协议,没有付费版,没有等待名单。

1
2
3
4
5
# 需要先安装 Claude Code
npm install -g @anthropic-ai/claude-code

# 安装 gstack
npx gstack install

安装之后在任何项目里输入 /office-hours 就能开始。

项目地址:github.com/garrytan/gstack


顺便说一句:这篇文章本身也是用 Claude Code 写的。我提供了素材和体验记录,它完成了写作。这大概就是 Garry Tan 说的「一个人,一支团队」的感觉。