name: branch-sync description: 'Use when: upgrading dependencies, adding common features, or when the user explicitly requests branch sync check. Triggers on: 分支同步, branch sync, 版本升级, dependency upgrade, 同步更新, sync branches, 依赖更新, 通用功能.'
Skill: 多架构分支同步检查(branch-sync)
当**单体主分支(dev/main)**发生通用性变更时,主动提醒并协助用户将变更同步到其他架构分支。
触发条件
以下场景触发此 Skill:
- 依赖升级 —
package.json中@robot-admin/*、vue、vite、naive-ui等核心依赖版本变更 - 通用功能新增 — 新增了公共组件(
C_*)、公共 Store(s_*)、公共 Composable(use*)、工具函数(d_*) - 构建配置变更 —
vite.config.ts、tsconfig.json、unocss.config.ts等构建相关文件修改 - 布局/主题变更 —
@robot-admin/layout、@robot-admin/theme相关样式或配置调整 - 路由/权限变更 —
src/router/、src/stores/中的通用逻辑修改 - 用户显式触发 — 用户说"帮我同步分支"、"检查下其他分支要不要更新"、或让我读取此文档
架构分支清单
| 分支 | 架构模式 | 与单体的差异点 |
|---|---|---|
micro-app |
微前端(京东 micro-app) | 门户页面、子应用容器、C_Header 扩展 props、@shared/constants、micro-app 注册 |
module-federation |
模块联邦 | federation 插件配置、远程模块暴露、共享依赖声明 |
monorepo |
Monorepo 工程化 | workspace 结构、包引用方式(workspace:*)、构建脚本 |
执行流程
Step 1: 变更分析
检查当前分支最近的变更,分类为:
| 分类 | 说明 | 需要同步? |
|---|---|---|
| 通用业务 | 新页面、新组件、新 API、bug 修复 | ✅ 大概率需要 |
| 依赖版本 | package.json 依赖升级 | ✅ 需要,但要检查兼容性 |
| 构建配置 | vite/tsconfig/unocss 变更 | ⚠️ 需确认,各架构可能有差异 |
| 架构特有 | 仅当前分支使用的功能 | ❌ 不需要同步 |
Step 2: 生成同步报告
输出格式:
## 🔄 分支同步检查报告
### 本次变更摘要
- **变更类型**: 依赖升级 / 功能新增 / bug 修复 / 构建配置
- **涉及文件**: (列出关键文件)
- **变更描述**: (简要说明)
### 同步建议
| 目标分支 | 是否需要同步 | 风险等级 | 可能的冲突点 |
| ----------------- | ------------ | -------- | ----------------------- |
| micro-app | ✅ 需要 | 🟢 低 | 无预期冲突 |
| module-federation | ✅ 需要 | 🟡 中 | vite.config.ts 可能冲突 |
| monorepo | ❌ 跳过 | - | 结构差异大,手动处理 |
### 推荐操作
1. `git checkout micro-app && git rebase dev`
2. `git checkout module-federation && git rebase dev`
Step 3: 用户确认
必须等待用户确认后才执行,提供选项:
- 全部同步 — 依次切换到每个分支执行 rebase
- 选择性同步 — 只同步用户指定的分支
- 仅记录 — 不操作,仅记录待同步事项供后续处理
- 跳过 — 本次不同步
Step 4: 执行同步(用户确认后)
# 对每个需要同步的分支:
git stash # 保存当前工作
git checkout <target-branch> # 切换目标分支
git rebase dev # 变基到最新 dev
# 如果有冲突 → 停下来,报告冲突文件,等用户处理
# 如果无冲突 → 报告成功
git checkout dev # 切回 dev
git stash pop # 恢复工作
Step 5: 冲突处理
如果 rebase 产生冲突:
- 列出冲突文件及冲突原因(架构差异 vs 真正冲突)
- 不自动解决 — 架构分支的冲突需要用户判断
- 提供冲突解决建议(保留哪边、如何合并)
- 等用户确认后再
git rebase --continue
兼容性检查清单
同步前自动检查以下项:
- Vite 版本兼容 — 确认目标分支的 Vite 插件(federation/micro-app)是否兼容新版本
- 依赖冲突 — 检查升级的包是否与架构特有依赖冲突
- API 变更 — 如果升级了
@robot-admin/*包,检查是否有 breaking changes - 构建测试 — 建议同步后在目标分支执行
bun run build验证
注意事项
- 绝不自动 force push — 所有 push 操作必须由用户手动执行
- monorepo 分支特殊 — 目录结构差异大,通常建议 cherry-pick 而非 rebase
- 冲突不猜测 — 遇到架构相关文件冲突时,明确告知用户而非自动选择
- 先 stash 后操作 — 切换分支前必须保存当前工作区
- 保持当前分支 — 操作完成后必须切回用户原来所在的分支