@icebreakers/monorepo-templates 1.3.0 → 1.3.2
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.
- package/README.md +6 -0
- package/README.zh-CN.md +6 -0
- package/assets/.github/workflows/ci.yml +11 -0
- package/assets/.github/workflows/release-intent-check.yml +57 -0
- package/assets/CONTRIBUTING.md +3 -1
- package/assets/package.json +57 -14
- package/assets/pnpm-workspace.yaml +13 -0
- package/assets/repoctl.config.ts +6 -1
- package/assets/turbo.json +16 -0
- package/package.json +4 -4
- package/templates/client/eslint.config.js +1 -1
- package/templates/client/package.json +13 -13
- package/templates/client/worker-configuration.d.ts +763 -217
- package/templates/server/package.json +3 -3
- package/templates/server/worker-configuration.d.ts +763 -217
- package/templates/vitepress/.vitepress/config.ts +17 -7
- package/templates/vitepress/.vitepress/home/content.ts +64 -156
- package/templates/vitepress/.vitepress/home/types.ts +18 -34
- package/templates/vitepress/.vitepress/navigation/routes.ts +89 -81
- package/templates/vitepress/.vitepress/seo.ts +16 -2
- package/templates/vitepress/.vitepress/theme/Layout.vue +27 -0
- package/templates/vitepress/.vitepress/theme/components/HomePage.vue +66 -88
- package/templates/vitepress/.vitepress/theme/home/foundation.css +161 -104
- package/templates/vitepress/.vitepress/theme/home/responsive.css +113 -20
- package/templates/vitepress/.vitepress/theme/home/sections.css +179 -100
- package/templates/vitepress/.vitepress/theme/index.ts +2 -0
- package/templates/vitepress/learn/index.md +18 -0
- package/templates/vitepress/{monorepo → learn/monorepo}/commands.md +1 -1
- package/templates/vitepress/{monorepo → learn/monorepo}/index.md +3 -3
- package/templates/vitepress/{monorepo → learn/monorepo}/templates.md +1 -1
- package/templates/vitepress/{why/what-is-npm-package.md → learn/packages/index.md} +1 -1
- package/templates/vitepress/{why → learn/packages}/modern/index.md +2 -2
- package/templates/vitepress/{why → learn/packages}/modern/typescript.md +1 -1
- package/templates/vitepress/{why/index.md → learn/packages/modern-overview.md} +1 -1
- package/templates/vitepress/{why/publish-basic-npm-package.md → learn/packages/publish.md} +1 -1
- package/templates/vitepress/{why/how-to-reuse-js-code.md → learn/packages/reuse-javascript.md} +2 -2
- package/templates/vitepress/{why/js-keywords.md → learn/packages/runtime-globals.md} +2 -2
- package/templates/vitepress/{repoctl/index.md → learn/repoctl-model.md} +8 -8
- package/templates/vitepress/{tools → learn/tools}/changeset.md +3 -3
- package/templates/vitepress/{tools → learn/tools}/husky.md +2 -2
- package/templates/vitepress/{tools → learn/tools}/lint-staged.md +2 -2
- package/templates/vitepress/{tools → learn/tools}/llms-txt.md +1 -1
- package/templates/vitepress/{tools → learn/tools}/pnpm.md +2 -2
- package/templates/vitepress/{tools → learn/tools}/renovate.md +2 -2
- package/templates/vitepress/{tools → learn/tools}/turborepo.md +2 -2
- package/templates/vitepress/package.json +7 -7
- package/templates/vitepress/public/brand/apple-touch-icon.png +0 -0
- package/templates/vitepress/public/brand/favicon.ico +0 -0
- package/templates/vitepress/public/brand/repoctl-lockup-dark.svg +6 -0
- package/templates/vitepress/public/brand/repoctl-lockup.svg +20 -0
- package/templates/vitepress/public/brand/repoctl-mark-192.png +0 -0
- package/templates/vitepress/public/brand/repoctl-mark-dark.svg +13 -0
- package/templates/vitepress/public/brand/repoctl-mark.svg +13 -0
- package/templates/vitepress/public/brand/repoctl-social-en.png +0 -0
- package/templates/vitepress/public/brand/repoctl-social-en.webp +0 -0
- package/templates/vitepress/public/brand/repoctl-social-zh.png +0 -0
- package/templates/vitepress/public/brand/repoctl-social-zh.webp +0 -0
- package/templates/vitepress/public/favicon.ico +0 -0
- package/templates/vitepress/public/logo.jpg +0 -0
- package/templates/vitepress/{repoctl → reference}/commands.md +2 -2
- package/templates/vitepress/reference/index.md +15 -0
- package/templates/vitepress/reference/output.md +37 -0
- package/templates/vitepress/{repoctl → reference}/templates.md +2 -2
- package/templates/vitepress/scripts/check-locales.ts +35 -1
- package/templates/vitepress/start/choose-next.md +14 -0
- package/templates/vitepress/start/first-run.md +39 -0
- package/templates/vitepress/start/index.md +26 -0
- package/templates/vitepress/{repoctl/getting-started.md → start/install.md} +5 -5
- package/templates/vitepress/{repoctl → tasks}/adopt-existing.md +30 -4
- package/templates/vitepress/{repoctl → tasks}/checks.md +27 -1
- package/templates/vitepress/{repoctl/workflows.md → tasks/ci.md} +30 -4
- package/templates/vitepress/tasks/create-project.md +37 -0
- package/templates/vitepress/{repoctl/scenarios.md → tasks/index.md} +8 -8
- package/templates/vitepress/tasks/release.md +31 -0
- package/templates/vitepress/{repoctl → tasks}/reports.md +25 -0
- package/templates/vitepress/{repoctl → tasks}/troubleshooting.md +30 -4
- package/templates/vitepress/zh/ai/llms-txt.md +6 -6
- package/templates/vitepress/zh/learn/index.md +18 -0
- package/templates/vitepress/zh/{monorepo → learn/monorepo}/commands.md +3 -3
- package/templates/vitepress/zh/{monorepo → learn/monorepo}/manage.md +4 -4
- package/templates/vitepress/zh/{monorepo → learn/monorepo}/templates.md +2 -2
- package/templates/vitepress/zh/{monorepo → learn/monorepo}/troubleshooting.md +2 -2
- package/templates/vitepress/zh/{why → learn/packages}/modern/index.md +1 -1
- package/templates/vitepress/zh/{why/index.md → learn/packages/modern-overview.md} +2 -2
- package/templates/vitepress/zh/{repoctl/index.md → learn/repoctl-model.md} +19 -19
- package/templates/vitepress/zh/{tools → learn/tools}/husky.md +1 -1
- package/templates/vitepress/zh/{tools → learn/tools}/lint-staged.md +1 -1
- package/templates/vitepress/zh/{tools → learn/tools}/llms-txt.md +1 -1
- package/templates/vitepress/zh/{tools → learn/tools}/pnpm.md +1 -1
- package/templates/vitepress/zh/{tools → learn/tools}/turborepo.md +11 -11
- package/templates/vitepress/zh/{repoctl → reference}/commands.md +4 -4
- package/templates/vitepress/zh/{repoctl → reference}/config.md +1 -1
- package/templates/vitepress/zh/reference/index.md +15 -0
- package/templates/vitepress/zh/reference/output.md +37 -0
- package/templates/vitepress/zh/{repoctl → reference}/templates.md +4 -4
- package/templates/vitepress/zh/start/choose-next.md +14 -0
- package/templates/vitepress/zh/{repoctl/doctor.md → start/diagnose.md} +1 -1
- package/templates/vitepress/zh/start/first-run.md +39 -0
- package/templates/vitepress/zh/start/index.md +26 -0
- package/templates/vitepress/zh/{repoctl/getting-started.md → start/install.md} +5 -5
- package/templates/vitepress/zh/{repoctl → tasks}/adopt-existing.md +30 -4
- package/templates/vitepress/zh/{repoctl → tasks}/checks.md +27 -1
- package/templates/vitepress/zh/{repoctl/workflows.md → tasks/ci.md} +38 -12
- package/templates/vitepress/zh/tasks/create-project.md +37 -0
- package/templates/vitepress/zh/{repoctl/scenarios.md → tasks/index.md} +8 -8
- package/templates/vitepress/zh/tasks/release.md +31 -0
- package/templates/vitepress/zh/{repoctl → tasks}/reports.md +25 -0
- package/templates/vitepress/zh/{repoctl → tasks}/troubleshooting.md +39 -13
- package/templates/vue-lib/package.json +5 -5
- package/templates/vitepress/getting-started.md +0 -11
- package/templates/vitepress/knowledge/index.md +0 -26
- package/templates/vitepress/thinking.md +0 -22
- package/templates/vitepress/zh/getting-started.md +0 -40
- package/templates/vitepress/zh/knowledge/index.md +0 -50
- package/templates/vitepress/zh/thinking.md +0 -91
- /package/templates/vitepress/{monorepo → learn/monorepo}/manage.md +0 -0
- /package/templates/vitepress/{monorepo → learn/monorepo}/publish.md +0 -0
- /package/templates/vitepress/{monorepo → learn/monorepo}/troubleshooting.md +0 -0
- /package/templates/vitepress/{why → learn/packages}/assets/npm-dt.svg +0 -0
- /package/templates/vitepress/{why → learn/packages}/assets/npm-ts.svg +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/0.npm-basic-package/index.js +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/0.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/1.npm-basic-package/index.cjs +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/1.npm-basic-package/index.d.ts +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/1.npm-basic-package/index.js +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/1.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/README.md +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/package-lock.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/rename-ext.js +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/src/index.ts +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/tsconfig.cjs.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/tsconfig.esm.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/2.npm-basic-package/tsconfig.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/3.npm-basic-package/README.md +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/3.npm-basic-package/package-lock.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/3.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/3.npm-basic-package/src/index.ts +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/3.npm-basic-package/tsconfig.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/3.npm-basic-package/tsdown.config.ts +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-cjs/cjs.cjs +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-cjs/esm.mjs +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-cjs/index.js +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-cjs/package-lock.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-cjs/package.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-esm/cjs.cjs +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-esm/createRequire.js +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-esm/esm.mjs +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-esm/index.js +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-esm/package-lock.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/examples/usage-esm/package.json +0 -0
- /package/templates/vitepress/{why → learn/packages}/modern/bundlers.md +0 -0
- /package/templates/vitepress/{why → learn/packages}/modern/dts.md +0 -0
- /package/templates/vitepress/{why → learn/packages}/modern/esm-vs-cjs.md +0 -0
- /package/templates/vitepress/{why → learn/packages}/modern/package-entry-points.md +0 -0
- /package/templates/vitepress/{why/js-cjs-mjs.md → learn/packages/module-extensions.md} +0 -0
- /package/templates/vitepress/{tools → learn/tools}/index.md +0 -0
- /package/templates/vitepress/{repoctl → reference}/aliases.md +0 -0
- /package/templates/vitepress/{repoctl → reference}/config.md +0 -0
- /package/templates/vitepress/{repoctl → reference}/execution-model.md +0 -0
- /package/templates/vitepress/{repoctl → reference}/template-assets.md +0 -0
- /package/templates/vitepress/{repoctl/doctor.md → start/diagnose.md} +0 -0
- /package/templates/vitepress/zh/{monorepo → learn/monorepo}/index.md +0 -0
- /package/templates/vitepress/zh/{monorepo → learn/monorepo}/publish.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/assets/npm-dt.svg +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/assets/npm-ts.svg +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/0.npm-basic-package/index.js +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/0.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/1.npm-basic-package/index.cjs +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/1.npm-basic-package/index.d.ts +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/1.npm-basic-package/index.js +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/1.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/README.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/package-lock.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/rename-ext.js +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/src/index.ts +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/tsconfig.cjs.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/tsconfig.esm.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/2.npm-basic-package/tsconfig.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/3.npm-basic-package/README.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/3.npm-basic-package/package-lock.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/3.npm-basic-package/package.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/3.npm-basic-package/src/index.ts +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/3.npm-basic-package/tsconfig.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/3.npm-basic-package/tsdown.config.ts +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-cjs/cjs.cjs +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-cjs/esm.mjs +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-cjs/index.js +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-cjs/package-lock.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-cjs/package.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-esm/cjs.cjs +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-esm/createRequire.js +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-esm/esm.mjs +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-esm/index.js +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-esm/package-lock.json +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/examples/usage-esm/package.json +0 -0
- /package/templates/vitepress/zh/{why/what-is-npm-package.md → learn/packages/index.md} +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/modern/bundlers.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/modern/dts.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/modern/esm-vs-cjs.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/modern/package-entry-points.md +0 -0
- /package/templates/vitepress/zh/{why → learn/packages}/modern/typescript.md +0 -0
- /package/templates/vitepress/zh/{why/js-cjs-mjs.md → learn/packages/module-extensions.md} +0 -0
- /package/templates/vitepress/zh/{why/publish-basic-npm-package.md → learn/packages/publish.md} +0 -0
- /package/templates/vitepress/zh/{why/how-to-reuse-js-code.md → learn/packages/reuse-javascript.md} +0 -0
- /package/templates/vitepress/zh/{why/js-keywords.md → learn/packages/runtime-globals.md} +0 -0
- /package/templates/vitepress/zh/{tools → learn/tools}/changeset.md +0 -0
- /package/templates/vitepress/zh/{tools → learn/tools}/index.md +0 -0
- /package/templates/vitepress/zh/{tools → learn/tools}/renovate.md +0 -0
- /package/templates/vitepress/zh/{repoctl → reference}/aliases.md +0 -0
- /package/templates/vitepress/zh/{repoctl → reference}/execution-model.md +0 -0
- /package/templates/vitepress/zh/{repoctl → reference}/template-assets.md +0 -0
|
@@ -4,6 +4,31 @@ outline: deep
|
|
|
4
4
|
|
|
5
5
|
# Reports and Automation Output
|
|
6
6
|
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
Use this task when a person, CI job, or support request needs a durable record of what repoctl found or planned.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Choose a `reports/` directory that is ignored or uploaded as a CI artifact.
|
|
14
|
+
- Use `--redact` before sharing environment details outside the repository.
|
|
15
|
+
|
|
16
|
+
## Smallest Command
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
repo env support --markdown --redact --out reports/support.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Expected Output
|
|
23
|
+
|
|
24
|
+
The output file contains stable headings and command results that can be attached to a pull request or issue.
|
|
25
|
+
|
|
26
|
+
## Common Branches
|
|
27
|
+
|
|
28
|
+
- Another tool consumes the result: use JSON with `--json`.
|
|
29
|
+
- You only need to inspect a plan: combine `--dry-run` with the desired format.
|
|
30
|
+
- A report contains a local path or token: regenerate it with `--redact`.
|
|
31
|
+
|
|
7
32
|
repoctl commands expose human-readable text for terminals, Markdown for issues and pull requests, and stable JSON for automation.
|
|
8
33
|
|
|
9
34
|
## Common Options
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Troubleshoot
|
|
2
|
+
|
|
3
|
+
## When To Use
|
|
4
|
+
|
|
5
|
+
Use this task when initialization, checks, templates, or automation stop with an unexpected result.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Run the command from the repository root.
|
|
10
|
+
- Keep the original error and the repository revision available.
|
|
11
|
+
- Remove secrets before sharing command output.
|
|
12
|
+
|
|
13
|
+
## Smallest Command
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
repo doctor --markdown --redact --out reports/doctor.md
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Expected Output
|
|
20
|
+
|
|
21
|
+
The report identifies the repository root, package manager, workspace configuration, tooling, and the first failing check.
|
|
22
|
+
|
|
23
|
+
## Common Branches
|
|
24
|
+
|
|
25
|
+
- The command is run from a child directory: change to the workspace root.
|
|
26
|
+
- A config file conflicts with a managed asset: inspect the plan before overwriting.
|
|
27
|
+
- A template key is unknown: list templates with `repo templates`.
|
|
2
28
|
|
|
3
29
|
repoctl focuses on reports that can be reproduced, saved, and shared.
|
|
4
30
|
|
|
@@ -91,6 +117,6 @@ repo check --json --out reports/check-plan.json
|
|
|
91
117
|
|
|
92
118
|
## Keep Reading
|
|
93
119
|
|
|
94
|
-
- [
|
|
95
|
-
- [Command Reference](
|
|
96
|
-
- [Command Aliases](
|
|
120
|
+
- [Add checks to CI](/tasks/ci)
|
|
121
|
+
- [Command Reference](/reference/commands)
|
|
122
|
+
- [Command Aliases](/reference/aliases)
|
|
@@ -34,9 +34,9 @@ description: 说明这个页面解决的问题和适用场景。
|
|
|
34
34
|
|
|
35
35
|
AI 入口应该保持显眼,但不要替代正常文档结构:
|
|
36
36
|
|
|
37
|
-
| 页面类型 | 推荐位置
|
|
38
|
-
| -------------------------------------- |
|
|
39
|
-
| repoctl 命令、校验、诊断、报告 | `/
|
|
40
|
-
| monorepo 和 npm 包基础知识 | `/
|
|
41
|
-
| pnpm、Turborepo、versioning 等工具专题 | `/tools/`
|
|
42
|
-
| llms.txt 和 AI 工具读取约定 | `/ai/`
|
|
37
|
+
| 页面类型 | 推荐位置 |
|
|
38
|
+
| -------------------------------------- | ------------------------------------------------- |
|
|
39
|
+
| repoctl 命令、校验、诊断、报告 | `/start/` |
|
|
40
|
+
| monorepo 和 npm 包基础知识 | `/learn/`、`/learn/monorepo/`、`/learn/packages/` |
|
|
41
|
+
| pnpm、Turborepo、versioning 等工具专题 | `/learn/tools/` |
|
|
42
|
+
| llms.txt 和 AI 工具读取约定 | `/ai/` |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# 理解这套系统
|
|
2
|
+
|
|
3
|
+
第一次流程跑通后,再进入 Learn。这里解释 repoctl、monorepo、包、模板和底层工具之间的边界。
|
|
4
|
+
|
|
5
|
+
## 核心概念
|
|
6
|
+
|
|
7
|
+
- [repoctl 如何融入仓库](./repoctl-model)
|
|
8
|
+
- [Monorepo 基础](./monorepo/)
|
|
9
|
+
- [现代 npm 包](./packages/)
|
|
10
|
+
- [模板体系](./monorepo/templates)
|
|
11
|
+
|
|
12
|
+
## 工具
|
|
13
|
+
|
|
14
|
+
[工具专题](/zh/learn/tools/)解释 pnpm、Turborepo、版本管理、hooks、暂存区校验和依赖自动化。
|
|
15
|
+
|
|
16
|
+
## 建议阅读顺序
|
|
17
|
+
|
|
18
|
+
先了解仓库模型,再按需要选择 monorepo 基础或包发布。需要可执行步骤时,回到[任务](/zh/tasks/)章节。
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
repoctl 现在是这套文档的主线。完整命令说明请阅读:
|
|
4
4
|
|
|
5
|
-
- [repoctl 命令速查](
|
|
6
|
-
- [repoctl 模板与创建](
|
|
7
|
-
- [repoctl
|
|
5
|
+
- [repoctl 命令速查](/zh/reference/commands)
|
|
6
|
+
- [repoctl 模板与创建](/zh/reference/templates)
|
|
7
|
+
- [repoctl 排障](/zh/tasks/troubleshooting)
|
|
8
8
|
|
|
9
9
|
## monorepo 知识点:为什么要统一命令入口
|
|
10
10
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
这一页是 repoctl 文档后面的知识库页面。它不再重新解释所有命令参数,而是解释:为什么这些命令能让 monorepo 日常管理变简单。
|
|
4
4
|
|
|
5
|
-
如果你只想查命令,直接看 [
|
|
5
|
+
如果你只想查命令,直接看 [把校验加入 CI](/zh/tasks/ci) 或 [repoctl 命令速查](/zh/reference/commands)。
|
|
6
6
|
|
|
7
7
|
## 先记住默认工作流
|
|
8
8
|
|
|
@@ -237,7 +237,7 @@ pnpm test
|
|
|
237
237
|
|
|
238
238
|
## 继续阅读
|
|
239
239
|
|
|
240
|
-
- [
|
|
241
|
-
- [repoctl 命令速查](
|
|
242
|
-
- [repoctl
|
|
240
|
+
- [把校验加入 CI](/zh/tasks/ci)
|
|
241
|
+
- [repoctl 命令速查](/zh/reference/commands)
|
|
242
|
+
- [repoctl 排障](/zh/tasks/troubleshooting)
|
|
243
243
|
- [发包与变更日志](./publish.md)
|
|
@@ -14,7 +14,7 @@ outline: [2, 4]
|
|
|
14
14
|
|
|
15
15
|
为此我们需要提升包的质量,具体的手段如下
|
|
16
16
|
|
|
17
|
-
此代码的演变用例见 [examples](https://github.com/sonofmagic/repoctl/tree/main/templates/vitepress/
|
|
17
|
+
此代码的演变用例见 [examples](https://github.com/sonofmagic/repoctl/tree/main/templates/vitepress/learn/packages/examples)
|
|
18
18
|
|
|
19
19
|
## 确定包的模块入口点
|
|
20
20
|
|
|
@@ -67,12 +67,12 @@ repoctl 把 monorepo 里最容易分散的动作收敛为五条主线:
|
|
|
67
67
|
|
|
68
68
|
## 新人和维护者的边界
|
|
69
69
|
|
|
70
|
-
| 角色 | 推荐只记住 | 需要深入时再看
|
|
71
|
-
| ---------- | ------------------------------------------------------------------ |
|
|
72
|
-
| 新成员 | `pnpm run repo:doctor`、`pnpm run repo:new`、`pnpm run repo:check` | [
|
|
73
|
-
| 包维护者 | `repo templates`、`repo new --template`、`repo check --full` | [模板资产治理](
|
|
74
|
-
| CI 维护者 | `repo doctor --strict`、`repo check --full`、`repo env support` | [报告与自动化输出](
|
|
75
|
-
| 平台维护者 | `repo init`、`repo upgrade`、`repo config inspect` | [执行模型](
|
|
70
|
+
| 角色 | 推荐只记住 | 需要深入时再看 |
|
|
71
|
+
| ---------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
|
|
72
|
+
| 新成员 | `pnpm run repo:doctor`、`pnpm run repo:new`、`pnpm run repo:check` | [任务索引](/zh/tasks/) |
|
|
73
|
+
| 包维护者 | `repo templates`、`repo new --template`、`repo check --full` | [模板资产治理](/zh/reference/template-assets) |
|
|
74
|
+
| CI 维护者 | `repo doctor --strict`、`repo check --full`、`repo env support` | [报告与自动化输出](/zh/tasks/reports) |
|
|
75
|
+
| 平台维护者 | `repo init`、`repo upgrade`、`repo config inspect` | [执行模型](/zh/reference/execution-model) 和 [配置文件](/zh/reference/config) |
|
|
76
76
|
|
|
77
77
|
## 命令入口
|
|
78
78
|
|
|
@@ -87,16 +87,16 @@ pnpm exec repoctl new
|
|
|
87
87
|
|
|
88
88
|
## 下一步
|
|
89
89
|
|
|
90
|
-
- 第一次接入:[
|
|
91
|
-
- 不知道用哪个命令:[
|
|
92
|
-
- 理解 CLI 怎么执行:[执行模型](
|
|
93
|
-
- 查命令参数:[命令速查](
|
|
94
|
-
- 理解本地校验:[
|
|
95
|
-
- 看 doctor 具体检查项:[doctor 诊断](
|
|
96
|
-
- 固化团队默认值:[配置文件](
|
|
97
|
-
- 看可创建的模板:[模板与创建](
|
|
98
|
-
- 治理模板资产:[模板资产治理](
|
|
99
|
-
- 接入 CI 和本地流程:[
|
|
100
|
-
- 生成机器可读报告:[报告与自动化输出](
|
|
101
|
-
- 排查常见问题:[
|
|
102
|
-
- 熟悉短命令:[命令别名](
|
|
90
|
+
- 第一次接入:[安装并初始化](/zh/start/install)
|
|
91
|
+
- 不知道用哪个命令:[任务索引](/zh/tasks/)
|
|
92
|
+
- 理解 CLI 怎么执行:[执行模型](/zh/reference/execution-model)
|
|
93
|
+
- 查命令参数:[命令速查](/zh/reference/commands)
|
|
94
|
+
- 理解本地校验:[运行校验](/zh/tasks/checks)
|
|
95
|
+
- 看 doctor 具体检查项:[doctor 诊断](/zh/start/diagnose)
|
|
96
|
+
- 固化团队默认值:[配置文件](/zh/reference/config)
|
|
97
|
+
- 看可创建的模板:[模板与创建](/zh/reference/templates)
|
|
98
|
+
- 治理模板资产:[模板资产治理](/zh/reference/template-assets)
|
|
99
|
+
- 接入 CI 和本地流程:[把校验加入 CI](/zh/tasks/ci)
|
|
100
|
+
- 生成机器可读报告:[报告与自动化输出](/zh/tasks/reports)
|
|
101
|
+
- 排查常见问题:[排障](/zh/tasks/troubleshooting)
|
|
102
|
+
- 熟悉短命令:[命令别名](/zh/reference/aliases)
|
|
@@ -15,7 +15,7 @@ pnpm exec repo check --json --out reports/check-plan.json
|
|
|
15
15
|
| 根脚本 `pnpm build` / `pnpm test` | 调用 `turbo run build` / `turbo run test` |
|
|
16
16
|
| `turbo.json` | 定义任务依赖、缓存输出和执行策略 |
|
|
17
17
|
|
|
18
|
-
继续看:[
|
|
18
|
+
继续看:[把校验加入 CI](/zh/tasks/ci)。
|
|
19
19
|
|
|
20
20
|
## 1. 什么是 Turborepo?
|
|
21
21
|
|
|
@@ -147,17 +147,17 @@ npx turbo link
|
|
|
147
147
|
|
|
148
148
|
## Turborepo vs Lerna vs Nx
|
|
149
149
|
|
|
150
|
-
| 特性 / 工具 | **Turborepo** | **Lerna** | **Nx**
|
|
151
|
-
| ----------------- | ---------------------------------------- | ------------------------------------------- |
|
|
152
|
-
| **定位** | 高性能构建系统,专注缓存、并行和增量构建 | 最早的 JS monorepo 工具,专注版本管理和发布 | 企业级开发平台,集成构建、测试、代码生成等功能
|
|
150
|
+
| 特性 / 工具 | **Turborepo** | **Lerna** | **Nx** |
|
|
151
|
+
| ----------------- | ---------------------------------------- | ------------------------------------------- | ---------------------------------------------- |
|
|
152
|
+
| **定位** | 高性能构建系统,专注缓存、并行和增量构建 | 最早的 JS monorepo 工具,专注版本管理和发布 | 企业级开发平台,集成构建、测试、代码生成等功能 |
|
|
153
153
|
| **核心优势** | ⚡ 高速缓存(本地 & 远程)、并行任务执行 | 📦 包版本管理(独立/统一模式)、发布到 npm | 🛠 丰富的插件生态、代码生成器、强大的依赖图分析 |
|
|
154
|
-
| **依赖管理** | 基于 pnpm/yarn/npm workspaces | 基于 npm/yarn workspaces | 内置强依赖图(project graph)管理
|
|
155
|
-
| **构建/缓存机制** | ✅ 智能缓存 & 增量构建 | ❌ 无缓存机制 | ✅ 强大缓存 & 增量构建(类似 Bazel)
|
|
156
|
-
| **任务编排** | pipeline 模式(`turbo.json`) | 简单顺序执行 | 高度可配置任务调度器(依赖感知)
|
|
157
|
-
| **语言支持** | 主要是 JS/TS 生态 | 主要是 JS/TS 生态 | 多语言支持(JS/TS/Go/Rust/Python 等)
|
|
158
|
-
| **学习成本** | ⭐⭐ 低(配置简洁,前端友好) | ⭐⭐ 低(老牌工具,功能单一) | ⭐⭐⭐ 高(功能多,配置复杂)
|
|
159
|
-
| **社区活跃度** | 🚀 高(Vercel 维护,发展迅速) | ⚠️ 中等(已过巅峰,更多用于发布流程) | 🚀 高(企业应用广泛,社区和插件丰富)
|
|
160
|
-
| **适合场景** | 前端/全栈项目,追求构建速度 & CI/CD 效率 | 多包库发布(如 npm 包集合项目) | 大型企业级 monorepo,跨语言/跨团队复杂项目
|
|
154
|
+
| **依赖管理** | 基于 pnpm/yarn/npm workspaces | 基于 npm/yarn workspaces | 内置强依赖图(project graph)管理 |
|
|
155
|
+
| **构建/缓存机制** | ✅ 智能缓存 & 增量构建 | ❌ 无缓存机制 | ✅ 强大缓存 & 增量构建(类似 Bazel) |
|
|
156
|
+
| **任务编排** | pipeline 模式(`turbo.json`) | 简单顺序执行 | 高度可配置任务调度器(依赖感知) |
|
|
157
|
+
| **语言支持** | 主要是 JS/TS 生态 | 主要是 JS/TS 生态 | 多语言支持(JS/TS/Go/Rust/Python 等) |
|
|
158
|
+
| **学习成本** | ⭐⭐ 低(配置简洁,前端友好) | ⭐⭐ 低(老牌工具,功能单一) | ⭐⭐⭐ 高(功能多,配置复杂) |
|
|
159
|
+
| **社区活跃度** | 🚀 高(Vercel 维护,发展迅速) | ⚠️ 中等(已过巅峰,更多用于发布流程) | 🚀 高(企业应用广泛,社区和插件丰富) |
|
|
160
|
+
| **适合场景** | 前端/全栈项目,追求构建速度 & CI/CD 效率 | 多包库发布(如 npm 包集合项目) | 大型企业级 monorepo,跨语言/跨团队复杂项目 |
|
|
161
161
|
|
|
162
162
|
## 对比总结
|
|
163
163
|
|
|
@@ -161,8 +161,8 @@ repo skills sync --codex
|
|
|
161
161
|
## 继续阅读
|
|
162
162
|
|
|
163
163
|
- [执行模型](./execution-model.md)
|
|
164
|
-
- [
|
|
165
|
-
- [doctor 诊断](
|
|
166
|
-
- [
|
|
167
|
-
- [报告与自动化输出](
|
|
164
|
+
- [运行校验](/zh/tasks/checks)
|
|
165
|
+
- [doctor 诊断](/zh/start/diagnose)
|
|
166
|
+
- [把校验加入 CI](/zh/tasks/ci)
|
|
167
|
+
- [报告与自动化输出](/zh/tasks/reports)
|
|
168
168
|
- [命令别名](./aliases.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# 参考
|
|
2
|
+
|
|
3
|
+
当你已经知道要做什么,只需要确认命令、参数、配置键或输出规则时,进入参考章节。
|
|
4
|
+
|
|
5
|
+
## 命令与配置
|
|
6
|
+
|
|
7
|
+
- [命令参考](./commands.md)
|
|
8
|
+
- [配置文件](./config.md)
|
|
9
|
+
- [执行模型](./execution-model.md)
|
|
10
|
+
- [输出格式](./output.md)
|
|
11
|
+
- [命令别名](./aliases.md)
|
|
12
|
+
- [模板](./templates.md)
|
|
13
|
+
- [受管模板资产](./template-assets.md)
|
|
14
|
+
|
|
15
|
+
新手章节会先隐藏高级分组命令,等它们真正有用时再展开。这里记录完整命令面,不会改变 CLI 的命令名称。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 输出格式
|
|
2
|
+
|
|
3
|
+
repoctl 可以输出到终端,也可以保存为供自动化使用的稳定产物。选择命令边界的输出格式,同一项任务就能服务人和 CI。
|
|
4
|
+
|
|
5
|
+
## 终端
|
|
6
|
+
|
|
7
|
+
默认输出适合人阅读,会显示计划、选中的命令和最终状态。
|
|
8
|
+
|
|
9
|
+
## JSON
|
|
10
|
+
|
|
11
|
+
其他工具需要结构化字段时使用 JSON:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
repo check --full --dry-run --json --out reports/check-plan.json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
后续 job 需要检查计划时,可以把文件作为 CI 产物保存。
|
|
18
|
+
|
|
19
|
+
## Markdown
|
|
20
|
+
|
|
21
|
+
代码评审和支持请求适合使用 Markdown:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
repo env support --markdown --redact --out reports/support.md
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`--redact` 会在分享前移除本地路径和敏感值。
|
|
28
|
+
|
|
29
|
+
## 常见分支
|
|
30
|
+
|
|
31
|
+
- 需要比较两次运行:分别写入不同文件,再比较 JSON。
|
|
32
|
+
- 需要安全的排障包:使用 `repo env support --redact`。
|
|
33
|
+
- 只需要命令计划:把 `--dry-run` 和目标输出格式一起使用。
|
|
34
|
+
|
|
35
|
+
## 下一步
|
|
36
|
+
|
|
37
|
+
完整支持流程请看[报告与输出任务](/zh/tasks/reports)。
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
repoctl 的模板由 `@icebreakers/monorepo-templates` 维护。CLI、脚手架和文档都复用同一份模板元数据。
|
|
4
4
|
|
|
5
|
-
更偏维护者视角的模板元数据、健康检查和自定义模板说明见:[模板资产治理](
|
|
5
|
+
更偏维护者视角的模板元数据、健康检查和自定义模板说明见:[模板资产治理](/zh/reference/template-assets)。
|
|
6
6
|
|
|
7
7
|
## 内置模板
|
|
8
8
|
|
|
@@ -153,7 +153,7 @@ repo templates --check --json
|
|
|
153
153
|
|
|
154
154
|
## 继续阅读
|
|
155
155
|
|
|
156
|
-
- [
|
|
157
|
-
- [
|
|
156
|
+
- [接入已有 workspace](/zh/tasks/adopt-existing)
|
|
157
|
+
- [把校验加入 CI](/zh/tasks/ci)
|
|
158
158
|
- [配置文件](./config.md)
|
|
159
|
-
- [模板资产治理](
|
|
159
|
+
- [模板资产治理](/zh/reference/template-assets)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# 选择下一项任务
|
|
2
|
+
|
|
3
|
+
先按你要得到的结果选择任务。每个任务页都包含适用场景、前置条件、最小命令、预期输出、常见分支和下一步。
|
|
4
|
+
|
|
5
|
+
| 目标 | 进入 |
|
|
6
|
+
| ----------------------------- | ---------------------------------------------- |
|
|
7
|
+
| 把 repoctl 接入已有 workspace | [接入已有 workspace](/zh/tasks/adopt-existing) |
|
|
8
|
+
| 创建包、应用、服务或文档站 | [创建包或应用](/zh/tasks/create-project) |
|
|
9
|
+
| 提交前运行本地校验 | [运行校验](/zh/tasks/checks) |
|
|
10
|
+
| 保存评审或排障需要的输出 | [报告与输出](/zh/tasks/reports) |
|
|
11
|
+
| 把同一套流程接入 CI | [把校验加入 CI](/zh/tasks/ci) |
|
|
12
|
+
| 准备发布包 | [发布包](/zh/tasks/release) |
|
|
13
|
+
|
|
14
|
+
参数和分组命令请查看[命令参考](/zh/reference/commands)。想了解命令为什么这样执行,可以阅读[repoctl 执行模型](/zh/reference/execution-model)。
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# 第一次运行
|
|
2
|
+
|
|
3
|
+
这是最小的完整 repoctl 流程。它先做一次可审查的变更,保存证据,再给出下一步。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add -D repoctl
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 初始化
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm exec repo init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
接受写入前先检查计划。如果仓库已有自己的约定,先阅读接入指南,再决定是否替换文件。
|
|
18
|
+
|
|
19
|
+
## 诊断
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm exec repo doctor
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
报告会检查仓库根目录、包管理器、workspace 结构、任务运行器、hooks 和发布元数据。先修复第一个阻塞项,再重新执行命令。
|
|
26
|
+
|
|
27
|
+
## 规划校验
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pnpm exec repo check --dry-run
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
这会列出 lint、类型检查、构建、测试和包检查将要执行的命令。确认计划符合仓库约定后,再执行完整校验。
|
|
34
|
+
|
|
35
|
+
## 下一步
|
|
36
|
+
|
|
37
|
+
- 新建仓库:[创建包或应用](/zh/tasks/create-project)。
|
|
38
|
+
- 已有仓库:[接入已有 workspace](/zh/tasks/adopt-existing)。
|
|
39
|
+
- 配置 CI:[把校验加入 CI](/zh/tasks/ci)。
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# 从这里开始
|
|
2
|
+
|
|
3
|
+
如果你第一次使用 repoctl,请从这一节开始。最短的有效路径是安装 CLI,执行 `repo init`,再执行 `repo doctor`。
|
|
4
|
+
|
|
5
|
+
## 选择第一次操作
|
|
6
|
+
|
|
7
|
+
- 如果还没有运行过命令,阅读[安装并初始化](./install.md)。
|
|
8
|
+
- 如果已经安装 repoctl,直接[运行第一次诊断](./diagnose.md)。
|
|
9
|
+
- 得到诊断结果后,进入[选择下一项任务](./choose-next.md)。
|
|
10
|
+
|
|
11
|
+
## repoctl 做什么
|
|
12
|
+
|
|
13
|
+
repoctl 把常见 monorepo 工作收敛为一组容易记忆的命令:
|
|
14
|
+
|
|
15
|
+
| 需求 | 命令 |
|
|
16
|
+
| ---------------- | ---------------------- |
|
|
17
|
+
| 加入仓库约定 | `repo init` |
|
|
18
|
+
| 检查仓库健康状态 | `repo doctor` |
|
|
19
|
+
| 创建包或应用 | `repo new` |
|
|
20
|
+
| 执行前规划校验 | `repo check --dry-run` |
|
|
21
|
+
|
|
22
|
+
CLI 支持 pnpm workspace,并能理解 Turborepo 任务图,但不会替代这两个工具。
|
|
23
|
+
|
|
24
|
+
## 开始前确认
|
|
25
|
+
|
|
26
|
+
你需要 Node.js 22.12 或更新版本,并确保 pnpm 在 PATH 中。从仓库根目录执行命令,这样 repoctl 才能读取 workspace 配置。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 安装并初始化
|
|
2
2
|
|
|
3
3
|
这一页按“把 repoctl 接进一个仓库”的顺序写。你不需要先理解所有工具,先让仓库能被诊断、能创建包、能跑提交前校验。
|
|
4
4
|
|
|
@@ -116,7 +116,7 @@ pnpm exec repo upgrade --yes
|
|
|
116
116
|
|
|
117
117
|
## 常见下一步
|
|
118
118
|
|
|
119
|
-
- 已有仓库渐进接入:阅读 [接入已有仓库](
|
|
120
|
-
- 想固定默认模板:阅读 [配置文件](
|
|
121
|
-
- 想查看所有模板:阅读 [模板与创建](
|
|
122
|
-
- 想把诊断结果发给同事:阅读 [
|
|
119
|
+
- 已有仓库渐进接入:阅读 [接入已有仓库](/zh/tasks/adopt-existing)。
|
|
120
|
+
- 想固定默认模板:阅读 [配置文件](/zh/reference/config)。
|
|
121
|
+
- 想查看所有模板:阅读 [模板与创建](/zh/reference/templates)。
|
|
122
|
+
- 想把诊断结果发给同事:阅读 [排障](/zh/tasks/troubleshooting)。
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 接入已有 workspace
|
|
2
|
+
|
|
3
|
+
## 适用场景
|
|
4
|
+
|
|
5
|
+
当 workspace 已经有脚本、hooks 或配置,需要保留现有约定并逐步接入 repoctl 时,使用这个任务。
|
|
6
|
+
|
|
7
|
+
## 前置条件
|
|
8
|
+
|
|
9
|
+
- 在 workspace 根目录执行命令。
|
|
10
|
+
- 提交或暂存与本次接入无关的本地改动。
|
|
11
|
+
- 确认 Node.js 22.12 或更新版本以及 pnpm 可用。
|
|
12
|
+
|
|
13
|
+
## 最小命令
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
repo doctor --markdown --redact --out reports/baseline.md
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 预期输出
|
|
20
|
+
|
|
21
|
+
报告会记录包管理器、workspace 结构、任务运行器、工具文件和发布设置,并隐藏本地路径。
|
|
22
|
+
|
|
23
|
+
## 常见分支
|
|
24
|
+
|
|
25
|
+
- 现有约定健康:保留它们,只补齐缺少的受管资产。
|
|
26
|
+
- 文件已经由本地管理:使用 `repo upgrade --no-overwrite` 并检查差异。
|
|
27
|
+
- tooling 分散在多个 loader:先统一 loader,再重新运行诊断。
|
|
2
28
|
|
|
3
29
|
repoctl 不只适合新模板仓库。它也可以渐进接入已有 pnpm workspace,用诊断报告和非覆盖同步把风险降下来。
|
|
4
30
|
|
|
@@ -130,6 +156,6 @@ pnpm exec repo init --yes
|
|
|
130
156
|
|
|
131
157
|
## 下一步
|
|
132
158
|
|
|
133
|
-
- [
|
|
134
|
-
- [
|
|
135
|
-
- [配置文件](
|
|
159
|
+
- [把校验加入 CI](/zh/tasks/ci)
|
|
160
|
+
- [排障](/zh/tasks/troubleshooting)
|
|
161
|
+
- [配置文件](/zh/reference/config)
|
|
@@ -2,7 +2,33 @@
|
|
|
2
2
|
description: 说明 repoctl check 和 verify 的校验模式、pre-commit、staged typecheck、pre-push 与 commit-msg 链路。
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# 运行校验
|
|
6
|
+
|
|
7
|
+
## 适用场景
|
|
8
|
+
|
|
9
|
+
提交、创建 pull request 或需要在本地复现 CI 计划前,使用这个任务。
|
|
10
|
+
|
|
11
|
+
## 前置条件
|
|
12
|
+
|
|
13
|
+
- 在 workspace 根目录运行 `repo doctor`。
|
|
14
|
+
- 使用仓库锁定的 pnpm 版本安装依赖。
|
|
15
|
+
- 先决定需要快速校验还是完整交付门禁。
|
|
16
|
+
|
|
17
|
+
## 最小命令
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
repo check --dry-run
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 预期输出
|
|
24
|
+
|
|
25
|
+
repoctl 会列出选中的任务和将要执行的确切命令。确认计划符合仓库策略后,再移除 `--dry-run`。
|
|
26
|
+
|
|
27
|
+
## 常见分支
|
|
28
|
+
|
|
29
|
+
- 只检查暂存文件:使用 `repo check --staged`。
|
|
30
|
+
- CI 需要产物:加入 `--json --out reports/check-plan.json`。
|
|
31
|
+
- 准备发布:快速校验通过后,再执行 `repo check --full`。
|
|
6
32
|
|
|
7
33
|
`repo check` 是给人使用的统一入口,`repo verify` 是给 hook、CI 和脚本复用的底层入口。
|
|
8
34
|
|