@icebreakers/monorepo-templates 1.2.1 → 1.3.1
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/assets/.github/workflows/ci.yml +4 -4
- package/assets/.github/workflows/release.yml +8 -7
- package/assets/package.json +9 -8
- package/assets/renovate.json +0 -1
- package/assets/turbo.json +3 -0
- package/assets-data.mjs +0 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/{prepare--cxFop8c.mjs → prepare-D7eJqEqy.mjs} +1 -2
- package/package.json +5 -5
- package/templates/cli/package.json +1 -1
- package/templates/client/package.json +10 -10
- package/templates/client/worker-configuration.d.ts +463 -202
- package/templates/server/package.json +3 -3
- package/templates/server/worker-configuration.d.ts +463 -202
- package/templates/tsdown/package.json +1 -1
- package/templates/vitepress/.vitepress/config.ts +26 -126
- package/templates/vitepress/.vitepress/env.d.ts +1 -0
- package/templates/vitepress/.vitepress/home/content.ts +94 -0
- package/templates/vitepress/.vitepress/home/types.ts +49 -0
- package/templates/vitepress/.vitepress/navigation/routes.ts +146 -0
- package/templates/vitepress/.vitepress/seo.ts +54 -0
- package/templates/vitepress/.vitepress/theme/Layout.vue +27 -0
- package/templates/vitepress/.vitepress/theme/components/HomePage.vue +112 -0
- package/templates/vitepress/.vitepress/theme/home/foundation.css +237 -0
- package/templates/vitepress/.vitepress/theme/home/index.css +3 -0
- package/templates/vitepress/.vitepress/theme/home/responsive.css +142 -0
- package/templates/vitepress/.vitepress/theme/home/sections.css +232 -0
- package/templates/vitepress/.vitepress/theme/index.ts +11 -1
- package/templates/vitepress/ai/llms-txt.md +2 -2
- package/templates/vitepress/index.md +6 -60
- 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/learn/packages/examples/2.npm-basic-package/README.md +1 -0
- package/templates/vitepress/learn/packages/examples/3.npm-basic-package/README.md +1 -0
- package/templates/vitepress/learn/packages/index.md +36 -0
- package/templates/vitepress/learn/packages/modern/bundlers.md +40 -0
- package/templates/vitepress/learn/packages/modern/dts.md +48 -0
- package/templates/vitepress/learn/packages/modern/esm-vs-cjs.md +42 -0
- package/templates/vitepress/learn/packages/modern/index.md +38 -0
- package/templates/vitepress/learn/packages/modern/package-entry-points.md +46 -0
- package/templates/vitepress/learn/packages/modern/typescript.md +43 -0
- package/templates/vitepress/{why/index.md → learn/packages/modern-overview.md} +1 -1
- package/templates/vitepress/learn/packages/module-extensions.md +34 -0
- package/templates/vitepress/learn/packages/publish.md +43 -0
- package/templates/vitepress/learn/packages/reuse-javascript.md +39 -0
- package/templates/vitepress/learn/packages/runtime-globals.md +36 -0
- package/templates/vitepress/{repoctl/index.md → learn/repoctl-model.md} +8 -8
- package/templates/vitepress/learn/tools/changeset.md +30 -0
- package/templates/vitepress/learn/tools/husky.md +50 -0
- package/templates/vitepress/learn/tools/lint-staged.md +39 -0
- package/templates/vitepress/{tools → learn/tools}/llms-txt.md +1 -1
- package/templates/vitepress/learn/tools/pnpm.md +47 -0
- package/templates/vitepress/learn/tools/renovate.md +31 -0
- package/templates/vitepress/learn/tools/turborepo.md +40 -0
- package/templates/vitepress/package.json +14 -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/public/repoctl-doctor.png +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 +196 -0
- 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} +65 -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/tsconfig.json +7 -0
- package/templates/vitepress/wrangler.jsonc +20 -3
- package/templates/vitepress/zh/ai/index.md +1 -1
- package/templates/vitepress/zh/ai/llms-txt.md +7 -7
- package/templates/vitepress/zh/index.md +6 -63
- 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/learn/packages/examples/2.npm-basic-package/README.md +1 -0
- package/templates/vitepress/zh/learn/packages/examples/3.npm-basic-package/README.md +1 -0
- package/templates/vitepress/zh/{why → learn/packages}/modern/index.md +1 -1
- package/templates/vitepress/zh/learn/packages/modern-overview.md +38 -0
- 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 +1 -1
- 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} +73 -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 +3 -3
- package/assets/netlify.toml +0 -14
- package/templates/vitepress/getting-started.md +0 -11
- package/templates/vitepress/knowledge/index.md +0 -26
- package/templates/vitepress/thinking.md +0 -7
- package/templates/vitepress/tools/changeset.md +0 -25
- package/templates/vitepress/tools/husky.md +0 -12
- package/templates/vitepress/tools/lint-staged.md +0 -12
- package/templates/vitepress/tools/pnpm.md +0 -15
- package/templates/vitepress/tools/renovate.md +0 -7
- package/templates/vitepress/tools/turborepo.md +0 -14
- package/templates/vitepress/why/examples/2.npm-basic-package/README.md +0 -1
- package/templates/vitepress/why/examples/3.npm-basic-package/README.md +0 -1
- package/templates/vitepress/why/how-to-reuse-js-code.md +0 -9
- package/templates/vitepress/why/js-cjs-mjs.md +0 -12
- package/templates/vitepress/why/js-keywords.md +0 -7
- package/templates/vitepress/why/modern/bundlers.md +0 -5
- package/templates/vitepress/why/modern/dts.md +0 -7
- package/templates/vitepress/why/modern/esm-vs-cjs.md +0 -7
- package/templates/vitepress/why/modern/index.md +0 -14
- package/templates/vitepress/why/modern/package-entry-points.md +0 -17
- package/templates/vitepress/why/modern/typescript.md +0 -7
- package/templates/vitepress/why/publish-basic-npm-package.md +0 -19
- package/templates/vitepress/why/what-is-npm-package.md +0 -7
- 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 -88
- package/templates/vitepress/zh/why/examples/2.npm-basic-package/README.md +0 -1
- package/templates/vitepress/zh/why/examples/3.npm-basic-package/README.md +0 -1
- package/templates/vitepress/zh/why/index.md +0 -1
- /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/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/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/{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/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/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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
https://repoctl.icebreaker.top/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
https://repoctl.icebreaker.top/
|
|
@@ -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
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 包的演进
|
|
2
|
+
|
|
3
|
+
一个可发布的 npm 包不只是源代码目录。消费者依赖它的运行时格式、类型声明、入口点、发布文件和兼容性承诺。这里按这些公开边界整理现代包的基础知识。
|
|
4
|
+
|
|
5
|
+
## 先从消费者开始
|
|
6
|
+
|
|
7
|
+
在选择打包器或模块格式前,先回答:
|
|
8
|
+
|
|
9
|
+
- 消费者使用 ESM、CommonJS,还是两者都需要?
|
|
10
|
+
- 包发布运行时代码、类型、CLI、配置预设还是资源?
|
|
11
|
+
- 需要支持哪些 Node 版本?
|
|
12
|
+
- 对外只暴露一个入口,还是需要明确的子路径?
|
|
13
|
+
|
|
14
|
+
这些答案定义了包的边界。工具链应该实现边界,而不是替代边界决策。
|
|
15
|
+
|
|
16
|
+
## 推荐目录
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
src/ 源代码
|
|
20
|
+
dist/ 生成的 ESM、CommonJS 与声明文件
|
|
21
|
+
package.json 公开 metadata 与 exports 映射
|
|
22
|
+
README.md 安装和使用契约
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
使用 `files` 控制发布内容,并在发布前执行 `npm pack --dry-run` 检查实际 tarball。
|
|
26
|
+
|
|
27
|
+
## 专题
|
|
28
|
+
|
|
29
|
+
- [ESM 与 CommonJS](./modern/esm-vs-cjs.md)
|
|
30
|
+
- [类型声明](./modern/dts.md)
|
|
31
|
+
- [包入口](./modern/package-entry-points.md)
|
|
32
|
+
- [构建工具](./modern/bundlers.md)
|
|
33
|
+
- [TypeScript](./modern/typescript.md)
|
|
34
|
+
|
|
35
|
+
## 继续阅读
|
|
36
|
+
|
|
37
|
+
- [什么是 npm 包](/zh/learn/packages/)
|
|
38
|
+
- [发布 npm 包](/zh/learn/packages/publish)
|
|
@@ -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
|
|
|
@@ -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
|
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 把校验加入 CI
|
|
2
|
+
|
|
3
|
+
## 适用场景
|
|
4
|
+
|
|
5
|
+
当本地命令已经稳定,需要在每个 pull request 或分支上执行同一套仓库策略时,使用这个任务。
|
|
6
|
+
|
|
7
|
+
## 前置条件
|
|
8
|
+
|
|
9
|
+
- 已经生成通过检查的 `repo check --dry-run` 计划。
|
|
10
|
+
- CI runner 具备 Node.js、pnpm 和仓库锁文件。
|
|
11
|
+
- 发布或发版 job 使用非交互凭据。
|
|
12
|
+
|
|
13
|
+
## 最小命令
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
repo check --full --json --out reports/check-plan.json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 预期输出
|
|
20
|
+
|
|
21
|
+
CI 会得到稳定的计划,并可以把 JSON 或 Markdown 报告作为 artifact 上传。同一条命令也可以在本地执行。
|
|
22
|
+
|
|
23
|
+
## 常见分支
|
|
24
|
+
|
|
25
|
+
- pull request 需要快速门禁:使用 `repo check --staged` 或仓库的 pre-commit 模式。
|
|
26
|
+
- main 分支需要完整门禁:使用 `repo check --full`。
|
|
27
|
+
- 发布 job 需要版本计划:发布前执行 `repo release --dry-run`。
|
|
2
28
|
|
|
3
29
|
repoctl 的命令可以分成两类:给人用的日常入口,以及给 CI、脚本、编辑器用的可保存输出。
|
|
4
30
|
|
|
@@ -89,13 +115,13 @@ repo ws ls --json --out reports/workspaces.json
|
|
|
89
115
|
|
|
90
116
|
## 推荐流水线拆分
|
|
91
117
|
|
|
92
|
-
| 阶段 | 命令 | 失败后先看
|
|
93
|
-
| ---- | --------------------------------------------------------------- |
|
|
94
|
-
| 安装 | `pnpm install --frozen-lockfile` | lockfile、Node、pnpm 版本
|
|
95
|
-
| 诊断 | `repo doctor --strict` | [doctor 诊断](
|
|
96
|
-
| 计划 | `repo check --full --json --out reports/check-plan.json` | [报告与自动化输出](
|
|
97
|
-
| 执行 | `repo check --full` | 失败的 root script 或 workspace 任务
|
|
98
|
-
| 留证 | `repo env support --markdown --redact --out reports/support.md` | CI artifact
|
|
118
|
+
| 阶段 | 命令 | 失败后先看 |
|
|
119
|
+
| ---- | --------------------------------------------------------------- | ------------------------------------- |
|
|
120
|
+
| 安装 | `pnpm install --frozen-lockfile` | lockfile、Node、pnpm 版本 |
|
|
121
|
+
| 诊断 | `repo doctor --strict` | [doctor 诊断](/zh/start/diagnose) |
|
|
122
|
+
| 计划 | `repo check --full --json --out reports/check-plan.json` | [报告与自动化输出](/zh/tasks/reports) |
|
|
123
|
+
| 执行 | `repo check --full` | 失败的 root script 或 workspace 任务 |
|
|
124
|
+
| 留证 | `repo env support --markdown --redact --out reports/support.md` | CI artifact |
|
|
99
125
|
|
|
100
126
|
早期项目可以把计划和执行合并。成熟项目建议保留 `reports/`,方便失败时复盘实际执行路径。
|
|
101
127
|
|
|
@@ -110,9 +136,44 @@ repo ws ls --json --out reports/workspaces.json
|
|
|
110
136
|
| 输出给脚本 | `--json --out <file>` |
|
|
111
137
|
| 输出给人看并脱敏 | `--markdown --redact --out <file>` |
|
|
112
138
|
|
|
139
|
+
## 文档 Worker
|
|
140
|
+
|
|
141
|
+
repoctl 文档通过名为 `repoctl-docs` 的 Cloudflare Worker 部署。VitePress 只生成静态资产,Workers Static Assets 直接提供这些文件,因此不需要应用 handler,也不声明 `ASSETS` binding。
|
|
142
|
+
|
|
143
|
+
### Workers Builds 配置
|
|
144
|
+
|
|
145
|
+
| 配置项 | 值 |
|
|
146
|
+
| ---------- | ------------------------------------------------------- |
|
|
147
|
+
| 仓库根目录 | 仓库根目录 |
|
|
148
|
+
| 生产分支 | `main` |
|
|
149
|
+
| 构建命令 | `pnpm --filter @icebreakers/website build` |
|
|
150
|
+
| 生产部署 | `pnpm --filter @icebreakers/website run deploy` |
|
|
151
|
+
| 非生产部署 | `pnpm --filter @icebreakers/website run deploy:preview` |
|
|
152
|
+
|
|
153
|
+
构建命令会先校验双语页面,再由 VitePress 生成 `.vitepress/dist`。Worker 配置会为不存在的路由返回生成后的 `404.html`,并继续读取 `public/_redirects`,兼容旧的 `/en/*` 链接。
|
|
154
|
+
|
|
155
|
+
### 预览、发布与回滚
|
|
156
|
+
|
|
157
|
+
修改生产部署前,先完成本地验证:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
pnpm --filter @icebreakers/website build
|
|
161
|
+
pnpm --filter @icebreakers/website run deploy:dry-run
|
|
162
|
+
pnpm --filter @icebreakers/website exec wrangler dev
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
非生产 Workers Builds 上传预览版本。验证通过后再执行生产部署。需要回滚时,先查看版本历史,再选择最近的稳定版本:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
pnpm --filter @icebreakers/website exec wrangler versions list
|
|
169
|
+
pnpm --filter @icebreakers/website exec wrangler rollback <VERSION_ID>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
`repoctl.icebreaker.top` 是唯一 canonical custom domain。Cloudflare Redirect Rules 把 `repo.icebreaker.top/*` 和 `monorepo.icebreaker.top/*` 永久跳转到主域名,同时保留路径和查询参数。
|
|
173
|
+
|
|
113
174
|
## 下一步
|
|
114
175
|
|
|
115
|
-
- 查所有参数:[命令速查](
|
|
116
|
-
-
|
|
117
|
-
- 生成排障包:[报告与自动化输出](
|
|
118
|
-
- 看短命令:[命令别名](
|
|
176
|
+
- 查所有参数:[命令速查](/zh/reference/commands)
|
|
177
|
+
- 理解本地校验:[运行校验](/zh/tasks/checks)
|
|
178
|
+
- 生成排障包:[报告与自动化输出](/zh/tasks/reports)
|
|
179
|
+
- 看短命令:[命令别名](/zh/reference/aliases)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# 创建包或应用
|
|
2
|
+
|
|
3
|
+
当 workspace 已经准备好,需要创建新的包、应用、服务、CLI 或文档站时,使用这个任务页。
|
|
4
|
+
|
|
5
|
+
## 前置条件
|
|
6
|
+
|
|
7
|
+
- 在 workspace 根目录运行过 `repo doctor`。
|
|
8
|
+
- 确认包名和目标目录。
|
|
9
|
+
- 使用 `repo templates` 查看可用模板键。
|
|
10
|
+
|
|
11
|
+
## 最小命令
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
repo new <name> --template <template>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
例如:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
repo new shared-config --template package
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
只想查看文件计划时,加入 `--dry-run`,不会写入文件。
|
|
24
|
+
|
|
25
|
+
## 预期结果
|
|
26
|
+
|
|
27
|
+
repoctl 会输出选中的模板、目标目录和将要创建的文件。确认后,新项目加入 workspace,包元数据可以直接进入仓库校验。
|
|
28
|
+
|
|
29
|
+
## 常见分支
|
|
30
|
+
|
|
31
|
+
- 模板键不存在:先运行 `repo templates`,选择已安装的键。
|
|
32
|
+
- 目标目录已存在:换一个名称,或检查现有项目后再决定是否覆盖。
|
|
33
|
+
- 需要自定义共享文件:先创建项目,再通过[受管模板资产](/zh/reference/template-assets)同步公共文件。
|
|
34
|
+
|
|
35
|
+
## 下一步
|
|
36
|
+
|
|
37
|
+
运行[校验](/zh/tasks/checks),再把新项目加入 [CI 工作流](/zh/tasks/ci)。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 任务索引
|
|
2
2
|
|
|
3
3
|
如果你不确定该用哪个 repoctl 命令,先从这一页开始。
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ pnpm exec repo init --yes
|
|
|
17
17
|
pnpm exec repo doctor
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
继续看:[
|
|
20
|
+
继续看:[安装并初始化](/zh/start/install)。
|
|
21
21
|
|
|
22
22
|
## 我要把 repoctl 接入旧仓库
|
|
23
23
|
|
|
@@ -29,7 +29,7 @@ pnpm exec repo upgrade --no-overwrite
|
|
|
29
29
|
pnpm exec repo doctor --markdown --redact --out reports/doctor-after.md
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
继续看:[
|
|
32
|
+
继续看:[接入已有 workspace](/zh/tasks/adopt-existing)。
|
|
33
33
|
|
|
34
34
|
## 我要创建新包或应用
|
|
35
35
|
|
|
@@ -45,7 +45,7 @@ pnpm exec repo new docs --template vitepress --dry-run
|
|
|
45
45
|
pnpm run repo:new -- sdk --template tsdown
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
继续看:[模板与创建](
|
|
48
|
+
继续看:[模板与创建](/zh/reference/templates)。
|
|
49
49
|
|
|
50
50
|
## 我要提交前自查
|
|
51
51
|
|
|
@@ -62,7 +62,7 @@ pnpm exec repo check --json --out reports/check-plan.json
|
|
|
62
62
|
pnpm exec repo check --markdown --redact --out reports/check-plan.md
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
继续看:[
|
|
65
|
+
继续看:[把校验加入 CI](/zh/tasks/ci)。
|
|
66
66
|
|
|
67
67
|
## 我要调试 CI 或同事机器问题
|
|
68
68
|
|
|
@@ -72,7 +72,7 @@ pnpm exec repo env support --markdown --redact --out reports/support.md
|
|
|
72
72
|
pnpm exec repo env snapshot --json --out reports/snapshot.json
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
继续看:[
|
|
75
|
+
继续看:[排障](/zh/tasks/troubleshooting)。
|
|
76
76
|
|
|
77
77
|
## 我要同步模板标准资产
|
|
78
78
|
|
|
@@ -105,7 +105,7 @@ pnpm exec repo config inspect
|
|
|
105
105
|
pnpm exec repo cfg i --json --out reports/config.json
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
继续看:[配置文件](
|
|
108
|
+
继续看:[配置文件](/zh/reference/config)。
|
|
109
109
|
|
|
110
110
|
## 我要写更短的命令
|
|
111
111
|
|
|
@@ -116,4 +116,4 @@ repo e support --markdown --redact
|
|
|
116
116
|
repo cfg i
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
继续看:[命令别名](
|
|
119
|
+
继续看:[命令别名](/zh/reference/aliases)。
|