@icebreakers/monorepo-templates 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/assets/package.json +6 -16
  2. package/package.json +1 -1
  3. package/templates/cli/package.json +1 -1
  4. package/templates/client/package.json +2 -2
  5. package/templates/client/worker-configuration.d.ts +8 -17
  6. package/templates/server/package.json +2 -2
  7. package/templates/server/worker-configuration.d.ts +8 -17
  8. package/templates/vitepress/.vitepress/config.ts +42 -5
  9. package/templates/vitepress/ai/index.md +33 -0
  10. package/templates/vitepress/ai/llms-txt.md +42 -0
  11. package/templates/vitepress/en/index.md +7 -7
  12. package/templates/vitepress/en/knowledge/monorepo.md +1 -1
  13. package/templates/vitepress/en/repoctl/adopt-existing.md +13 -11
  14. package/templates/vitepress/en/repoctl/aliases.md +3 -4
  15. package/templates/vitepress/en/repoctl/commands.md +12 -12
  16. package/templates/vitepress/en/repoctl/config.md +1 -1
  17. package/templates/vitepress/en/repoctl/getting-started.md +19 -19
  18. package/templates/vitepress/en/repoctl/index.md +10 -10
  19. package/templates/vitepress/en/repoctl/scenarios.md +6 -6
  20. package/templates/vitepress/en/repoctl/troubleshooting.md +2 -2
  21. package/templates/vitepress/en/repoctl/workflows.md +12 -12
  22. package/templates/vitepress/getting-started.md +3 -3
  23. package/templates/vitepress/index.md +11 -8
  24. package/templates/vitepress/knowledge/index.md +50 -0
  25. package/templates/vitepress/monorepo/commands.md +5 -5
  26. package/templates/vitepress/monorepo/index.md +14 -14
  27. package/templates/vitepress/monorepo/manage.md +21 -21
  28. package/templates/vitepress/monorepo/troubleshooting.md +1 -1
  29. package/templates/vitepress/repoctl/adopt-existing.md +22 -22
  30. package/templates/vitepress/repoctl/aliases.md +4 -5
  31. package/templates/vitepress/repoctl/checks.md +86 -0
  32. package/templates/vitepress/repoctl/commands.md +28 -14
  33. package/templates/vitepress/repoctl/config.md +10 -1
  34. package/templates/vitepress/repoctl/doctor.md +86 -0
  35. package/templates/vitepress/repoctl/execution-model.md +81 -0
  36. package/templates/vitepress/repoctl/getting-started.md +16 -16
  37. package/templates/vitepress/repoctl/index.md +40 -12
  38. package/templates/vitepress/repoctl/reports.md +94 -0
  39. package/templates/vitepress/repoctl/scenarios.md +6 -6
  40. package/templates/vitepress/repoctl/template-assets.md +116 -0
  41. package/templates/vitepress/repoctl/templates.md +3 -0
  42. package/templates/vitepress/repoctl/troubleshooting.md +15 -3
  43. package/templates/vitepress/repoctl/workflows.md +26 -13
  44. package/templates/vitepress/tools/index.md +38 -0
  45. package/templates/vitepress/tools/llms-txt.md +4 -24
@@ -26,15 +26,15 @@ If the repository was generated from this template, the dependency and root scri
26
26
 
27
27
  ```bash
28
28
  pnpm install
29
- pnpm exec repo setup
29
+ pnpm exec repo init
30
30
  pnpm exec repo doctor
31
31
  ```
32
32
 
33
- | Command | Purpose |
34
- | -------------- | --------------------------------------------------------------------------- |
35
- | `pnpm install` | Install workspace dependencies and local links |
36
- | `repo setup` | Add recommended scripts, workspace patterns, and tooling entries |
37
- | `repo doctor` | Check root files, Node version, CLI dependency, config conflicts, and hooks |
33
+ | Command | Purpose |
34
+ | -------------- | ----------------------------------------------------------------------------- |
35
+ | `pnpm install` | Install workspace dependencies and local links |
36
+ | `repo init` | Add recommended scripts, workspace patterns, and tooling entries |
37
+ | `repo doctor` | Check root files, Node version, CLI dependency, stale config files, and hooks |
38
38
 
39
39
  Fix blocking issues reported by `doctor`, then run it again.
40
40
 
@@ -61,23 +61,23 @@ pnpm exec repo new sdk --template tsdown --json --out plans/sdk.json
61
61
 
62
62
  `--json` and `--out` imply `--dry-run`, which makes them suitable for CI, editor integrations, and scripts.
63
63
 
64
- ## Use Short Root Scripts
64
+ ## Use Root Scripts
65
65
 
66
- After `repo setup`, daily commands can be shorter:
66
+ After `repo init`, daily commands can be shorter:
67
67
 
68
68
  ```bash
69
- pnpm setup
70
- pnpm doctor
71
- pnpm new sdk --template tsdown
72
- pnpm check
69
+ pnpm run repo:init
70
+ pnpm run repo:doctor -- --json
71
+ pnpm run repo:new -- sdk --template tsdown
72
+ pnpm run repo:check
73
73
  ```
74
74
 
75
- | Root script | Equivalent CLI |
76
- | ------------- | ----------------------- |
77
- | `pnpm setup` | `pnpm exec repo setup` |
78
- | `pnpm doctor` | `pnpm exec repo doctor` |
79
- | `pnpm new` | `pnpm exec repo new` |
80
- | `pnpm check` | `pnpm exec repo check` |
75
+ | Root script | Equivalent CLI |
76
+ | ------------------------------ | ---------------------------- |
77
+ | `pnpm run repo:init` | `pnpm exec repo init` |
78
+ | `pnpm run repo:doctor -- args` | `pnpm exec repo doctor args` |
79
+ | `pnpm run repo:new -- args` | `pnpm exec repo new args` |
80
+ | `pnpm run repo:check` | `pnpm exec repo check` |
81
81
 
82
82
  ## Verify Before Committing
83
83
 
@@ -91,7 +91,7 @@ pnpm test
91
91
  Or use the repoctl verification entry:
92
92
 
93
93
  ```bash
94
- pnpm check
94
+ pnpm run repo:check
95
95
  pnpm exec repo check --dry-run
96
96
  pnpm exec repo check --json --out reports/check-plan.json
97
97
  ```
@@ -8,7 +8,7 @@ The CLI does not replace pnpm, Turborepo, or changesets. It gives teams a stable
8
8
 
9
9
  | Goal | Command |
10
10
  | ----------------------------------------------------- | ------------------------ |
11
- | Add recommended scripts and workspace defaults | `pnpm exec repo setup` |
11
+ | Add recommended scripts and workspace defaults | `pnpm exec repo init` |
12
12
  | Check whether a repository is ready to develop | `pnpm exec repo doctor` |
13
13
  | Create a package, app, docs site, service, or CLI | `pnpm exec repo new` |
14
14
  | Reproduce the recommended pre-commit or pre-push flow | `pnpm exec repo check` |
@@ -17,21 +17,21 @@ The CLI does not replace pnpm, Turborepo, or changesets. It gives teams a stable
17
17
 
18
18
  ## Recommended Command Layers
19
19
 
20
- ### Root Scripts
20
+ ### repo:\* Root Scripts
21
21
 
22
22
  ```bash
23
- pnpm setup
24
- pnpm doctor
25
- pnpm new
26
- pnpm check
23
+ pnpm run repo:init
24
+ pnpm run repo:doctor
25
+ pnpm run repo:new
26
+ pnpm run repo:check
27
27
  ```
28
28
 
29
- These are the best commands for day-to-day team docs.
29
+ These are the best commands for day-to-day team docs. They are short, explicit, and do not collide with pnpm built-in commands.
30
30
 
31
31
  ### Explicit CLI Calls
32
32
 
33
33
  ```bash
34
- pnpm exec repo setup
34
+ pnpm exec repo init
35
35
  pnpm exec repo doctor
36
36
  pnpm exec repo templates
37
37
  pnpm exec repo new sdk --template tsdown
@@ -51,9 +51,9 @@ pnpm exec repo config inspect
51
51
 
52
52
  Grouped commands are for maintainers and automation that need finer control.
53
53
 
54
- ## Compatibility
54
+ ## Command Entrypoints
55
55
 
56
- The package still supports compatibility entry points:
56
+ The package exposes multiple bins:
57
57
 
58
58
  ```bash
59
59
  pnpm exec repoctl doctor
@@ -6,14 +6,14 @@ Start here when you know what you want to do, but not which repoctl command to u
6
6
 
7
7
  ```bash
8
8
  pnpm install
9
- pnpm doctor
9
+ pnpm run repo:doctor
10
10
  ```
11
11
 
12
- If `pnpm doctor` does not exist yet:
12
+ If the `repo:*` scripts do not exist yet:
13
13
 
14
14
  ```bash
15
15
  pnpm add -D repoctl
16
- pnpm exec repo setup --yes
16
+ pnpm exec repo init --yes
17
17
  pnpm exec repo doctor
18
18
  ```
19
19
 
@@ -23,7 +23,7 @@ Keep reading: [Getting Started](./getting-started.md).
23
23
 
24
24
  ```bash
25
25
  pnpm add -D repoctl
26
- pnpm exec repo setup --yes
26
+ pnpm exec repo init --yes
27
27
  pnpm exec repo doctor --markdown --redact --out reports/doctor-before.md
28
28
  pnpm exec repo upgrade --no-overwrite
29
29
  pnpm exec repo doctor --markdown --redact --out reports/doctor-after.md
@@ -42,7 +42,7 @@ pnpm exec repo new docs --template vitepress --dry-run
42
42
  For daily development, root scripts also work:
43
43
 
44
44
  ```bash
45
- pnpm new sdk --template tsdown
45
+ pnpm run repo:new -- sdk --template tsdown
46
46
  ```
47
47
 
48
48
  Keep reading: [Templates](./templates.md).
@@ -50,7 +50,7 @@ Keep reading: [Templates](./templates.md).
50
50
  ## I Want To Check Before Committing
51
51
 
52
52
  ```bash
53
- pnpm check
53
+ pnpm run repo:check
54
54
  pnpm exec repo check --dry-run
55
55
  pnpm exec repo check --full
56
56
  ```
@@ -67,7 +67,7 @@ Keep only:
67
67
  repoctl.config.ts
68
68
  ```
69
69
 
70
- `monorepo.config.ts` is for compatibility with older projects.
70
+ `monorepo.config.ts` is no longer loaded at runtime; rename it to `repoctl.config.ts`.
71
71
 
72
72
  ### Unknown Template Key
73
73
 
@@ -84,7 +84,7 @@ Explicit `--template` values are validated first. Invalid keys fail with suggest
84
84
  Use non-interactive options:
85
85
 
86
86
  ```bash
87
- repo setup --yes
87
+ repo init --yes
88
88
  repo upgrade --no-overwrite
89
89
  repo check --json --out reports/check-plan.json
90
90
  ```
@@ -6,25 +6,25 @@ repoctl commands have two audiences: humans using short daily commands, and auto
6
6
 
7
7
  ```bash
8
8
  pnpm install
9
- pnpm doctor
10
- pnpm new sdk --template tsdown
11
- pnpm check
9
+ pnpm run repo:doctor
10
+ pnpm run repo:new -- sdk --template tsdown
11
+ pnpm run repo:check
12
12
  pnpm build
13
13
  ```
14
14
 
15
- | Step | What It Proves |
16
- | -------------- | ------------------------------------------------------- |
17
- | `pnpm install` | Workspace dependencies and local links are ready |
18
- | `pnpm doctor` | Root files, Node, scripts, config, and hooks are usable |
19
- | `pnpm new` | New packages follow template conventions |
20
- | `pnpm check` | The lightweight local verification flow is reproducible |
21
- | `pnpm build` | The workspace build graph has no obvious breakage |
15
+ | Step | What It Proves |
16
+ | ---------------------- | ------------------------------------------------------- |
17
+ | `pnpm install` | Workspace dependencies and local links are ready |
18
+ | `pnpm run repo:doctor` | Root files, Node, scripts, config, and hooks are usable |
19
+ | `pnpm run repo:new` | New packages follow template conventions |
20
+ | `pnpm run repo:check` | The lightweight local verification flow is reproducible |
21
+ | `pnpm build` | The workspace build graph has no obvious breakage |
22
22
 
23
23
  ## Adopt An Existing Repository
24
24
 
25
25
  ```bash
26
26
  pnpm add -D repoctl
27
- pnpm exec repo setup --yes
27
+ pnpm exec repo init --yes
28
28
  pnpm exec repo doctor --markdown --out reports/doctor.md
29
29
  pnpm exec repo upgrade --no-overwrite
30
30
  pnpm exec repo doctor
@@ -75,7 +75,7 @@ repo verify pre-push
75
75
 
76
76
  | Scenario | Option |
77
77
  | ------------------------------------- | -------------------------------------------------- |
78
- | Accept setup defaults | `repo setup --yes` |
78
+ | Accept setup defaults | `repo init --yes` |
79
79
  | Preserve changed files during upgrade | `repo upgrade --no-overwrite` |
80
80
  | Explicitly overwrite standard assets | `repo upgrade --yes` or `repo upgrade --overwrite` |
81
81
  | Preview only | `--dry-run` |
@@ -10,7 +10,7 @@
10
10
 
11
11
  ```bash
12
12
  pnpm add -D repoctl
13
- pnpm exec repo setup
13
+ pnpm exec repo init
14
14
  pnpm exec repo doctor
15
15
  pnpm exec repo new
16
16
  pnpm exec repo check
@@ -19,7 +19,7 @@ pnpm exec repo check
19
19
  模板生成仓库里可以使用更短的根脚本:
20
20
 
21
21
  ```bash
22
- pnpm setup
22
+ pnpm run repo:init
23
23
  pnpm doctor
24
24
  pnpm new
25
25
  pnpm check
@@ -31,7 +31,7 @@ pnpm check
31
31
 
32
32
  | 命令 | 解决的问题 |
33
33
  | -------------- | ----------------------------------------------------- |
34
- | `repo setup` | 补齐仓库默认脚本、workspace patterns 和基础工具链入口 |
34
+ | `repo init` | 补齐仓库默认脚本、workspace patterns 和基础工具链入口 |
35
35
  | `repo doctor` | 判断仓库当前是否可用,并输出可保存的诊断报告 |
36
36
  | `repo new` | 从内置模板创建包、应用、服务、文档站或 CLI |
37
37
  | `repo check` | 预览或执行提交前推荐校验 |
@@ -17,7 +17,7 @@ hero:
17
17
  link: /repoctl/commands
18
18
  - theme: alt
19
19
  text: AI 文档入口
20
- link: /tools/llms-txt
20
+ link: /ai/
21
21
 
22
22
  features:
23
23
  - title: 从已有仓库开始
@@ -34,7 +34,7 @@ features:
34
34
 
35
35
  ```bash
36
36
  pnpm add -D repoctl
37
- pnpm exec repo setup
37
+ pnpm exec repo init
38
38
  pnpm exec repo doctor
39
39
  pnpm exec repo new
40
40
  pnpm exec repo check
@@ -43,10 +43,10 @@ pnpm exec repo check
43
43
  在由模板生成的仓库里,同一套工作流会暴露成更短的根脚本:
44
44
 
45
45
  ```bash
46
- pnpm setup
47
- pnpm doctor
48
- pnpm new
49
- pnpm check
46
+ pnpm run repo:init
47
+ pnpm run repo:doctor
48
+ pnpm run repo:new
49
+ pnpm run repo:check
50
50
  ```
51
51
 
52
52
  ## 你可以继续阅读
@@ -55,9 +55,12 @@ pnpm check
55
55
  - [快速开始](./repoctl/getting-started.md)
56
56
  - [接入已有仓库](./repoctl/adopt-existing.md)
57
57
  - [按场景选命令](./repoctl/scenarios.md)
58
+ - [执行模型](./repoctl/execution-model.md)
58
59
  - [命令速查](./repoctl/commands.md)
60
+ - [校验链路](./repoctl/checks.md)
61
+ - [doctor 诊断](./repoctl/doctor.md)
59
62
  - [配置文件](./repoctl/config.md)
60
63
  - [模板与创建](./repoctl/templates.md)
64
+ - [模板资产治理](./repoctl/template-assets.md)
61
65
  - [工作流与 CI](./repoctl/workflows.md)
62
- - [AI 文档入口:llms.txt](./tools/llms-txt.md)
63
- - [知识库:为什么往 monorepo 方向演进](./monorepo/index.md)
66
+ - [报告与自动化输出](./repoctl/reports.md)
@@ -0,0 +1,50 @@
1
+ ---
2
+ description: repoctl 文档站的知识库入口,汇总 monorepo 管理、现代 npm 包和 JavaScript 模块化基础。
3
+ ---
4
+
5
+ # 知识库
6
+
7
+ 知识库用于解释 repoctl 背后的工程背景。这里不放命令速查,而是回答为什么要这样组织仓库、包、构建和发布流程。
8
+
9
+ ## 1. monorepo 主题
10
+
11
+ | 页面 | 适合解决的问题 |
12
+ | -------------------------------------------------- | ---------------------------------- |
13
+ | [为什么往 monorepo 方向演进](../monorepo/index.md) | 判断多包仓库是否值得合并管理 |
14
+ | [如何管理 monorepo](../monorepo/manage.md) | 理解 workspace、任务编排和依赖边界 |
15
+ | [发包与变更日志](../monorepo/publish.md) | 设计 changeset、版本和发布链路 |
16
+ | [monorepo 命令参考](../monorepo/commands.md) | 查看通用 monorepo 操作命令 |
17
+ | [monorepo 模板体系](../monorepo/templates.md) | 理解模板如何减少重复初始化 |
18
+ | [monorepo 排障](../monorepo/troubleshooting.md) | 排查依赖、构建、类型和发布问题 |
19
+
20
+ ## 2. 现代 npm 包主题
21
+
22
+ | 页面 | 适合解决的问题 |
23
+ | ------------------------------------------------------ | ---------------------------------- |
24
+ | [如何复用 js 代码](../why/how-to-reuse-js-code.md) | 从复制文件演进到发布包 |
25
+ | [什么是 npm 包](../why/what-is-npm-package.md) | 理解 package.json、入口和安装方式 |
26
+ | [如何发布 npm 包](../why/publish-basic-npm-package.md) | 走通最小 npm 发布流程 |
27
+ | [改进并发布现代 npm 包](../why/index.md) | 把普通包升级成更规范的现代包 |
28
+ | [现代包指南](../why/modern/index.md) | 汇总类型、入口、模块格式和构建工具 |
29
+
30
+ ## 3. 阅读顺序
31
+
32
+ 如果你第一次接触 monorepo,建议按下面顺序阅读:
33
+
34
+ ```txt
35
+ 为什么 monorepo
36
+ -> 如何管理 monorepo
37
+ -> 什么是 npm 包
38
+ -> 现代包指南
39
+ -> 发包与变更日志
40
+ ```
41
+
42
+ 如果你已经在维护仓库,可以直接从具体问题进入:
43
+
44
+ | 你遇到的问题 | 建议入口 |
45
+ | ----------------------------- | ----------------------------------------------- |
46
+ | workspace 包互相引用不清楚 | [如何管理 monorepo](../monorepo/manage.md) |
47
+ | 不确定 CJS、ESM、types 怎么配 | [现代包指南](../why/modern/index.md) |
48
+ | 发布后使用方拿不到类型 | [类型声明](../why/modern/dts.md) |
49
+ | 包入口太多、导入路径混乱 | [包入口](../why/modern/package-entry-points.md) |
50
+ | CI 和发版流程容易漂移 | [发包与变更日志](../monorepo/publish.md) |
@@ -12,10 +12,10 @@ monorepo 的难点通常不是“能不能跑某个工具”,而是团队成
12
12
 
13
13
  repoctl 把命令分成三层:
14
14
 
15
- | 层级 | 示例 | 适合场景 |
16
- | -------- | --------------------------------- | -------------------- |
17
- | 根脚本 | `pnpm doctor` / `pnpm new` | 日常开发和团队教程 |
18
- | 主 CLI | `pnpm exec repo doctor` | CI、脚本、排障和文档 |
19
- | 分组命令 | `repo ws ls` / `repo env support` | 维护者和自动化 |
15
+ | 层级 | 示例 | 适合场景 |
16
+ | -------- | -------------------------------------------- | -------------------- |
17
+ | 根脚本 | `pnpm run repo:doctor` / `pnpm run repo:new` | 日常开发和团队教程 |
18
+ | 主 CLI | `pnpm exec repo doctor` | CI、脚本、排障和文档 |
19
+ | 分组命令 | `repo ws ls` / `repo env support` | 维护者和自动化 |
20
20
 
21
21
  保留这个旧页面,是为了让已有链接继续可用,同时把读者导向新的 repoctl 命令文档。
@@ -40,15 +40,15 @@
40
40
 
41
41
  这不是一个“什么都能配”的框架,而是一套偏实战、偏收敛的默认值:
42
42
 
43
- | 维度 | 默认选择 |
44
- | -------- | ---------------------------------------------- |
45
- | 包管理 | `pnpm workspace` |
46
- | 任务编排 | `turborepo` |
47
- | 语言 | TypeScript 优先 |
48
- | 校验链路 | ESLint + Stylelint + typecheck + Vitest |
49
- | 提交规范 | Husky + lint-staged + commitlint |
50
- | 发包 | changesets |
51
- | 命令入口 | `repo` 为主,`repoctl` / `monorepo` 为兼容入口 |
43
+ | 维度 | 默认选择 |
44
+ | -------- | --------------------------------------- |
45
+ | 包管理 | `pnpm workspace` |
46
+ | 任务编排 | `turborepo` |
47
+ | 语言 | TypeScript 优先 |
48
+ | 校验链路 | ESLint + Stylelint + typecheck + Vitest |
49
+ | 提交规范 | Husky + lint-staged + commitlint |
50
+ | 发包 | changesets |
51
+ | 命令入口 | `repo` 为主,`repoctl` 为完整包名入口 |
52
52
 
53
53
  这些选择的目的只有一个:减少“每个项目重新想一遍”的成本。
54
54
 
@@ -74,10 +74,10 @@
74
74
  ### 1. 更短的日常命令
75
75
 
76
76
  ```bash
77
- pnpm setup
78
- pnpm doctor
79
- pnpm new
80
- pnpm check
77
+ pnpm exec repo init
78
+ pnpm exec repo doctor
79
+ pnpm run repo:new
80
+ pnpm run repo:check
81
81
  ```
82
82
 
83
83
  不用先背完整 CLI,先把日常路径跑顺。
@@ -91,7 +91,7 @@ pnpm check
91
91
  - Node 版本对不对
92
92
  - 有没有安装 CLI 依赖
93
93
  - 根脚本齐不齐
94
- - `repoctl.config.ts` 和 `monorepo.config.ts` 有没有冲突
94
+ - 是否仍残留已废弃的 `monorepo.config.ts`
95
95
  - Husky / lint-staged 链路是不是半残状态
96
96
 
97
97
  ### 3. `repo upgrade` 这种面向存量仓库的同步命令
@@ -8,9 +8,9 @@
8
8
 
9
9
  ```bash
10
10
  pnpm install
11
- pnpm doctor
12
- pnpm new
13
- pnpm check
11
+ pnpm exec repo doctor
12
+ pnpm run repo:new
13
+ pnpm run repo:check
14
14
  pnpm build
15
15
  ```
16
16
 
@@ -19,7 +19,7 @@ pnpm build
19
19
  如果你在接入一个旧仓库,再多加一步:
20
20
 
21
21
  ```bash
22
- pnpm setup
22
+ pnpm exec repo init
23
23
  ```
24
24
 
25
25
  这个工作流背后的顺序是:
@@ -41,10 +41,10 @@ pnpm setup
41
41
  这是最推荐的入口:
42
42
 
43
43
  ```bash
44
- pnpm setup
45
- pnpm new
46
- pnpm doctor
47
- pnpm check
44
+ pnpm exec repo init
45
+ pnpm run repo:new
46
+ pnpm exec repo doctor
47
+ pnpm run repo:check
48
48
  ```
49
49
 
50
50
  适合:
@@ -59,7 +59,7 @@ pnpm check
59
59
  当你要明确告诉别人“这是 CLI 行为,不只是 package.json 脚本”时,用:
60
60
 
61
61
  ```bash
62
- pnpm exec repo setup
62
+ pnpm exec repo init
63
63
  pnpm exec repo new
64
64
  pnpm exec repo doctor
65
65
  pnpm exec repo check
@@ -81,14 +81,14 @@ repo ai prompt create --name checkout
81
81
 
82
82
  ## 日常任务对照表
83
83
 
84
- | 你想做什么 | 推荐命令 | 说明 |
85
- | ---------------------- | ---------------------------- | ------------------------------------------------- |
86
- | 初始化一个刚接入的仓库 | `pnpm setup` | 同步推荐的仓库元信息和基础工程化配置 |
87
- | 看仓库当前状态是否健康 | `pnpm doctor` | 先排根目录、Node、脚本、配置冲突、提交链路 |
88
- | 创建一个新的包或应用 | `pnpm new` | 支持交互式选择,也支持 `--template` |
89
- | 提交前做本地校验 | `pnpm check` | 默认对齐推荐 pre-commit / pre-push 逻辑 |
90
- | 同步模板最新标准资产 | `pnpm exec repo upgrade` | 适合模板升级、老仓库补齐 |
91
- | 清理演示仓库或非必要包 | `pnpm exec repo clean --yes` | 零安装也可以用 `pnpm dlx repo@latest clean --yes` |
84
+ | 你想做什么 | 推荐命令 | 说明 |
85
+ | ---------------------- | ------------------------------- | ---------------------------------------------------- |
86
+ | 初始化一个刚接入的仓库 | `pnpm exec repo init` | 同步推荐的仓库元信息和基础工程化配置 |
87
+ | 看仓库当前状态是否健康 | `pnpm exec repo doctor` | 先排根目录、Node、脚本、遗留配置、提交链路 |
88
+ | 创建一个新的包或应用 | `pnpm run repo:new` | 支持交互式选择,也支持 `-- --template` |
89
+ | 提交前做本地校验 | `pnpm run repo:check` | 默认对齐推荐 pre-commit / pre-push 逻辑 |
90
+ | 同步模板最新标准资产 | `pnpm exec repo upgrade` | 适合模板升级、老仓库补齐 |
91
+ | 清理演示仓库或非必要包 | `pnpm exec repo ws clean --yes` | 零安装也可以用 `pnpm dlx repo@latest ws clean --yes` |
92
92
 
93
93
  ## `doctor`、`check`、`upgrade` 的边界
94
94
 
@@ -151,7 +151,7 @@ export default defineMonorepoConfig({
151
151
  说明:
152
152
 
153
153
  - 优先使用 `repoctl.config.ts`
154
- - `monorepo.config.ts` 继续兼容
154
+ - `monorepo.config.ts` 已不再加载
155
155
  - 两者不能同时存在
156
156
 
157
157
  如果同时存在,现在 CLI 会直接报错,`repo doctor` 也会把它判成阻塞项。
@@ -161,7 +161,7 @@ export default defineMonorepoConfig({
161
161
  ### 交互式
162
162
 
163
163
  ```bash
164
- pnpm new
164
+ pnpm run repo:new
165
165
  ```
166
166
 
167
167
  适合第一次使用模板、想先看看有哪些模板可选。
@@ -208,8 +208,8 @@ pnpm exec repo new utils
208
208
 
209
209
  这也是为什么:
210
210
 
211
- - `pnpm doctor` 会检查 Husky 与 lint-staged 是否同时存在
212
- - `pnpm check` 会成为最自然的人工入口
211
+ - `pnpm exec repo doctor` 会检查 Husky 与 lint-staged 是否同时存在
212
+ - `pnpm run repo:check` 会成为最自然的人工入口
213
213
 
214
214
  ## 依赖与构建建议
215
215
 
@@ -15,6 +15,6 @@ repoctl 排障文档已经集中到:
15
15
  | 模板创建问题 | 模板 key、目标目录、创建计划 | `repo templates` / `repo new --dry-run` |
16
16
  | 提交前校验问题 | staged 文件、workspace 归属、任务路由 | `repo check --dry-run` |
17
17
  | 环境差异问题 | Node、pnpm、Git、CI、路径 | `repo env support --markdown --redact` |
18
- | 配置冲突问题 | `repoctl.config.ts` 与旧配置文件 | `repo config inspect` |
18
+ | 遗留配置问题 | `repoctl.config.ts` 与旧配置文件 | `repo config inspect` |
19
19
 
20
20
  旧页面继续保留为知识点索引,具体排查步骤以后优先维护在 repoctl 分区。
@@ -9,7 +9,7 @@ repoctl 不只适合新模板仓库。它也可以渐进接入已有 pnpm worksp
9
9
  - 已经使用 pnpm 或准备迁移到 pnpm。
10
10
  - 有根 `package.json`。
11
11
  - 能接受 `apps/*`、`packages/*`、`examples/*` 这类 workspace 目录约定。
12
- - 希望统一 `setup`、`doctor`、`new`、`check` 这类日常入口。
12
+ - 希望统一 `repo:init`、`repo:doctor`、`repo:new`、`repo:check` 这类日常入口。
13
13
 
14
14
  如果仓库还不是 pnpm workspace,先补最小 `pnpm-workspace.yaml`:
15
15
 
@@ -23,10 +23,10 @@ packages:
23
23
 
24
24
  ```bash
25
25
  pnpm add -D repoctl
26
- pnpm exec repo setup --yes
26
+ pnpm exec repo init --yes
27
27
  ```
28
28
 
29
- `setup --yes` 会使用安全默认值。它会补齐推荐脚本和 workspace patterns,但不会无条件覆盖已有 README、package.json、pnpm-workspace.yaml 或 tooling 配置。
29
+ `repo init --yes` 会使用安全默认值。它会补齐推荐脚本和 workspace patterns,但不会无条件覆盖已有 README、package.json、pnpm-workspace.yaml 或 tooling 配置。
30
30
 
31
31
  ## 第二步:保存第一次诊断
32
32
 
@@ -39,16 +39,16 @@ pnpm exec repo doctor --json --out reports/doctor-before.json
39
39
 
40
40
  重点看这些项:
41
41
 
42
- | 检查项 | 常见问题 |
43
- | ---------------------------- | ---------------------------------------------------- |
44
- | `package-json` | 当前目录不是仓库根目录 |
45
- | `workspace-manifest` | 缺少 `pnpm-workspace.yaml` |
46
- | `node-version` | 根 package 没声明 `engines.node` 或版本不匹配 |
47
- | `tool-package` | 没安装 `repoctl` |
48
- | `root-scripts` | 缺少 `setup/new/check/doctor` |
49
- | `config-file` | `repoctl.config.ts` 和 `monorepo.config.ts` 同时存在 |
50
- | `commit-hooks` | Husky 和 lint-staged 只接了一半 |
51
- | `workspace-package-coverage` | package.json 没被 workspace patterns 覆盖 |
42
+ | 检查项 | 常见问题 |
43
+ | ---------------------------- | ------------------------------------------------ |
44
+ | `package-json` | 当前目录不是仓库根目录 |
45
+ | `workspace-manifest` | 缺少 `pnpm-workspace.yaml` |
46
+ | `node-version` | 根 package 没声明 `engines.node` 或版本不匹配 |
47
+ | `tool-package` | 没安装 `repoctl` |
48
+ | `root-scripts` | 缺少 `repo:init/repo:new/repo:check/repo:doctor` |
49
+ | `config-file` | 残留已废弃的 `monorepo.config.ts` |
50
+ | `commit-hooks` | Husky 和 lint-staged 只接了一半 |
51
+ | `workspace-package-coverage` | package.json 没被 workspace patterns 覆盖 |
52
52
 
53
53
  ## 第三步:保守同步标准资产
54
54
 
@@ -71,12 +71,12 @@ pnpm exec repo check --markdown --redact --out reports/check-plan.md
71
71
 
72
72
  ## 第五步:接入根脚本
73
73
 
74
- 如果 `setup` 已补齐根脚本,团队日常文档就可以改成:
74
+ 如果 `repo init` 已补齐根脚本,团队日常文档优先改成:
75
75
 
76
76
  ```bash
77
- pnpm doctor
78
- pnpm new
79
- pnpm check
77
+ pnpm run repo:doctor
78
+ pnpm run repo:new -- sdk
79
+ pnpm run repo:check
80
80
  ```
81
81
 
82
82
  CI 和自动化脚本仍建议写完整 CLI:
@@ -88,7 +88,7 @@ pnpm exec repo check --full
88
88
 
89
89
  ## 第六步:处理遗留配置
90
90
 
91
- ### 配置文件冲突
91
+ ### 遗留配置文件
92
92
 
93
93
  只保留:
94
94
 
@@ -96,7 +96,7 @@ pnpm exec repo check --full
96
96
  repoctl.config.ts
97
97
  ```
98
98
 
99
- `monorepo.config.ts` 只是兼容旧项目。
99
+ `monorepo.config.ts` 已不再加载;请改名为 `repoctl.config.ts`。
100
100
 
101
101
  ### 本地 tooling loader
102
102
 
@@ -106,14 +106,14 @@ repoctl.config.ts
106
106
  pnpm exec repo upgrade --yes
107
107
  ```
108
108
 
109
- 这个命令会迁移到 `repoctl/tooling` 入口。
109
+ 这个命令会迁移到 `repoctl/tooling` 入口。简单的 `@icebreakers/commitlint-config`、`@icebreakers/eslint-config`、`@icebreakers/stylelint-config` wrapper 也会被保守转换为 `repoctl/tooling`,复杂 ESLint 配置会保留原有 rules、ignores、overrides 和额外 flat config 语义。
110
110
 
111
111
  ### workspace patterns 不覆盖包
112
112
 
113
113
  运行:
114
114
 
115
115
  ```bash
116
- pnpm exec repo setup --yes
116
+ pnpm exec repo init --yes
117
117
  ```
118
118
 
119
119
  或手动扩展 `pnpm-workspace.yaml`。
@@ -122,7 +122,7 @@ pnpm exec repo setup --yes
122
122
 
123
123
  存量仓库接入建议拆成小 PR:
124
124
 
125
- 1. 安装 `repoctl`,补 `setup/doctor/new/check` 根脚本。
125
+ 1. 安装 `repoctl`,补 `init/doctor/new/check` 根脚本。
126
126
  2. 提交 `doctor-before` 和 `doctor-after` 报告。
127
127
  3. 同步或迁移 tooling 配置。
128
128
  4. 接入 hook 和 CI。
@@ -16,7 +16,7 @@ mo
16
16
 
17
17
  文档统一推荐 `repo`。
18
18
 
19
- 兼容入口仍然可用:
19
+ 这些 bin 都进入同一套命令实现:
20
20
 
21
21
  ```bash
22
22
  repoctl doctor
@@ -27,10 +27,9 @@ mo doctor
27
27
 
28
28
  ## 顶层命令别名
29
29
 
30
- | 推荐写法 | 兼容或短写 | 说明 |
30
+ | 推荐写法 | 短写 | 说明 |
31
31
  | ---------------- | ----------- | ---------------- |
32
- | `repo setup` | `repo init` | 初始化仓库默认值 |
33
- | `repo upgrade` | `repo sync` | 同步模板标准资产 |
32
+ | `repo init` | `repo init` | 初始化仓库默认值 |
34
33
  | `repo templates` | `repo tpl` | 查看或检查模板 |
35
34
 
36
35
  ## 分组命令别名
@@ -66,6 +65,6 @@ mo doctor
66
65
  ## 推荐使用原则
67
66
 
68
67
  - 新手教程写完整命令,例如 `pnpm exec repo doctor`。
69
- - 团队 README 写根脚本,例如 `pnpm doctor`。
68
+ - 团队 README 写根脚本,例如 `pnpm run repo:doctor`。
70
69
  - 维护者脚本可以写短别名,但要在注释或文档里说明用途。
71
70
  - CI 里优先写完整命令,方便日志搜索。