后端微服务的 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 一样修改、测试和发布。

相关推荐
kfaino8 小时前
码农的AI翻身(三)你好,我叫 Embedding
后端·ai编程
_山海10 小时前
OpenSpec-基于SDD规格驱动开发
ai编程·vibecoding
唐老板17 小时前
MCP协议实战:从零写个Agent工具
ai编程·mcp
counterxing18 小时前
最近发现一个 Mac 工具,有点像把 Raycast、语音输入法、截图和录屏塞到了一起
macos·ai编程·claude
薛定喵的谔18 小时前
Term Proxy — 用 Tauri 2 打造跨平台终端配置管理工具
electron·ai编程·全栈
小溪彼岸18 小时前
CC Switch可视化管理Skill、提示词、会话
aigc·ai编程
aqi0021 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
kfaino1 天前
你好,我叫 Prompt——其实,你一直在给 AI 写程序
后端·openai·ai编程
kfaino1 天前
你好,我叫Token——AI世界里最忙的搬砖工
aigc·openai·ai编程