@xylabs/ts-scripts-yarn3 7.5.6 → 7.5.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/ts-scripts-yarn3",
3
- "version": "7.5.6",
3
+ "version": "7.5.7",
4
4
  "description": "TypeScript project scripts",
5
5
  "keywords": [
6
6
  "xylabs",
@@ -50,14 +50,15 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/yargs": "~17.0.35",
53
- "@xylabs/tsconfig": "~7.5.6",
53
+ "@xylabs/ts-scripts-common": "~7.5.7",
54
+ "@xylabs/tsconfig": "~7.5.7",
54
55
  "publint": "~0.3.18",
55
56
  "tsup": "~8.5.1",
56
57
  "typescript": "^5.9.3",
57
58
  "vitest": "^4.1.1"
58
59
  },
59
60
  "peerDependencies": {
60
- "@xylabs/ts-scripts-common": "~7.5.6",
61
+ "@xylabs/ts-scripts-common": "~7.5.7",
61
62
  "typescript": "~5"
62
63
  },
63
64
  "engines": {
@@ -1,5 +1,7 @@
1
- Run a full build of the current project using `yarn xy build`. This compiles TypeScript, runs publint, deplint, and lint. Review the output for errors and fix any issues found.
1
+ Run a full build of the current project using `xy build`. This compiles TypeScript, runs publint, deplint, and lint. Review the output for errors and fix any issues found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy build
6
+ xy build
5
7
  ```
@@ -1,5 +1,7 @@
1
- Clean build artifacts from the current project using `yarn xy clean`. This removes dist, build, and other generated directories.
1
+ Clean build artifacts from the current project using `xy clean`. This removes dist, build, and other generated directories.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy clean
6
+ xy clean
5
7
  ```
@@ -1,5 +1,7 @@
1
- Compile the current project using `yarn xy compile`. This runs TypeScript compilation via tsup and publint validation. Review the output for errors and fix any issues found.
1
+ Compile the current project using `xy compile`. This runs TypeScript compilation via tsup and publint validation. Review the output for errors and fix any issues found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy compile
6
+ xy compile
5
7
  ```
@@ -1,5 +1,7 @@
1
- Check for circular dependency cycles in the current project using `yarn xy cycle`. Review the output and refactor any circular dependencies found.
1
+ Check for circular dependency cycles in the current project using `xy cycle`. Review the output and refactor any circular dependencies found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy cycle
6
+ xy cycle
5
7
  ```
@@ -1,5 +1,7 @@
1
- Check for dead (unreachable) code in the current project using `yarn xy dead`. Review the output and remove any dead code found.
1
+ Check for dead (unreachable) code in the current project using `xy dead`. Review the output and remove any dead code found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy dead
6
+ xy dead
5
7
  ```
@@ -1,5 +1,7 @@
1
- Check dependency declarations in the current project using `yarn xy deplint`. This verifies that all imports have corresponding entries in package.json dependencies. Review the output for missing or extraneous dependencies and fix them.
1
+ Check dependency declarations in the current project using `xy deplint`. This verifies that all imports have corresponding entries in package.json dependencies. Review the output for missing or extraneous dependencies and fix them.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy deplint
6
+ xy deplint
5
7
  ```
@@ -1,5 +1,7 @@
1
- Check for duplicate dependency declarations in package.json files using `yarn xy dupdeps`. Review and resolve any duplicates found.
1
+ Check for duplicate dependency declarations in package.json files using `xy dupdeps`. Review and resolve any duplicates found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy dupdeps
6
+ xy dupdeps
5
7
  ```
@@ -1,5 +1,7 @@
1
- Auto-fix lint issues in the current project using `yarn xy fix`. This runs ESLint with the --fix flag. Review the output for any remaining issues that could not be auto-fixed and fix them manually.
1
+ Auto-fix lint issues in the current project using `xy fix`. This runs ESLint with the --fix flag. Review the output for any remaining issues that could not be auto-fixed and fix them manually.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy fix
6
+ xy fix
5
7
  ```
@@ -1,5 +1,7 @@
1
- Generate TypeDoc API documentation using `yarn xy gen-docs`. Output is written to the docs directory.
1
+ Generate TypeDoc API documentation using `xy gen-docs`. Output is written to the docs directory.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy gen-docs
6
+ xy gen-docs
5
7
  ```
@@ -1,5 +1,7 @@
1
- Generate the root .gitignore from the standard template and remove any .gitignore files from workspace packages using `yarn xy gitignore`. Custom entries are preserved under a `# Custom` section.
1
+ Generate the root .gitignore from the standard template and remove any .gitignore files from workspace packages using `xy gitignore`. Custom entries are preserved under a `# Custom` section.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy gitignore
6
+ xy gitignore
5
7
  ```
@@ -1,5 +1,7 @@
1
- Lint the git configuration using `yarn xy gitlint`. Checks settings like `core.ignorecase`, `core.autocrlf`, and `core.eol`. Use `--fix` to auto-fix issues.
1
+ Lint the git configuration using `xy gitlint`. Checks settings like `core.ignorecase`, `core.autocrlf`, and `core.eol`. Use `--fix` to auto-fix issues.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy gitlint
6
+ xy gitlint
5
7
  ```
@@ -1,5 +1,7 @@
1
- Check for unused exports and dead code in the current project using `yarn xy knip`. Review the output and remove any unused exports, files, or dependencies.
1
+ Check for unused exports and dead code in the current project using `xy knip`. Review the output and remove any unused exports, files, or dependencies.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy knip
6
+ xy knip
5
7
  ```
@@ -1,5 +1,7 @@
1
- Check licenses of all dependencies using `yarn xy license`. Review the output for any disallowed or problematic licenses.
1
+ Check licenses of all dependencies using `xy license`. Review the output for any disallowed or problematic licenses.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy license
6
+ xy license
5
7
  ```
@@ -1,5 +1,7 @@
1
- Lint the current project using `yarn xy lint`. This runs ESLint across all packages. Review the output for errors and fix any issues found.
1
+ Lint the current project using `xy lint`. This runs ESLint across all packages. Review the output for errors and fix any issues found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy lint
6
+ xy lint
5
7
  ```
@@ -1,5 +1,7 @@
1
- Validate package.json files for npm publishing correctness using `yarn xy publint`. Review the output for issues and fix them.
1
+ Validate package.json files for npm publishing correctness using `xy publint`. Review the output for issues and fix them.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy publint
6
+ xy publint
5
7
  ```
@@ -1,5 +1,7 @@
1
- Rebuild the current project from scratch using `yarn xy rebuild`. This cleans build artifacts, then compiles and lints. Review the output for errors and fix any issues found.
1
+ Rebuild the current project from scratch using `xy rebuild`. This cleans build artifacts, then compiles and lints. Review the output for errors and fix any issues found.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy rebuild
6
+ xy rebuild
5
7
  ```
@@ -1,5 +1,7 @@
1
- Re-compile the current project using `yarn xy recompile`. This cleans compiled output and recompiles all packages from scratch.
1
+ Re-compile the current project using `xy recompile`. This cleans compiled output and recompiles all packages from scratch.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy recompile
6
+ xy recompile
5
7
  ```
@@ -1,5 +1,7 @@
1
- Clean and reinstall all dependencies using `yarn xy reinstall`. This removes node_modules and reinstalls from scratch.
1
+ Clean and reinstall all dependencies using `xy reinstall`. This removes node_modules and reinstalls from scratch.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy reinstall
6
+ xy reinstall
5
7
  ```
@@ -1,5 +1,7 @@
1
- Clean ESLint cache and re-lint the current project using `yarn xy relint`. Use this when lint results seem stale or inconsistent.
1
+ Clean ESLint cache and re-lint the current project using `xy relint`. Use this when lint results seem stale or inconsistent.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy relint
6
+ xy relint
5
7
  ```
@@ -1,5 +1,7 @@
1
- Re-run tests with a cleaned cache using `yarn xy retest`. Use this when test results seem stale or cached state may be causing issues.
1
+ Re-run tests with a cleaned cache using `xy retest`. Use this when test results seem stale or cached state may be causing issues.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy retest
6
+ xy retest
5
7
  ```
@@ -1,5 +1,7 @@
1
- Run SonarQube analysis on the current project using `yarn xy sonar`. Review the output for code quality issues.
1
+ Run SonarQube analysis on the current project using `xy sonar`. Review the output for code quality issues.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy sonar
6
+ xy sonar
5
7
  ```
@@ -1,5 +1,7 @@
1
- Run tests for the current project using `yarn xy test`. Review the output for failures and fix any failing tests.
1
+ Run tests for the current project using `xy test`. Review the output for failures and fix any failing tests.
2
+
3
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
2
4
 
3
5
  ```bash
4
- yarn xy test
6
+ xy test
5
7
  ```
@@ -1,7 +1,9 @@
1
- Update all dependencies to their latest compatible versions using `yarn xy up`.
1
+ Update all dependencies to their latest compatible versions using `xy up`.
2
2
 
3
- **Important:** Confirm with the user before running this command, as it modifies package.json and yarn.lock files.
3
+ **Important:** Confirm with the user before running this command, as it modifies package.json and lock files.
4
+
5
+ Detect the package manager from the repo root (`yarn.lock` → yarn, `pnpm-lock.yaml` → pnpm) and prefix accordingly.
4
6
 
5
7
  ```bash
6
- yarn xy up
8
+ xy up
7
9
  ```
@@ -0,0 +1,187 @@
1
+ ---
2
+ name: xylabs-xy-cli
3
+ description: >
4
+ Comprehensive reference for the `xy` CLI provided by `@xylabs/ts-scripts-yarn3`.
5
+ Use this skill whenever the user asks how to build, lint, test, deploy, or run any
6
+ tooling command in an XY Labs monorepo — even if they just say something like
7
+ "how do I compile" or "check my deps". Covers every command, common workflows,
8
+ single-package targeting, and troubleshooting.
9
+ ---
10
+ # xylabs-xy-cli
11
+
12
+ The `xy` CLI is the unified build toolchain for all XY Labs and XYO Network TypeScript
13
+ monorepos. It wraps compilation, linting, testing, dependency analysis, deployment, and
14
+ repo maintenance into a single tool.
15
+
16
+ **Always run `xy` commands from the repo root**, never from inside a package directory.
17
+
18
+ ---
19
+
20
+ ## Package Manager Detection
21
+
22
+ Before running any command, detect the repo's package manager by checking the repo root:
23
+ - `yarn.lock` present → use **yarn** (e.g. `yarn xy build`)
24
+ - `pnpm-lock.yaml` present → use **pnpm** (e.g. `pnpm xy build`)
25
+
26
+ All commands below are shown without a prefix. Prepend the detected package manager
27
+ when executing (e.g. `xy build` → `yarn xy build` or `pnpm xy build`).
28
+
29
+ ---
30
+
31
+ ## Installation
32
+
33
+ The CLI is provided by `@xylabs/ts-scripts-yarn3` (or `@xylabs/ts-scripts-react-yarn3`
34
+ for React repos). It is already a devDependency in every XY Labs repo — no separate
35
+ install is needed.
36
+
37
+ ---
38
+
39
+ ## Command Reference
40
+
41
+ ### Build & Compile
42
+
43
+ | Command | Description |
44
+ |---|---|
45
+ | `xy build` | Full build: compile + publint + deplint + lint |
46
+ | `xy compile` | Compile all packages (TypeScript via tsup) + publint |
47
+ | `xy recompile` | Clean compiled output, then compile again |
48
+ | `xy rebuild` | Clean everything, then full build |
49
+ | `xy copy-assets` | Copy non-TS assets from `src/` to `dist/` |
50
+
51
+ ### Lint & Fix
52
+
53
+ | Command | Description |
54
+ |---|---|
55
+ | `xy lint` | Run ESLint across all packages |
56
+ | `xy fix` | Run ESLint with `--fix` to auto-fix issues |
57
+ | `xy relint` | Clean ESLint cache, then lint from scratch |
58
+ | `xy deplint` | Verify imports match `package.json` dependency declarations |
59
+ | `xy publint` | Validate `package.json` correctness for npm publishing |
60
+ | `xy cycle` | Detect circular dependency cycles |
61
+ | `xy knip` | Find unused exports and dead code |
62
+ | `xy dead` | Check for dead (unreachable) code |
63
+ | `xy sonar` | Run SonarQube analysis |
64
+ | `xy dupdeps` | Find duplicate dependency declarations across packages |
65
+ | `xy lintlint` | Check for redundant or overridden ESLint rules |
66
+
67
+ ### Testing
68
+
69
+ | Command | Description |
70
+ |---|---|
71
+ | `xy test` | Run Vitest tests |
72
+ | `xy retest` | Clean test cache, then run tests |
73
+
74
+ ### Deploy & Publish
75
+
76
+ | Command | Description |
77
+ |---|---|
78
+ | `xy deploy` | Patch version bump + build + publish |
79
+ | `xy deploy-minor` | Minor version bump + build + publish |
80
+ | `xy deploy-major` | Major version bump + build + publish |
81
+ | `xy deploy-next` | Deploy as `next` tag (pre-release) |
82
+
83
+ ### Dependency Management
84
+
85
+ | Command | Description |
86
+ |---|---|
87
+ | `xy clean` | Remove `dist/` and `build/` artifacts |
88
+ | `xy reinstall` | Remove `node_modules`, reinstall from scratch |
89
+ | `xy up` | Update all dependencies to latest compatible versions |
90
+
91
+ ### Git & Repo Maintenance
92
+
93
+ | Command | Description |
94
+ |---|---|
95
+ | `xy gitlint` | Lint git configuration (ignorecase, autocrlf, etc.) |
96
+ | `xy gitignore` | Generate root `.gitignore` and remove package-level ones |
97
+ | `xy license` | Check dependency licenses for compliance |
98
+ | `xy gen-docs` | Generate TypeDoc API documentation |
99
+
100
+ ### Claude Code Integration
101
+
102
+ | Command | Description |
103
+ |---|---|
104
+ | `xy claude init` | Initialize all Claude configuration (commands, rules, skills, settings) |
105
+ | `xy claude clean` | Remove all Claude configuration files |
106
+ | `xy claude commands` | Sync slash commands to `.claude/commands/` |
107
+ | `xy claude rules` | Sync rules to `.claude/rules/` |
108
+ | `xy claude skills` | Sync skills to `.claude/skills/` |
109
+ | `xy claude settings` | Initialize `.claude/settings.local.json` |
110
+
111
+ ---
112
+
113
+ ## Targeting a Single Package
114
+
115
+ Most commands accept an optional `[package]` argument to scope to one package:
116
+
117
+ ```bash
118
+ xy compile my-package
119
+ xy lint my-package
120
+ xy deplint my-package
121
+ ```
122
+
123
+ Use the **package name** from `package.json` (e.g. `@xylabs/assert`), not the directory
124
+ path. You can also use just the short name without the scope (e.g. `assert`).
125
+
126
+ ---
127
+
128
+ ## Common Workflows
129
+
130
+ ### Before pushing code
131
+ ```bash
132
+ xy build
133
+ ```
134
+ This runs the full pipeline: compile, publint, deplint, and lint. If it passes, the code
135
+ is ready to push.
136
+
137
+ ### After modifying dependencies
138
+ ```bash
139
+ xy deplint
140
+ ```
141
+ Catches missing or extraneous entries in `package.json` relative to actual imports.
142
+
143
+ ### When lint results seem stale
144
+ ```bash
145
+ xy relint
146
+ ```
147
+ Clears the ESLint cache and re-lints everything.
148
+
149
+ ### When tests seem stale
150
+ ```bash
151
+ xy retest
152
+ ```
153
+ Clears the Vitest cache and re-runs tests.
154
+
155
+ ### When things are broken and you want a clean slate
156
+ ```bash
157
+ xy rebuild
158
+ ```
159
+ Cleans all artifacts, recompiles, and re-lints.
160
+
161
+ ### Nuclear option — full reset
162
+ ```bash
163
+ xy reinstall
164
+ ```
165
+ Removes `node_modules` and reinstalls everything from scratch.
166
+
167
+ ---
168
+
169
+ ## Troubleshooting
170
+
171
+ ### "Command not found: xy"
172
+ The `xy` binary comes from `@xylabs/ts-scripts-yarn3`. Run `install` via your package
173
+ manager to ensure it is linked. The binary is at `node_modules/.bin/xy`.
174
+
175
+ ### Compile errors in other packages
176
+ `ts-scripts-yarn3` must compile before other packages that depend on it. The repo's
177
+ `compile` script handles this ordering automatically — always use `xy compile`
178
+ from the root, not `tsc` directly.
179
+
180
+ ### Deplint false positives
181
+ Deplint scans TypeScript source imports and `tsconfig.json` extends chains. If a
182
+ dependency is used only in config files (not source), it may flag as unused. Check the
183
+ output carefully before removing.
184
+
185
+ ### Version conflicts
186
+ All packages in a repo share a single version. Never edit version fields manually —
187
+ use `xy deploy` variants to bump versions.
@@ -1,11 +1,5 @@
1
1
  ## Install
2
2
 
3
3
  ```sh
4
- npm install {{name}}
5
- ```
6
-
7
- or
8
-
9
- ```sh
10
- yarn add {{name}}
4
+ {{pm}} add {{name}}
11
5
  ```