后端微服务的 monorepo-like workspace 方案

背景

在后端微服务开发中,一个产品需求经常会同时涉及多个服务。如果每个服务都单独打开一个 Claude Code session,会出现几个问题:

text 复制代码
1. 需要重复描述同一个需求
2. 每个 session 只理解当前服务,缺少跨服务上下文
3. 字段、DTO、接口契约容易不一致
4. 多个终端来回切换,协作成本高
5. 最后还需要人工重新串联整体方案

因此,可以使用一种 monorepo-like workspace 的方式,把多个相关微服务放到同一个工作区中,并在工作区根目录启动 Claude Code,用一个主 session 负责跨服务理解和协同。


解决什么问题

这个方案主要解决:

text 复制代码
1. 跨服务需求上下文割裂
2. 多个 Claude Code session 重复沟通
3. 微服务之间字段/API/DTO 契约不一致
4. 跨服务改动缺少统一影响分析

核心目标是:

让 Claude Code 像理解 monorepo 一样理解多个微服务,但仍然按照 multi-repo 的方式修改、测试和交付。


1. 什么是 monorepo-like workspace

monorepo-like workspace 可以理解为:类 monorepo 工作区或者 monorepo 风格的多仓库工作区它不是真正的 monorepo。

真正的 monorepo 是:

text 复制代码
一个 Git 仓库
里面包含多个服务 / 模块 / 包
一次 commit 可以同时修改多个模块

而我们的微服务通常是 multi-repo:

text 复制代码
root-workspace/
  CLAUDE.md
  roadshow-service/
    .git/
    CLAUDE.md
  user-service/
    .git/
    CLAUDE.md
  admin-service/
    .git/
    CLAUDE.md
  order-service/
    .git/
    CLAUDE.md

这里每个服务都有自己的 .git,所以它们仍然是独立仓库。

但是,我们把多个服务放在同一个父目录下,并在父目录启动 Claude Code:

bash 复制代码
cd root-workspace
claude

这样,从 Claude Code 的视角看,它拥有一个类似 monorepo 的工作空间:

text 复制代码
一个根目录
一个根 CLAUDE.md
下面有多个服务目录
可以跨服务搜索、分析、对比字段、维护接口契约

所以这个模式可以叫:

text 复制代码
monorepo-like workspace

也就是:

Git 不是 monorepo,但 AI 使用体验接近 monorepo。


2. Monorepo:上下文就是一切(这一部分剪辑于网络)

Claude需要上下文。

你想啊,如果前端一个repo、后端一个repo、微服务又是一堆repo,Claude每次切换都要重新理解架构。这就像让一个人在三个房间之间跑来跑去找东西------效率低到爆炸。

但Monorepo不一样。

把同一个应用的所有代码放一起,Claude能一眼看到全局。前端调了什么API?后端返回什么数据?数据库Schema长啥样?全都在视野里。

这不是什么新鲜概念(Meta就是Monorepo),但应用到AI编程上,意义完全不同------上下文管理变成了头等大事。

当然,作者也提醒了:Monorepo是指"同一个应用的不同部分"。如果你有5个毫不相关的项目,该分还是得分


3. --add-dir 的使用场景

--add-dir 用于给 Claude Code 添加额外工作目录。

它的作用是:

text 复制代码
让 Claude Code 可以读取和编辑当前工作目录之外的目录

适合"主服务很明确,只是临时参考其他服务"的场景。

例如,主要修改 roadshow-service,只是需要参考 user-service 的用户 DTO:

bash 复制代码
cd roadshow-service
claude --add-dir ../user-service

然后明确限制:

text 复制代码
当前任务以 roadshow-service 为主。
user-service 只作为参考目录。
除非我明确允许,不要修改 user-service。

总结

monorepo-like workspace 是一种适合 AI 编程的后端微服务工作区组织方式。

它的核心不是把 multi-repo 强行变成 monorepo,而是:

text 复制代码
通过统一工作区,让 Claude Code 获得跨服务理解能力;
通过服务范围限制,避免无边界探索和 token 浪费;
通过 Git 边界规则,保持每个服务独立交付。

最终原则:

像 monorepo 一样理解全局,像 multi-repo 一样修改、测试和发布。

相关推荐
六边形工程师7 小时前
致敬,DeepSeek 最新开源的不是模型,是国产算力的地基
ai编程
全栈弄潮儿7 小时前
哪些任务该交给 AI,哪些必须由开发者负责?
aigc·openai·ai编程
stormzhangV8 小时前
A 社为什么反超了
人工智能·ai编程·claude
空心木偶☜11 小时前
LangGraph 错误处理和重试机制
ai·ai编程·langgraph
Maynor99613 小时前
让 AI 编程助手学会做视频、做 PPT:Agent Skills 入门与安装全指南
人工智能·aigc·ai编程·效率工具·cursor·claude code
猛犸象限13 小时前
【CJMP Grok Bot实践】从鸿蒙搬到 iOS 和 Android,我们为什么最后选了 CJMP
ai编程·grok
程序员老赵13 小时前
Docker 部署 DeepSeek Harness:轻松搭建局域网里的 AI Agent 平台
后端·ai编程·deepseek
mantou13213 小时前
我做了个 App:在手机上指挥电脑里的 Claude Code / Codex,还能直接看它产出的图表和模拟器画面
开源·ai编程·claude
王中阳Go13 小时前
自己摸了 2 个月零 offer,补底子只用了 3 块:Go 后端转 AI 最难的不是技术
后端·agent·ai编程
柯南466814 小时前
【AI工程师精讲】KV Cache 精讲:为什么 AI 越聊越慢,以及长上下文真正的成本在哪
人工智能·ai编程