核心用法
wip-repos 是一款面向开发团队的仓库清单协调器,采用"清单即唯一真相源"的设计理念。核心工作流围绕 repos-manifest.json 展开,提供三大能力维度:
1. 状态校验与同步 (`check` / `sync`)
check命令对比文件系统实际路径与清单定义,输出差异报告sync支持--dry-run预览模式,确认后自动执行物理目录移动- 支持批量整理,解决"随意拖拽文件夹后仓库位置混乱"的痛点
2. 清单管理 (`add` / `move`)
add将新仓库注册到指定分类路径,同时绑定远程仓库move在清单内重新分类仓库,下次同步时物理位置自动跟随- 所有变更先写清单后执行,确保操作可追溯
3. 可视化输出 (`tree`)
- 从清单生成 Markdown 目录树,用于 README 文档维护
显著优点
- 声明式管理:类似 Infrastructure as Code 的思路,目录结构版本化、可回滚
- 无损迁移:物理移动前强制 dry-run 确认,避免误操作
- 多接口统一:CLI、Node.js 模块、MCP 协议三种调用方式,适配 CI/CD 和 AI 工作流
- 轻量依赖:仅依赖 Node.js 18+ 和 Git,无重量级运行时
潜在局限
- 功能边界清晰:不处理 Git 操作(需配合 git CLI),不管理 GitHub 远程仓库创建(需配合 gh CLI)
- 单清单架构:当前设计假设组织级单一清单文件,超大型组织(千级仓库)可能需要分片策略
- 冲突处理:未明确说明多人同时修改清单时的合并策略
适合人群
- 技术负责人维护 10-200 个仓库的中型组织
- 需要标准化新人 onboarding 目录结构的团队
- 使用 MCP 协议将仓库管理集成到 AI 工作流的开发者
常规风险
- 物理文件移动风险:
sync执行真实的mv操作,虽支持 dry-run,但误配置清单可能导致仓库被移至意外位置 - 清单与远程脱节:工具不验证远程仓库存在性,清单中绑定的 remote 可能为无效 URL
- Git 工作目录污染:若在有未提交变更的仓库上执行目录移动,可能导致 Git 状态异常