Skip to content

repoctl 概览

repoctl 是面向 pnpm 与 Turborepo monorepo 的任务型 CLI。默认命令是 repo,目标是把初始化、诊断、创建、校验、升级和发布收敛到一组稳定入口里。

它不替代 pnpm、Turbo 或 pnpm versioning,而是把这些工具在 monorepo 里的常见动作串起来。

什么时候使用 repoctl

场景推荐入口
给已有 pnpm workspace 补齐标准脚本和配置pnpm exec repo init
判断当前仓库是不是能顺利开发pnpm exec repo doctor
创建新的包、应用、文档站或 CLIpnpm exec repo new
提交前复现推荐校验链路pnpm exec repo check
同步模板最新标准资产pnpm exec repo upgrade
给 CI、编辑器或脚本读取结构化结果--json --out <file>

推荐命令层级

1. 生成仓库里的 repo:* 根脚本

bash
pnpm run repo:init
pnpm run repo:doctor
pnpm run repo:new
pnpm run repo:check

这是给日常开发和团队文档使用的入口。短、稳定、不需要先解释 CLI 包名,也不会和 pnpm 内置命令冲突。

2. 明确调用 repo CLI

bash
pnpm exec repo init
pnpm exec repo doctor
pnpm exec repo templates
pnpm exec repo new sdk --template tsdown
pnpm exec repo check --dry-run

这是文档、CI、脚本和排障里最清楚的写法。

3. 分组命令

bash
pnpm exec repo ws ls
pnpm exec repo tg init --all
pnpm exec repo env support --markdown --redact
pnpm exec repo config inspect

这些入口适合已经熟悉 repoctl 的维护者,用来做更细的 workspace、tooling、环境和配置操作。

repoctl 管什么

repoctl 把 monorepo 里最容易分散的动作收敛为五条主线:

主线代表命令解决的问题
初始化repo init / repo upgrade生成或同步 workspace、根脚本、Husky、lint-staged 等资产
诊断repo doctor判断仓库根目录、运行时、脚本、配置和提交链路是否就绪
创建repo templates / repo new使用内置模板生成库、应用、服务、文档站和 CLI
校验repo check / repo verify统一 pre-commit、staged typecheck、pre-push 和 commit-msg
报告repo env support输出可保存、可脱敏、可给 CI 和协作者读取的上下文

这几条主线都支持非交互参数。需要自动化时,优先使用 --json--markdown--out <file>--redact--dry-run 组合。

新人和维护者的边界

角色推荐只记住需要深入时再看
新成员pnpm run repo:doctorpnpm run repo:newpnpm run repo:check按场景选命令
包维护者repo templatesrepo new --templaterepo check --full模板资产治理
CI 维护者repo doctor --strictrepo check --fullrepo env support报告与自动化输出
平台维护者repo initrepo upgraderepo config inspect执行模型配置文件

命令入口

repoctl 包提供多个 bin,例如:

bash
pnpm exec repoctl doctor
pnpm exec repoctl new

文档统一推荐 repo,是为了减少新人需要记住的名字。底层实现来自同一套 CLI。

下一步