@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
|
@@ -43,5 +43,5 @@ The `workspace:` protocol prevents accidentally resolving a local package from t
|
|
|
43
43
|
## Keep Reading
|
|
44
44
|
|
|
45
45
|
- [Turborepo](./turborepo.md)
|
|
46
|
-
- [Managing A Monorepo](
|
|
47
|
-
- [repoctl Commands](
|
|
46
|
+
- [Managing A Monorepo](/learn/monorepo/manage.md)
|
|
47
|
+
- [repoctl Commands](/reference/commands)
|
|
@@ -27,5 +27,5 @@ Do not rely on commit-message directives for a retired deployment provider. Depl
|
|
|
27
27
|
## Keep Reading
|
|
28
28
|
|
|
29
29
|
- [pnpm](./pnpm.md)
|
|
30
|
-
- [
|
|
31
|
-
- [
|
|
30
|
+
- [Add checks to CI](/tasks/ci)
|
|
31
|
+
- [Troubleshoot](/tasks/troubleshooting)
|
|
@@ -36,5 +36,5 @@ Use root scripts for the common entrypoints. The root script is the stable comma
|
|
|
36
36
|
## Keep Reading
|
|
37
37
|
|
|
38
38
|
- [pnpm](./pnpm.md)
|
|
39
|
-
- [Verification](
|
|
40
|
-
- [Managing A Monorepo](
|
|
39
|
+
- [Verification](/tasks/checks)
|
|
40
|
+
- [Managing A Monorepo](/learn/monorepo/manage.md)
|
|
@@ -33,22 +33,22 @@
|
|
|
33
33
|
"typecheck": "vue-tsc -p tsconfig.json --noEmit"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"vue": "^3.5.
|
|
36
|
+
"vue": "^3.5.42"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@braintree/sanitize-url": "^7.1.2",
|
|
40
40
|
"@tailwindcss/vite": "^4.3.3",
|
|
41
|
-
"cytoscape": "^3.34.
|
|
41
|
+
"cytoscape": "^3.34.2",
|
|
42
42
|
"cytoscape-cose-bilkent": "^4.1.0",
|
|
43
|
-
"dayjs": "^1.11.
|
|
43
|
+
"dayjs": "^1.11.23",
|
|
44
44
|
"debug": "^4.4.3",
|
|
45
|
-
"mermaid": "^11.
|
|
45
|
+
"mermaid": "^11.17.2",
|
|
46
46
|
"tailwindcss": "^4.3.3",
|
|
47
|
-
"tsx": "^4.23.
|
|
47
|
+
"tsx": "^4.23.13",
|
|
48
48
|
"vitepress": "^1.6.4",
|
|
49
49
|
"vitepress-plugin-llms": "^1.13.5",
|
|
50
50
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
51
|
-
"vue-tsc": "^3.3.
|
|
52
|
-
"wrangler": "^4.
|
|
51
|
+
"vue-tsc": "^3.3.11",
|
|
52
|
+
"wrangler": "^4.128.0"
|
|
53
53
|
}
|
|
54
54
|
}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="64" viewBox="0 0 300 64" fill="none">
|
|
2
|
+
<g stroke="#F4F6FA" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M14 14C22 14 24 24 32 32"/><path d="M14 32H32"/><path d="M14 50C22 50 24 40 32 32"/></g>
|
|
3
|
+
<g fill="#6F94FF"><circle cx="10" cy="14" r="4"/><circle cx="10" cy="32" r="4"/><circle cx="10" cy="50" r="4"/></g>
|
|
4
|
+
<path d="M38 22L48 32L38 42" stroke="#6F94FF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
<g stroke="#F4F6FA" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><path d="M82 46V26M82 31C87 26 94 25 99 29"/><path d="M109 36H126C126 29 123 26 118 26C112 26 109 30 109 36C109 43 113 46 120 46H127"/><path d="M139 50V26M139 31C143 27 148 26 152 26C158 26 161 30 161 36C161 43 157 46 151 46C146 46 142 44 139 41"/><path d="M184 26C177 26 173 30 173 36C173 43 177 46 184 46C191 46 195 43 195 36C195 30 191 26 184 26Z"/><path d="M222 29C219 27 216 26 213 26C206 26 202 30 202 36C202 43 206 46 213 46C217 46 220 45 223 42"/><path d="M238 18V41C238 45 241 46 245 46H250M231 26H250"/><path d="M266 24V42C266 45 268 46 272 46H278"/></g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="64" viewBox="0 0 300 64" fill="none">
|
|
2
|
+
<g stroke="#20252D" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M14 14C22 14 24 24 32 32"/>
|
|
4
|
+
<path d="M14 32H32"/>
|
|
5
|
+
<path d="M14 50C22 50 24 40 32 32"/>
|
|
6
|
+
</g>
|
|
7
|
+
<g fill="#2457D6">
|
|
8
|
+
<circle cx="10" cy="14" r="4"/><circle cx="10" cy="32" r="4"/><circle cx="10" cy="50" r="4"/>
|
|
9
|
+
</g>
|
|
10
|
+
<path d="M38 22L48 32L38 42" stroke="#2457D6" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
11
|
+
<g stroke="#20252D" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
|
|
12
|
+
<path d="M82 46V26M82 31C87 26 94 25 99 29"/>
|
|
13
|
+
<path d="M109 36H126C126 29 123 26 118 26C112 26 109 30 109 36C109 43 113 46 120 46H127"/>
|
|
14
|
+
<path d="M139 50V26M139 31C143 27 148 26 152 26C158 26 161 30 161 36C161 43 157 46 151 46C146 46 142 44 139 41"/>
|
|
15
|
+
<path d="M184 26C177 26 173 30 173 36C173 43 177 46 184 46C191 46 195 43 195 36C195 30 191 26 184 26Z"/>
|
|
16
|
+
<path d="M222 29C219 27 216 26 213 26C206 26 202 30 202 36C202 43 206 46 213 46C217 46 220 45 223 42"/>
|
|
17
|
+
<path d="M238 18V41C238 45 241 46 245 46H250M231 26H250"/>
|
|
18
|
+
<path d="M266 24V42C266 45 268 46 272 46H278"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" fill="none">
|
|
2
|
+
<g stroke="#F4F6FA" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M14 14C22 14 24 24 32 32"/>
|
|
4
|
+
<path d="M14 32H32"/>
|
|
5
|
+
<path d="M14 50C22 50 24 40 32 32"/>
|
|
6
|
+
</g>
|
|
7
|
+
<g fill="#6F94FF">
|
|
8
|
+
<circle cx="10" cy="14" r="4"/>
|
|
9
|
+
<circle cx="10" cy="32" r="4"/>
|
|
10
|
+
<circle cx="10" cy="50" r="4"/>
|
|
11
|
+
</g>
|
|
12
|
+
<path d="M38 22L48 32L38 42" stroke="#6F94FF" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" fill="none">
|
|
2
|
+
<g stroke="#20252D" stroke-width="4" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M14 14C22 14 24 24 32 32"/>
|
|
4
|
+
<path d="M14 32H32"/>
|
|
5
|
+
<path d="M14 50C22 50 24 40 32 32"/>
|
|
6
|
+
</g>
|
|
7
|
+
<g fill="#2457D6">
|
|
8
|
+
<circle cx="10" cy="14" r="4"/>
|
|
9
|
+
<circle cx="10" cy="32" r="4"/>
|
|
10
|
+
<circle cx="10" cy="50" r="4"/>
|
|
11
|
+
</g>
|
|
12
|
+
<path d="M38 22L48 32L38 42" stroke="#2457D6" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
13
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -115,6 +115,6 @@ repo skills sync --codex
|
|
|
115
115
|
|
|
116
116
|
## Keep Reading
|
|
117
117
|
|
|
118
|
-
- [
|
|
119
|
-
- [
|
|
118
|
+
- [Add checks to CI](/tasks/ci)
|
|
119
|
+
- [Troubleshoot](/tasks/troubleshooting)
|
|
120
120
|
- [Command Aliases](./aliases.md)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Reference
|
|
2
|
+
|
|
3
|
+
Use the reference when you already know the task and need exact command names, flags, configuration keys, or output rules.
|
|
4
|
+
|
|
5
|
+
## Command surface
|
|
6
|
+
|
|
7
|
+
- [Command reference](./commands.md)
|
|
8
|
+
- [Configuration](./config.md)
|
|
9
|
+
- [Execution model](./execution-model.md)
|
|
10
|
+
- [Output formats](./output.md)
|
|
11
|
+
- [Command aliases](./aliases.md)
|
|
12
|
+
- [Templates](./templates.md)
|
|
13
|
+
- [Managed template assets](./template-assets.md)
|
|
14
|
+
|
|
15
|
+
The start and task sections intentionally hide advanced grouped commands until they are useful. This section documents the full surface without changing any CLI names.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Output formats
|
|
2
|
+
|
|
3
|
+
repoctl can print to the terminal or write stable artifacts for automation. Pick the format at the command boundary so the same task can serve a person and CI.
|
|
4
|
+
|
|
5
|
+
## Terminal
|
|
6
|
+
|
|
7
|
+
The default output is concise and human-readable. It shows the plan, the commands selected, and the final status.
|
|
8
|
+
|
|
9
|
+
## JSON
|
|
10
|
+
|
|
11
|
+
Use JSON when another tool needs structured fields:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
repo check --full --dry-run --json --out reports/check-plan.json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Keep the file as a CI artifact when a later job needs to inspect the plan.
|
|
18
|
+
|
|
19
|
+
## Markdown
|
|
20
|
+
|
|
21
|
+
Use Markdown for code review and support requests:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
repo env support --markdown --redact --out reports/support.md
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The `--redact` flag removes local paths and sensitive values before sharing the report.
|
|
28
|
+
|
|
29
|
+
## Common branches
|
|
30
|
+
|
|
31
|
+
- Need to compare two runs: write both to separate files and compare the JSON.
|
|
32
|
+
- Need a safe support bundle: use `repo env support --redact`.
|
|
33
|
+
- Need a command plan only: combine `--dry-run` with the desired output format.
|
|
34
|
+
|
|
35
|
+
## Next
|
|
36
|
+
|
|
37
|
+
See [reports and output tasks](/tasks/reports) for a complete support workflow.
|
|
@@ -123,6 +123,6 @@ The check validates duplicate sources and targets, existing source directories,
|
|
|
123
123
|
|
|
124
124
|
## Keep Reading
|
|
125
125
|
|
|
126
|
-
- [Adopt
|
|
127
|
-
- [
|
|
126
|
+
- [Adopt an existing workspace](/tasks/adopt-existing)
|
|
127
|
+
- [Add checks to CI](/tasks/ci)
|
|
128
128
|
- [Configuration](./config.md)
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { DocsLocale } from '../.vitepress/navigation/routes'
|
|
1
2
|
import { readdir, readFile, stat } from 'node:fs/promises'
|
|
2
3
|
import path from 'node:path'
|
|
3
4
|
import process from 'node:process'
|
|
4
5
|
import { homeContent } from '../.vitepress/home/content'
|
|
6
|
+
import { routePath, routeSections } from '../.vitepress/navigation/routes'
|
|
5
7
|
|
|
6
8
|
const root = process.cwd()
|
|
7
9
|
const ignoredDirectories = new Set(['.vitepress', 'node_modules'])
|
|
@@ -83,7 +85,7 @@ async function existsAtLocale(sourceFile: string, href: string) {
|
|
|
83
85
|
function validateDocument(relativePath: string, markdown: string) {
|
|
84
86
|
const errors: string[] = []
|
|
85
87
|
const isHome = relativePath === 'index.md' || relativePath === 'zh/index.md'
|
|
86
|
-
const isExampleReadme = /(?:^|\/)
|
|
88
|
+
const isExampleReadme = /(?:^|\/)learn\/packages\/examples\/.*\/README\.md$/.test(relativePath)
|
|
87
89
|
if (isHome || isExampleReadme) {
|
|
88
90
|
return errors
|
|
89
91
|
}
|
|
@@ -115,6 +117,35 @@ const englishPaths = new Set(englishFiles.map(relativePath))
|
|
|
115
117
|
const chinesePaths = new Set(chineseFiles.map(file => relativePath(file).replace(/^zh\//, '')))
|
|
116
118
|
const errors: string[] = []
|
|
117
119
|
|
|
120
|
+
function routeToRelativeFile(route: string) {
|
|
121
|
+
const clean = route.replace(/^\//, '')
|
|
122
|
+
return clean.endsWith('/') ? `${clean}index.md` : `${clean}.md`
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
for (const locale of ['en', 'zh'] as const satisfies readonly DocsLocale[]) {
|
|
126
|
+
const prefix = locale === 'zh' ? '/zh' : ''
|
|
127
|
+
for (const section of routeSections) {
|
|
128
|
+
for (const item of section.items) {
|
|
129
|
+
const route = routePath(section.id, item.slug, locale)
|
|
130
|
+
const relative = routeToRelativeFile(route)
|
|
131
|
+
try {
|
|
132
|
+
if (!(await stat(path.join(root, relative))).isFile()) {
|
|
133
|
+
errors.push(`${locale}: route ${route} is not backed by a Markdown file`)
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
errors.push(`${locale}: route ${route} is not backed by a Markdown file`)
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (prefix) {
|
|
142
|
+
const englishRouteCount = routeSections.reduce((count, section) => count + section.items.length, 0)
|
|
143
|
+
if (englishRouteCount === 0) {
|
|
144
|
+
errors.push('route manifest is empty')
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
118
149
|
for (const relativePath of englishPaths) {
|
|
119
150
|
if (!chinesePaths.has(relativePath)) {
|
|
120
151
|
errors.push(`missing Chinese counterpart: zh/${relativePath}`)
|
|
@@ -132,6 +163,9 @@ for (const file of files) {
|
|
|
132
163
|
errors.push(...validateDocument(relative, markdown))
|
|
133
164
|
const links = localLinks(markdown)
|
|
134
165
|
for (const href of links) {
|
|
166
|
+
if (/^(?:\/|\.\.\/)(?:repoctl|knowledge|monorepo|why|tools)(?:\/|$)/.test(href)) {
|
|
167
|
+
errors.push(`${relativePath}: link uses a retired route ${href}`)
|
|
168
|
+
}
|
|
135
169
|
if (!await existsAtLocale(file, href)) {
|
|
136
170
|
errors.push(`${relative}: unresolved internal link ${href}`)
|
|
137
171
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Choose the next task
|
|
2
|
+
|
|
3
|
+
Start with the outcome you need. Each task page includes prerequisites, the smallest command, expected output, common branches, and a next step.
|
|
4
|
+
|
|
5
|
+
| Outcome | Go to |
|
|
6
|
+
| -------------------------------------------- | ---------------------------------------------------- |
|
|
7
|
+
| Add repoctl to an existing workspace | [Adopt an existing workspace](/tasks/adopt-existing) |
|
|
8
|
+
| Create a package, app, service, or docs site | [Create a package or app](/tasks/create-project) |
|
|
9
|
+
| Run local verification before a commit | [Run checks](/tasks/checks) |
|
|
10
|
+
| Save output for a review or support request | [Reports and output](/tasks/reports) |
|
|
11
|
+
| Add the same workflow to CI | [Add checks to CI](/tasks/ci) |
|
|
12
|
+
| Prepare a package release | [Release packages](/tasks/release) |
|
|
13
|
+
|
|
14
|
+
For command flags and grouped commands, use the [command reference](/reference/commands). For the reasoning behind the workflow, read [how repoctl executes](/reference/execution-model).
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Your first run
|
|
2
|
+
|
|
3
|
+
This is the smallest complete repoctl workflow. It makes one change, records evidence, and leaves you with a clear next action.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add -D repoctl
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Initialize
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm exec repo init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Review the planned files before accepting writes. If the repository already has local conventions, use the adoption guide before allowing replacements.
|
|
18
|
+
|
|
19
|
+
## Diagnose
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm exec repo doctor
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The report checks the repository root, package manager, workspace layout, task runner, hooks, and release metadata. Fix the first reported blocker, then run the command again.
|
|
26
|
+
|
|
27
|
+
## Plan checks
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
pnpm exec repo check --dry-run
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
This prints the commands that would run for lint, types, builds, tests, and package checks. Execute the plan only after it matches the checks your repository expects.
|
|
34
|
+
|
|
35
|
+
## Next
|
|
36
|
+
|
|
37
|
+
- New repository: [Create a package or app](/tasks/create-project).
|
|
38
|
+
- Existing repository: [Adopt an existing workspace](/tasks/adopt-existing).
|
|
39
|
+
- CI setup: [Add checks to CI](/tasks/ci).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Start here
|
|
2
|
+
|
|
3
|
+
Use this section when repoctl is new to you. The shortest useful path is to install the CLI, run `repo init`, then run `repo doctor`.
|
|
4
|
+
|
|
5
|
+
## Pick your first move
|
|
6
|
+
|
|
7
|
+
- [Install and initialize](./install.md) if this is your first repoctl command.
|
|
8
|
+
- [Run the first diagnosis](./diagnose.md) if repoctl is already installed.
|
|
9
|
+
- [Choose the next task](./choose-next.md) after you have a diagnosis.
|
|
10
|
+
|
|
11
|
+
## What repoctl does
|
|
12
|
+
|
|
13
|
+
repoctl keeps common monorepo work in a small, predictable command set:
|
|
14
|
+
|
|
15
|
+
| Need | Command |
|
|
16
|
+
| ------------------------------- | ---------------------- |
|
|
17
|
+
| Add repository conventions | `repo init` |
|
|
18
|
+
| Inspect repository health | `repo doctor` |
|
|
19
|
+
| Create a package or app | `repo new` |
|
|
20
|
+
| Plan checks before running them | `repo check --dry-run` |
|
|
21
|
+
|
|
22
|
+
The CLI works with pnpm workspaces and understands Turborepo task graphs. It does not replace either tool.
|
|
23
|
+
|
|
24
|
+
## Before you continue
|
|
25
|
+
|
|
26
|
+
You need Node.js 22.12 or newer and pnpm available on your path. Run commands from the repository root so repoctl can read the workspace configuration.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Install and initialize
|
|
2
2
|
|
|
3
3
|
This guide follows the order you would use when adding repoctl to a workspace.
|
|
4
4
|
|
|
@@ -110,7 +110,7 @@ pnpm exec repo upgrade --yes
|
|
|
110
110
|
|
|
111
111
|
## Next Steps
|
|
112
112
|
|
|
113
|
-
- Adopt an existing repository: [Adopt
|
|
114
|
-
- Set team defaults: [Configuration](
|
|
115
|
-
- Inspect template keys: [Templates](
|
|
116
|
-
- Share diagnostic output: [
|
|
113
|
+
- Adopt an existing repository: [Adopt an existing workspace](/tasks/adopt-existing).
|
|
114
|
+
- Set team defaults: [Configuration](/reference/config).
|
|
115
|
+
- Inspect template keys: [Templates](/reference/templates).
|
|
116
|
+
- Share diagnostic output: [Troubleshoot](/tasks/troubleshooting).
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
# Adopt
|
|
1
|
+
# Adopt an existing workspace
|
|
2
|
+
|
|
3
|
+
## When To Use
|
|
4
|
+
|
|
5
|
+
Use this task when a workspace already has scripts, hooks, or configuration that you need to keep while introducing repoctl.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- Run commands from the workspace root.
|
|
10
|
+
- Commit or stash unrelated local changes.
|
|
11
|
+
- Confirm that Node.js 22.12 or newer and pnpm are available.
|
|
12
|
+
|
|
13
|
+
## Smallest Command
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
repo doctor --markdown --redact --out reports/baseline.md
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Expected Output
|
|
20
|
+
|
|
21
|
+
The report records the detected package manager, workspace layout, task runner, tooling files, and release setup without exposing local paths.
|
|
22
|
+
|
|
23
|
+
## Common Branches
|
|
24
|
+
|
|
25
|
+
- Existing conventions are healthy: keep them and add only the missing managed assets.
|
|
26
|
+
- A file is already managed locally: use `repo upgrade --no-overwrite` and review the diff.
|
|
27
|
+
- Tooling is split across loaders: resolve the loader first, then rerun the diagnosis.
|
|
2
28
|
|
|
3
29
|
repoctl is not only for newly generated repositories. It can be adopted gradually in existing pnpm workspaces by using diagnostics and conservative asset syncs.
|
|
4
30
|
|
|
@@ -128,6 +154,6 @@ or manually extend `pnpm-workspace.yaml`.
|
|
|
128
154
|
|
|
129
155
|
## Keep Reading
|
|
130
156
|
|
|
131
|
-
- [
|
|
132
|
-
- [
|
|
133
|
-
- [Configuration](
|
|
157
|
+
- [Add checks to CI](/tasks/ci)
|
|
158
|
+
- [Troubleshoot](/tasks/troubleshooting)
|
|
159
|
+
- [Configuration](/reference/config)
|
|
@@ -2,7 +2,33 @@
|
|
|
2
2
|
outline: deep
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# Run checks
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
Use this task before a commit, before a pull request, or when you need to reproduce the repository's CI plan locally.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Run `repo doctor` from the workspace root.
|
|
14
|
+
- Install dependencies with the repository's pinned pnpm version.
|
|
15
|
+
- Decide whether you need a fast check or the full delivery gate.
|
|
16
|
+
|
|
17
|
+
## Smallest Command
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
repo check --dry-run
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Expected Output
|
|
24
|
+
|
|
25
|
+
repoctl prints the selected tasks and the exact commands that would run. Remove `--dry-run` only after the plan matches the repository policy.
|
|
26
|
+
|
|
27
|
+
## Common Branches
|
|
28
|
+
|
|
29
|
+
- A staged file needs a focused check: use `repo check --staged`.
|
|
30
|
+
- CI requires an artifact: add `--json --out reports/check-plan.json`.
|
|
31
|
+
- You are preparing a release: use `repo check --full` after the fast check passes.
|
|
6
32
|
|
|
7
33
|
`repo check` provides stable, task-oriented entrypoints for local and CI verification. It preserves the underlying workspace scripts and reports which commands will run before execution.
|
|
8
34
|
|
|
@@ -1,4 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Add checks to CI
|
|
2
|
+
|
|
3
|
+
## When To Use
|
|
4
|
+
|
|
5
|
+
Use this task when local commands are ready and the same repository policy must run on every pull request or branch.
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- A passing `repo check --dry-run` plan.
|
|
10
|
+
- A CI runner with Node.js, pnpm, and the repository lockfile.
|
|
11
|
+
- Non-interactive credentials for any publish or release job.
|
|
12
|
+
|
|
13
|
+
## Smallest Command
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
repo check --full --json --out reports/check-plan.json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Expected Output
|
|
20
|
+
|
|
21
|
+
CI receives a stable plan and can upload the JSON or Markdown report as an artifact. The same command remains runnable locally.
|
|
22
|
+
|
|
23
|
+
## Common Branches
|
|
24
|
+
|
|
25
|
+
- Pull requests need a fast gate: use `repo check --staged` or the repository's pre-commit mode.
|
|
26
|
+
- Main branch needs a delivery gate: use `repo check --full`.
|
|
27
|
+
- A release job needs a version plan: run `repo release --dry-run` before publishing.
|
|
2
28
|
|
|
3
29
|
repoctl commands have two audiences: humans using short daily commands, and automation consuming stable reports.
|
|
4
30
|
|
|
@@ -119,6 +145,6 @@ pnpm --filter @icebreakers/website exec wrangler rollback <VERSION_ID>
|
|
|
119
145
|
|
|
120
146
|
## Keep Reading
|
|
121
147
|
|
|
122
|
-
- [Command Reference](
|
|
123
|
-
- [
|
|
124
|
-
- [Command Aliases](
|
|
148
|
+
- [Command Reference](/reference/commands)
|
|
149
|
+
- [Troubleshoot](/tasks/troubleshooting)
|
|
150
|
+
- [Command Aliases](/reference/aliases)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Create a package or app
|
|
2
|
+
|
|
3
|
+
Use this task when the workspace is ready and you need a new package, application, service, CLI, or documentation site.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Run `repo doctor` from the workspace root.
|
|
8
|
+
- Confirm the package name and destination directory.
|
|
9
|
+
- Check the available template keys with `repo templates`.
|
|
10
|
+
|
|
11
|
+
## Smallest command
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
repo new <name> --template <template>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
For example:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
repo new shared-config --template package
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Use `--dry-run` when you want to inspect the file plan without writing anything.
|
|
24
|
+
|
|
25
|
+
## Expected result
|
|
26
|
+
|
|
27
|
+
repoctl prints the selected template, destination, and files it will create. After confirmation, the new project is added to the workspace and its package metadata is ready for the repository checks.
|
|
28
|
+
|
|
29
|
+
## Common branches
|
|
30
|
+
|
|
31
|
+
- Template key is unknown: run `repo templates` and choose an installed key.
|
|
32
|
+
- Destination exists: choose a new name or inspect the existing project before using an overwrite option.
|
|
33
|
+
- The project needs custom assets: create it first, then use [managed template assets](/reference/template-assets) for shared files.
|
|
34
|
+
|
|
35
|
+
## Next
|
|
36
|
+
|
|
37
|
+
Run [checks](/tasks/checks), then add the new project to the [CI workflow](/tasks/ci).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Task index
|
|
2
2
|
|
|
3
3
|
Start here when you know what you want to do, but not which repoctl command to use.
|
|
4
4
|
|
|
@@ -17,7 +17,7 @@ pnpm exec repo init --yes
|
|
|
17
17
|
pnpm exec repo doctor
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Continue with [Install and initialize](/start/install).
|
|
21
21
|
|
|
22
22
|
## I Want To Adopt repoctl In An Existing Repo
|
|
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
|
+
Continue with [Adopt an existing workspace](/tasks/adopt-existing).
|
|
33
33
|
|
|
34
34
|
## I Want To Create A Package Or App
|
|
35
35
|
|
|
@@ -45,7 +45,7 @@ For daily development, root scripts also work:
|
|
|
45
45
|
pnpm run repo:new -- sdk --template tsdown
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Keep reading: [Templates](
|
|
48
|
+
Keep reading: [Templates](/reference/templates).
|
|
49
49
|
|
|
50
50
|
## I Want To Check Before Committing
|
|
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
|
+
Continue with [Add checks to CI](/tasks/ci).
|
|
66
66
|
|
|
67
67
|
## I Want To Debug CI Or Another Machine
|
|
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
|
+
Continue with [Troubleshoot](/tasks/troubleshooting).
|
|
76
76
|
|
|
77
77
|
## I Want To Sync Standard Assets
|
|
78
78
|
|
|
@@ -103,7 +103,7 @@ pnpm exec repo config inspect
|
|
|
103
103
|
pnpm exec repo cfg i --json --out reports/config.json
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
Keep reading: [Configuration](
|
|
106
|
+
Keep reading: [Configuration](/reference/config).
|
|
107
107
|
|
|
108
108
|
## I Want Shorter Commands
|
|
109
109
|
|
|
@@ -114,4 +114,4 @@ repo e support --markdown --redact
|
|
|
114
114
|
repo cfg i
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
-
Keep reading: [Command Aliases](
|
|
117
|
+
Keep reading: [Command Aliases](/reference/aliases).
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Release packages
|
|
2
|
+
|
|
3
|
+
Use this task when a change is ready to version and publish. Keep the release plan reviewable before any registry write.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- `repo doctor` reports a valid package manager and release configuration.
|
|
8
|
+
- The working tree is clean except for the intended changes.
|
|
9
|
+
- Every publishable change has a changeset or the repository's chosen intent file.
|
|
10
|
+
|
|
11
|
+
## Smallest command
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
repo release --dry-run
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Review the package groups, versions, changelog entries, and publish commands. Run the same command without `--dry-run` only after the plan is approved.
|
|
18
|
+
|
|
19
|
+
## Expected result
|
|
20
|
+
|
|
21
|
+
The release report names the packages that will change, the version decisions, and each subprocess that will run. A successful release also completes the configured post-publish hooks.
|
|
22
|
+
|
|
23
|
+
## Common branches
|
|
24
|
+
|
|
25
|
+
- Missing intent: add a changeset and rerun the plan.
|
|
26
|
+
- Fixed group mismatch: inspect the package relationships before editing versions.
|
|
27
|
+
- Registry authentication failure: refresh the local token and rerun the publish step; do not commit credentials.
|
|
28
|
+
|
|
29
|
+
## Next
|
|
30
|
+
|
|
31
|
+
Read [publishing and changelogs](/learn/monorepo/publish) for repository policy and [reports and output](/tasks/reports) for CI artifacts.
|