返回顶部
m

monorepo-navigatorMonorepo导航器

Monorepo Navigator

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
274
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

monorepo-navigator

Monorepo Navigator

级别: 强大
类别: 工程
领域: Monorepo 架构 / 构建系统



概述

导航、管理和优化单体仓库。涵盖 Turborepo、Nx、pnpm workspaces 和 Lerna。支持跨包影响分析、仅对受影响包的选择性构建/测试、远程缓存、依赖关系图可视化以及从多仓库到单体仓库的结构化迁移。包含用于工作区感知开发的 Claude Code 配置。



核心能力

  • - 跨包影响分析 — 确定当共享包发生更改时哪些应用会中断
  • 选择性命令 — 仅对受影响的包运行测试/构建(而非全部)
  • 依赖关系图 — 以 Mermaid 图表形式可视化包之间的关系
  • 构建优化 — 远程缓存、增量构建、并行执行
  • 迁移 — 零历史丢失的逐步多仓库 → 单体仓库迁移
  • 发布 — 用于版本管理的 changesets、预发布渠道、npm 发布工作流
  • Claude Code 配置 — 包含每包指令的工作区感知 CLAUDE.md

使用时机

适用场景:

  • - 多个包/应用共享代码(UI 组件、工具函数、类型定义、API 客户端)
  • 构建速度缓慢,因为任何更改都会触发全部重建
  • 从多个仓库迁移到单个仓库
  • 需要以协调的版本管理向 npm 发布包
  • 团队跨多个包协作,需要统一的工具链

跳过场景:

  • - 单应用项目,无共享包
  • 团队/项目边界完全隔离(多仓库即可)
  • 共享代码极少,复制粘贴的开销可以接受



工具选择


工具最适合关键特性
TurborepoJS/TS 单体仓库,简单流水线配置业界领先的远程缓存,最少配置
Nx
大型企业,插件生态系统 | 项目图、代码生成、受影响命令 |
| pnpm workspaces | 工作区协议,磁盘效率 | workspace:* 用于本地包引用 |
| Lerna | npm 发布,版本管理 | 批量发布,约定式提交 |
| Changesets | 现代版本管理(优于 Lerna) | 变更日志生成,预发布渠道 |

大多数现代配置:pnpm workspaces + Turborepo + Changesets



Turborepo


→ 详情请参见 references/monorepo-tooling-reference.md

常见陷阱

陷阱修复方法
每次 PR 运行 turbo run build 时不加 --filter在 CI 中始终使用 --filter=...[origin/main]
workspace: 引用导致发布失败
使用 pnpm changeset publish — 它会自动将 workspace: 替换为真实版本 | | 无关文件更改导致所有包重建 | 调整 turbo.json 中的 inputs,将文档、配置文件排除在缓存键之外 | | 共享 tsconfig 导致一个包破坏所有类型检查 | 正确使用 extends — 每个包继承根配置但覆盖 rootDir / outDir | | 迁移过程中 git 历史丢失 | 合并前使用 git filter-repo --to-subdirectory-filter — 切勿手动移动文件 | | CI 中远程缓存不工作 | 检查 TURBOTOKEN 和 TURBOTEAM 环境变量;使用 turbo run build --summarize 验证 | | CLAUDE.md 过于通用 — Claude 修改了错误的包 | 在每个包的 CLAUDE.md 中添加明确的规则:当处理 X 时,仅修改 apps/X 中的文件 |

最佳实践

  1. 1. 根目录 CLAUDE.md 定义全局地图 — 记录每个包、其用途和依赖规则
  2. 每个包的 CLAUDE.md 定义具体规则 — 允许的操作、禁止的操作、测试命令
  3. 始终使用 --filter 限定命令范围 — 每次更改都运行全部内容违背了初衷
  4. 远程缓存不是可选项 — 没有它,单体仓库 CI 比多仓库 CI 更慢
  5. 使用 Changesets 而非手动版本管理 — 切勿在单体仓库中手动编辑 package.json 版本
  6. 共享配置放在根目录,各包继承扩展 — tsconfig.base.json、.eslintrc.base.js、jest.base.config.js
  7. 合并共享包更改前进行影响分析 — 运行受影响检查,沟通影响范围
  8. 保持 packages/types 为纯 TypeScript — 无运行时代码,无依赖,构建和类型检查快速

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 monorepo-navigator-1776171191 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 monorepo-navigator-1776171191 技能

通过命令行安装

skillhub install monorepo-navigator-1776171191

下载

⬇ 下载 monorepo-navigator v1.0.0(免费)

文件大小: 7.11 KB | 发布时间: 2026-4-15 11:25

v1.0.0 最新 2026-4-15 11:25
Initial publish

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部