多客户端边界
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/fork-discipline。
技能介绍
先确认边界是否已经漏水
多客户端项目常见的问题是 core 和 client 没有稳定分界:src/ 里混入 if (client === 'acme'),配置文件整份替换默认值,迁移序号跨域冲突,新增客户端必须改共享代码。这类问题在第二个客户端出现前往往不明显,但会持续提高维护成本。
技能如何审计和修复
- 判定项目类型:根据
clients/、tenants/、按客户名命名的配置、packages/结构、CLIENT_NAME/TENANT_ID等信号区分显式多客户端、配置驱动、Monorepo、运行时多客户端或单客户端。 - 绘制边界地图:把代码归入
CORE、CLIENT、BLURRED三层;CORE是 API 路由、中间件、auth、共享 schema 与核心迁移,CLIENT是每部署配置覆盖、知识库、种子数据、客户端 schema 扩展和自定义迁移。 - 发现违规:排查共享代码中的客户名、整体替换配置、散落的客户端代码、缺失扩展点、迁移序号冲突,并给出严重度。
- 选择产出模式:默认
audit输出边界地图与违规报告;document写FORK.md;refactor给重构计划和迁移步骤。
使用注意
适合增加第二、第三个客户端前、边界自然变模糊后、共享代码渗入客户端判断时、大重构前、新人理解架构和周期性健康检查。真正永远单客户端的项目不需要;计划多客户端的单客户端项目只适合做就绪度审计。
使用场景
- 给现有项目接入第二个客户端前,审计 core 与 client 边界,确认新增客户无需改共享代码
- 项目自然增长后发现 if (client === 'acme') 渗入 src/,需要定位并修复边界违规
- 大重构前要厘清真正共享与每客户端专属的模块、配置和迁移范围
- 新人 onboarding 需要用 FORK.md 理解多客户端项目的核心与客户端分层
适合人员
- 多客户端项目架构师,需要在新增客户端前建立清晰的 core/client 边界地图
- 技术负责人,要在重构前识别共享代码中的客户端判断和配置替换风险
- 后端工程师,需要判断迁移序号、客户端配置和扩展点是否符合边界约定
- 新人 onboarding 文档维护者,需要用 FORK.md 说明项目分层与扩展方式