repoctl 4.0.5 → 4.0.6

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 CHANGED
@@ -11,7 +11,7 @@ pnpm add -D repoctl
11
11
  ## Quick Start
12
12
 
13
13
  ```sh
14
- pnpm exec repo setup
14
+ pnpm exec repo init
15
15
  pnpm exec repo doctor
16
16
  pnpm exec repo doctor --json
17
17
  pnpm exec repo doctor --json --out reports/doctor.json
@@ -22,29 +22,29 @@ pnpm exec repo check --dry-run
22
22
  pnpm exec repo env info
23
23
  ```
24
24
 
25
- Inside generated repos, the same workflow is available as shorter root scripts:
25
+ Inside generated repos, the same workflow is available as conflict-free `repo:*` root scripts:
26
26
 
27
27
  ```sh
28
- pnpm setup
29
- pnpm doctor
30
- pnpm new my-package
31
- pnpm check
28
+ pnpm run repo:init
29
+ pnpm run repo:doctor -- --json
30
+ pnpm run repo:new -- my-package
31
+ pnpm run repo:check
32
32
  ```
33
33
 
34
34
  ## What Each Command Is For
35
35
 
36
- - `repo setup`: initialize the workspace with the recommended metadata and tooling defaults.
36
+ - `repo init`: initialize the workspace with the recommended metadata and tooling defaults.
37
37
  - `repo doctor`: diagnose whether the current repo is ready to use.
38
38
  - `repo templates`: list the built-in package/app templates and their target folders.
39
39
  - `repo new`: create a new package or app.
40
40
  - `repo check`: run the recommended local verification flow.
41
41
  - `repo upgrade`: sync the latest standard assets and scripts from the template.
42
42
 
43
- `repo setup` is safe to run in an existing pnpm workspace. By default it creates missing root files, appends missing workspace patterns, and skips existing README/tooling files; use `--force` or `--overwrite` when you explicitly want managed files rewritten. Use `--yes` in CI.
43
+ `repo init` is safe to run in an existing pnpm workspace. By default it creates missing root files, appends missing workspace patterns, and skips existing README/tooling files; use `--force` or `--overwrite` when you explicitly want managed files rewritten. Use `--yes` in CI.
44
44
 
45
45
  `repo upgrade` is also CI-safe. In a non-TTY process it will not prompt; changed files are skipped unless you pass `--yes` or `--overwrite`. Use `--no-overwrite` when automation must preserve every changed file.
46
46
 
47
- `repo doctor` is intentionally lightweight. It checks root workspace files, Node version compatibility, CLI dependency presence, recommended root scripts, config conflicts, workspace pattern coverage, legacy local tooling imports, and whether Husky plus lint-staged are both wired. Use `repo doctor --json --out reports/doctor.json` when automation needs a persisted report.
47
+ `repo doctor` is intentionally lightweight. It checks root workspace files, Node version compatibility, CLI dependency presence, recommended `repo:*` root scripts, stale `monorepo.config.ts` files, workspace pattern coverage, legacy local tooling imports, and whether Husky plus lint-staged are both wired. Use `repo doctor --json --out reports/doctor.json` or `pnpm run repo:doctor -- --json` when automation needs a persisted report.
48
48
  Use `repo check --dry-run` or `repo check --json --out reports/check-plan.json` when automation needs to inspect the verification plan before running it.
49
49
 
50
50
  ## Common Commands
@@ -115,11 +115,7 @@ export default defineMonorepoConfig({
115
115
 
116
116
  When `commands.create.defaultTemplate` is set, `repo new foo` creates the package directly and places it under the conventional base directory inferred from the template, such as `packages/foo` or `apps/foo`.
117
117
 
118
- Prefer `repoctl.config.ts`. `monorepo.config.ts` remains supported for compatibility, but the two files cannot coexist.
119
-
120
- ## Compatibility
121
-
122
- `repoctl new foo`, `repoctl doctor`, and `repoctl check` remain supported as compatibility aliases.
118
+ Use `repoctl.config.ts`. `monorepo.config.ts` is no longer loaded at runtime.
123
119
 
124
120
  ## Performance Notes
125
121
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "repoctl",
3
3
  "type": "module",
4
- "version": "4.0.5",
4
+ "version": "4.0.6",
5
5
  "description": "Default task-first CLI for pnpm and Turbo monorepo setup and maintenance",
6
6
  "author": "ice breaker <hi@sonofmagic.top>",
7
7
  "license": "MIT",
@@ -24,6 +24,13 @@
24
24
  "monorepo"
25
25
  ],
26
26
  "sideEffects": false,
27
+ "tsd": {
28
+ "compilerOptions": {
29
+ "module": "nodenext",
30
+ "moduleResolution": "nodenext",
31
+ "skipLibCheck": true
32
+ }
33
+ },
27
34
  "exports": {
28
35
  ".": {
29
36
  "types": "./dist/index.d.mts",
@@ -45,11 +52,8 @@
45
52
  "module": "./dist/index.mjs",
46
53
  "types": "./dist/index.d.mts",
47
54
  "bin": {
48
- "rc": "bin/rc.js",
49
55
  "repo": "bin/repo.js",
50
- "repoctl": "bin/repoctl.js",
51
- "monorepo": "bin/monorepo.js",
52
- "mo": "bin/mo.js"
56
+ "repoctl": "bin/repoctl.js"
53
57
  },
54
58
  "files": [
55
59
  "bin",
@@ -59,8 +63,32 @@
59
63
  "engines": {
60
64
  "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0"
61
65
  },
66
+ "peerDependencies": {
67
+ "@commitlint/cli": "^20.5.3",
68
+ "eslint": "^9.0.0 || ^10.0.0",
69
+ "stylelint": "^17.11.0",
70
+ "typescript": "^5.0.0 || ^6.0.0",
71
+ "vitest": "^4.1.5"
72
+ },
73
+ "peerDependenciesMeta": {
74
+ "@commitlint/cli": {
75
+ "optional": true
76
+ },
77
+ "eslint": {
78
+ "optional": true
79
+ },
80
+ "stylelint": {
81
+ "optional": true
82
+ },
83
+ "typescript": {
84
+ "optional": true
85
+ },
86
+ "vitest": {
87
+ "optional": true
88
+ }
89
+ },
62
90
  "dependencies": {
63
- "@icebreakers/monorepo": "4.0.5"
91
+ "@icebreakers/monorepo": "4.0.6"
64
92
  },
65
93
  "scripts": {
66
94
  "dev": "tsdown --tsconfig tsconfig.src.json --watch --sourcemap",
package/bin/mo.js DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import '../dist/cli.mjs'
package/bin/monorepo.js DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import '../dist/cli.mjs'
package/bin/rc.js DELETED
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import '../dist/cli.mjs'