@xylabs/ts-scripts-yarn3 7.4.19 → 7.4.21

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.
Files changed (52) hide show
  1. package/dist/actions/claude-commands.mjs +5 -1
  2. package/dist/actions/claude-commands.mjs.map +1 -1
  3. package/dist/actions/claude-rules.mjs +5 -1
  4. package/dist/actions/claude-rules.mjs.map +1 -1
  5. package/dist/actions/claude-skills.mjs +120 -0
  6. package/dist/actions/claude-skills.mjs.map +1 -0
  7. package/dist/actions/index.mjs +229 -127
  8. package/dist/actions/index.mjs.map +1 -1
  9. package/dist/bin/xy.mjs +239 -140
  10. package/dist/bin/xy.mjs.map +1 -1
  11. package/dist/index.d.ts +5 -1
  12. package/dist/index.mjs +299 -197
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/lib/claudeMdTemplate.mjs +27 -2
  15. package/dist/lib/claudeMdTemplate.mjs.map +1 -1
  16. package/dist/lib/index.mjs +26 -1
  17. package/dist/lib/index.mjs.map +1 -1
  18. package/dist/xy/build-commands/build.mjs +502 -0
  19. package/dist/xy/build-commands/build.mjs.map +1 -0
  20. package/dist/xy/{build → build-commands}/index.mjs +40 -45
  21. package/dist/xy/build-commands/index.mjs.map +1 -0
  22. package/dist/xy/common/claude/commandsCommand.mjs +5 -1
  23. package/dist/xy/common/claude/commandsCommand.mjs.map +1 -1
  24. package/dist/xy/common/claude/index.mjs +111 -2
  25. package/dist/xy/common/claude/index.mjs.map +1 -1
  26. package/dist/xy/common/claude/initCommand.mjs +111 -1
  27. package/dist/xy/common/claude/initCommand.mjs.map +1 -1
  28. package/dist/xy/common/claude/rulesCommand.mjs +5 -1
  29. package/dist/xy/common/claude/rulesCommand.mjs.map +1 -1
  30. package/dist/xy/common/claude/skillsCommand.mjs +129 -0
  31. package/dist/xy/common/claude/skillsCommand.mjs.map +1 -0
  32. package/dist/xy/common/index.mjs +128 -19
  33. package/dist/xy/common/index.mjs.map +1 -1
  34. package/dist/xy/index.mjs +239 -140
  35. package/dist/xy/index.mjs.map +1 -1
  36. package/dist/xy/xy.mjs +239 -140
  37. package/dist/xy/xy.mjs.map +1 -1
  38. package/package.json +2 -2
  39. package/templates/claude/skills/xylabs-e2e-setup/SKILL.md +197 -0
  40. package/dist/xy/build/buildCommand.mjs +0 -161
  41. package/dist/xy/build/buildCommand.mjs.map +0 -1
  42. package/dist/xy/build/compileCommand.mjs +0 -174
  43. package/dist/xy/build/compileCommand.mjs.map +0 -1
  44. package/dist/xy/build/compileOnlyCommand.mjs +0 -175
  45. package/dist/xy/build/compileOnlyCommand.mjs.map +0 -1
  46. package/dist/xy/build/copyAssetsCommand.mjs +0 -84
  47. package/dist/xy/build/copyAssetsCommand.mjs.map +0 -1
  48. package/dist/xy/build/index.mjs.map +0 -1
  49. package/dist/xy/build/rebuildCommand.mjs +0 -114
  50. package/dist/xy/build/rebuildCommand.mjs.map +0 -1
  51. package/dist/xy/build/recompileCommand.mjs +0 -204
  52. package/dist/xy/build/recompileCommand.mjs.map +0 -1
package/dist/xy/index.mjs CHANGED
@@ -15,7 +15,11 @@ var checkResult = (name, result, level = "error", exitOnFail = false) => {
15
15
  };
16
16
 
17
17
  // src/lib/claudeMdTemplate.ts
18
- import { readdirSync, readFileSync } from "fs";
18
+ import {
19
+ readdirSync,
20
+ readFileSync,
21
+ statSync
22
+ } from "fs";
19
23
  import { createRequire } from "module";
20
24
  import PATH from "path";
21
25
  var require2 = createRequire(import.meta.url);
@@ -23,6 +27,7 @@ var packageRoot = PATH.dirname(require2.resolve("@xylabs/ts-scripts-yarn3/packag
23
27
  var templatesDir = PATH.resolve(packageRoot, "templates", "claude");
24
28
  var XYLABS_RULES_PREFIX = "xylabs-";
25
29
  var XYLABS_COMMANDS_PREFIX = "xylabs-";
30
+ var XYLABS_SKILLS_PREFIX = "xylabs-";
26
31
  var claudeMdRuleTemplates = () => {
27
32
  const rulesDir = PATH.resolve(templatesDir, "rules");
28
33
  const files = readdirSync(rulesDir).filter((f) => f.startsWith(XYLABS_RULES_PREFIX) && f.endsWith(".md"));
@@ -41,6 +46,24 @@ var claudeCommandTemplates = () => {
41
46
  }
42
47
  return result;
43
48
  };
49
+ var claudeSkillTemplates = () => {
50
+ const skillsDir = PATH.resolve(templatesDir, "skills");
51
+ const dirs = readdirSync(skillsDir).filter(
52
+ (f) => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync(PATH.resolve(skillsDir, f)).isDirectory()
53
+ );
54
+ const result = {};
55
+ for (const dir of dirs) {
56
+ const dirPath = PATH.resolve(skillsDir, dir);
57
+ const files = readdirSync(dirPath, { recursive: true, encoding: "utf8" });
58
+ result[dir] = {};
59
+ for (const file of files) {
60
+ if (statSync(PATH.resolve(dirPath, file)).isFile()) {
61
+ result[dir][file] = readFileSync(PATH.resolve(dirPath, file), "utf8");
62
+ }
63
+ }
64
+ }
65
+ return result;
66
+ };
44
67
  var claudeMdProjectTemplate = () => readFileSync(PATH.resolve(templatesDir, "CLAUDE-project.md"), "utf8");
45
68
 
46
69
  // src/lib/deleteGlob.ts
@@ -902,6 +925,84 @@ async function claudeSettings() {
902
925
  return 0;
903
926
  }
904
927
 
928
+ // src/actions/claude-skills.ts
929
+ import {
930
+ existsSync as existsSync7,
931
+ mkdirSync as mkdirSync4,
932
+ readdirSync as readdirSync4,
933
+ readFileSync as readFileSync7,
934
+ rmSync,
935
+ statSync as statSync2,
936
+ writeFileSync as writeFileSync5
937
+ } from "fs";
938
+ import PATH6 from "path";
939
+ import chalk13 from "chalk";
940
+ var syncSkillFiles = (skillsDir) => {
941
+ const templates = claudeSkillTemplates();
942
+ const templateNames = new Set(Object.keys(templates));
943
+ let updated = 0;
944
+ let created = 0;
945
+ for (const [skillName, files] of Object.entries(templates)) {
946
+ const skillDir = PATH6.resolve(skillsDir, skillName);
947
+ mkdirSync4(skillDir, { recursive: true });
948
+ for (const [filename3, content] of Object.entries(files)) {
949
+ const targetPath = PATH6.resolve(skillDir, filename3);
950
+ mkdirSync4(PATH6.dirname(targetPath), { recursive: true });
951
+ const existing = existsSync7(targetPath) ? readFileSync7(targetPath, "utf8") : void 0;
952
+ if (existing === content) continue;
953
+ writeFileSync5(targetPath, content, "utf8");
954
+ if (existing) {
955
+ updated++;
956
+ } else {
957
+ created++;
958
+ }
959
+ }
960
+ }
961
+ return {
962
+ created,
963
+ templateNames,
964
+ updated
965
+ };
966
+ };
967
+ var removeStaleSkills = (skillsDir, templateNames) => {
968
+ const existingSkills = readdirSync4(skillsDir).filter(
969
+ (f) => f.startsWith(XYLABS_SKILLS_PREFIX) && statSync2(PATH6.resolve(skillsDir, f)).isDirectory()
970
+ );
971
+ let removed = 0;
972
+ for (const dir of existingSkills) {
973
+ if (!templateNames.has(dir)) {
974
+ rmSync(PATH6.resolve(skillsDir, dir), { recursive: true });
975
+ removed++;
976
+ }
977
+ }
978
+ return removed;
979
+ };
980
+ var logSkillsResult = (created, updated, removed) => {
981
+ if (created || updated || removed) {
982
+ const parts = [
983
+ created ? `${created} created` : "",
984
+ updated ? `${updated} updated` : "",
985
+ removed ? `${removed} removed` : ""
986
+ ].filter(Boolean);
987
+ console.log(chalk13.green(`.claude/skills/${XYLABS_SKILLS_PREFIX}*/: ${parts.join(", ")}`));
988
+ } else {
989
+ console.log(chalk13.gray(`.claude/skills/${XYLABS_SKILLS_PREFIX}*/: already up to date`));
990
+ }
991
+ };
992
+ var claudeSkills = () => {
993
+ const cwd = INIT_CWD() ?? process.cwd();
994
+ const skillsDir = PATH6.resolve(cwd, ".claude", "skills");
995
+ mkdirSync4(skillsDir, { recursive: true });
996
+ const {
997
+ created,
998
+ templateNames,
999
+ updated
1000
+ } = syncSkillFiles(skillsDir);
1001
+ const removed = removeStaleSkills(skillsDir, templateNames);
1002
+ logSkillsResult(created, updated, removed);
1003
+ return 0;
1004
+ };
1005
+
905
1006
  // src/actions/clean.ts
906
1007
  var clean = async ({ verbose, pkg }) => {
907
1008
  return pkg ? await cleanPackage({ pkg, verbose }) : cleanAll({ verbose });
@@ -916,16 +1017,16 @@ var cleanAll = ({ verbose }) => {
916
1017
 
917
1018
  // src/actions/clean-docs.ts
918
1019
  import path from "path";
919
- import chalk13 from "chalk";
1020
+ import chalk14 from "chalk";
920
1021
  var cleanDocs = () => {
921
1022
  const pkgName = process.env.npm_package_name;
922
- console.log(chalk13.green(`Cleaning Docs [${pkgName}]`));
1023
+ console.log(chalk14.green(`Cleaning Docs [${pkgName}]`));
923
1024
  for (const { location } of yarnWorkspaces()) deleteGlob(path.join(location, "docs"));
924
1025
  return 0;
925
1026
  };
926
1027
 
927
1028
  // src/actions/compile.ts
928
- import chalk14 from "chalk";
1029
+ import chalk15 from "chalk";
929
1030
  var compile = ({
930
1031
  verbose,
931
1032
  target,
@@ -966,7 +1067,7 @@ var compileAll = ({
966
1067
  const incrementalOptions = incremental ? ["--since", "-Ap", "--topological-dev"] : ["--parallel", "-Ap", "--topological-dev"];
967
1068
  const jobsOptions = jobs ? ["-j", `${jobs}`] : [];
968
1069
  if (jobs) {
969
- console.log(chalk14.blue(`Jobs set to [${jobs}]`));
1070
+ console.log(chalk15.blue(`Jobs set to [${jobs}]`));
970
1071
  }
971
1072
  const result = runSteps(`Compile${incremental ? "-Incremental" : ""} [All]`, [
972
1073
  ["yarn", [
@@ -980,13 +1081,13 @@ var compileAll = ({
980
1081
  ...targetOptions
981
1082
  ]]
982
1083
  ]);
983
- console.log(`${chalk14.gray("Compiled in")} [${chalk14.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk14.gray("seconds")}`);
1084
+ console.log(`${chalk15.gray("Compiled in")} [${chalk15.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk15.gray("seconds")}`);
984
1085
  return result;
985
1086
  };
986
1087
 
987
1088
  // src/actions/copy-assets.ts
988
1089
  import path2 from "path/posix";
989
- import chalk15 from "chalk";
1090
+ import chalk16 from "chalk";
990
1091
  import cpy from "cpy";
991
1092
  var copyPackageTargetAssets = async (target, name, location) => {
992
1093
  try {
@@ -1009,7 +1110,7 @@ var copyPackageTargetAssets = async (target, name, location) => {
1009
1110
  };
1010
1111
  var copyTargetAssets = async (target, pkg) => {
1011
1112
  const workspaces = yarnWorkspaces();
1012
- console.log(chalk15.green(`Copying Assets [${target.toUpperCase()}]`));
1113
+ console.log(chalk16.green(`Copying Assets [${target.toUpperCase()}]`));
1013
1114
  const workspaceList = workspaces.filter(({ name }) => {
1014
1115
  return pkg === void 0 || name === pkg;
1015
1116
  });
@@ -1093,7 +1194,7 @@ var dead = () => {
1093
1194
  };
1094
1195
 
1095
1196
  // src/actions/deplint/deplint.ts
1096
- import chalk21 from "chalk";
1197
+ import chalk22 from "chalk";
1097
1198
 
1098
1199
  // src/actions/deplint/findFiles.ts
1099
1200
  import fs2 from "fs";
@@ -1298,7 +1399,7 @@ function getExternalImportsFromFiles({
1298
1399
 
1299
1400
  // src/actions/deplint/checkPackage/getUnlistedDependencies.ts
1300
1401
  import { builtinModules } from "module";
1301
- import chalk16 from "chalk";
1402
+ import chalk17 from "chalk";
1302
1403
  function isRuntimeImportListed(imp, name, dependencies, peerDependencies) {
1303
1404
  return dependencies.includes(imp) || imp === name || peerDependencies.includes(imp) || builtinModules.includes(imp);
1304
1405
  }
@@ -1306,7 +1407,7 @@ function isTypeImportListed(imp, name, dependencies, devDependencies, peerDepend
1306
1407
  return dependencies.includes(imp) || imp === name || dependencies.includes(`@types/${imp}`) || peerDependencies.includes(imp) || peerDependencies.includes(`@types/${imp}`) || devDependencies.includes(`@types/${imp}`) || builtinModules.includes(imp);
1307
1408
  }
1308
1409
  function logMissing(name, imp, importPaths) {
1309
- console.log(`[${chalk16.blue(name)}] Missing dependency in package.json: ${chalk16.red(imp)}`);
1410
+ console.log(`[${chalk17.blue(name)}] Missing dependency in package.json: ${chalk17.red(imp)}`);
1310
1411
  if (importPaths[imp]) {
1311
1412
  console.log(` ${importPaths[imp].join("\n ")}`);
1312
1413
  }
@@ -1335,7 +1436,7 @@ function getUnlistedDependencies({ name, location }, {
1335
1436
  }
1336
1437
  if (unlistedDependencies > 0) {
1337
1438
  const packageLocation = `${location}/package.json`;
1338
- console.log(` ${chalk16.yellow(packageLocation)}
1439
+ console.log(` ${chalk17.yellow(packageLocation)}
1339
1440
  `);
1340
1441
  }
1341
1442
  return unlistedDependencies;
@@ -1343,7 +1444,7 @@ function getUnlistedDependencies({ name, location }, {
1343
1444
 
1344
1445
  // src/actions/deplint/checkPackage/getUnlistedDevDependencies.ts
1345
1446
  import { builtinModules as builtinModules2 } from "module";
1346
- import chalk17 from "chalk";
1447
+ import chalk18 from "chalk";
1347
1448
  function getUnlistedDevDependencies({ name, location }, {
1348
1449
  devDependencies,
1349
1450
  dependencies,
@@ -1357,7 +1458,7 @@ function getUnlistedDevDependencies({ name, location }, {
1357
1458
  for (const imp of externalAllImports) {
1358
1459
  if (!distImports.includes(imp) && imp !== name && !dependencies.includes(imp) && !dependencies.includes(`@types/${imp}`) && !peerDependencies.includes(imp) && !peerDependencies.includes(`@types/${imp}`) && !devDependencies.includes(imp) && !devDependencies.includes(`@types/${imp}`) && !builtinModules2.includes(imp)) {
1359
1460
  unlistedDevDependencies++;
1360
- console.log(`[${chalk17.blue(name)}] Missing devDependency in package.json: ${chalk17.red(imp)}`);
1461
+ console.log(`[${chalk18.blue(name)}] Missing devDependency in package.json: ${chalk18.red(imp)}`);
1361
1462
  if (allImportPaths[imp]) {
1362
1463
  console.log(` ${allImportPaths[imp].join("\n ")}`);
1363
1464
  }
@@ -1365,14 +1466,14 @@ function getUnlistedDevDependencies({ name, location }, {
1365
1466
  }
1366
1467
  if (unlistedDevDependencies > 0) {
1367
1468
  const packageLocation = `${location}/package.json`;
1368
- console.log(` ${chalk17.yellow(packageLocation)}
1469
+ console.log(` ${chalk18.yellow(packageLocation)}
1369
1470
  `);
1370
1471
  }
1371
1472
  return unlistedDevDependencies;
1372
1473
  }
1373
1474
 
1374
1475
  // src/actions/deplint/checkPackage/getUnusedDependencies.ts
1375
- import chalk18 from "chalk";
1476
+ import chalk19 from "chalk";
1376
1477
  function getUnusedDependencies({ name, location }, { dependencies }, {
1377
1478
  externalDistImports,
1378
1479
  externalDistTypeImports,
@@ -1384,22 +1485,22 @@ function getUnusedDependencies({ name, location }, { dependencies }, {
1384
1485
  if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\//, "")) && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\//, ""))) {
1385
1486
  unusedDependencies++;
1386
1487
  if (externalAllImports.includes(dep)) {
1387
- console.log(`[${chalk18.blue(name)}] dependency should be devDependency in package.json: ${chalk18.red(dep)}`);
1488
+ console.log(`[${chalk19.blue(name)}] dependency should be devDependency in package.json: ${chalk19.red(dep)}`);
1388
1489
  } else {
1389
- console.log(`[${chalk18.blue(name)}] Unused dependency in package.json: ${chalk18.red(dep)}`);
1490
+ console.log(`[${chalk19.blue(name)}] Unused dependency in package.json: ${chalk19.red(dep)}`);
1390
1491
  }
1391
1492
  }
1392
1493
  }
1393
1494
  if (unusedDependencies > 0) {
1394
1495
  const packageLocation = `${location}/package.json`;
1395
- console.log(` ${chalk18.yellow(packageLocation)}
1496
+ console.log(` ${chalk19.yellow(packageLocation)}
1396
1497
  `);
1397
1498
  }
1398
1499
  return unusedDependencies;
1399
1500
  }
1400
1501
 
1401
1502
  // src/actions/deplint/checkPackage/getUnusedDevDependencies.ts
1402
- import chalk19 from "chalk";
1503
+ import chalk20 from "chalk";
1403
1504
 
1404
1505
  // src/actions/deplint/getCliReferencedPackagesFromFiles.ts
1405
1506
  import fs8 from "fs";
@@ -1683,19 +1784,19 @@ function getUnusedDevDependencies({ name, location }, {
1683
1784
  if (dependencies.includes(dep) || peerDependencies.includes(dep)) continue;
1684
1785
  if (!isDevDepUsed(dep, allImports, implicitDeps, requiredPeers, scriptRefs, cliRefs)) {
1685
1786
  unusedDevDependencies++;
1686
- console.log(`[${chalk19.blue(name)}] Unused devDependency in package.json: ${chalk19.red(dep)}`);
1787
+ console.log(`[${chalk20.blue(name)}] Unused devDependency in package.json: ${chalk20.red(dep)}`);
1687
1788
  }
1688
1789
  }
1689
1790
  if (unusedDevDependencies > 0) {
1690
1791
  const packageLocation = `${location}/package.json`;
1691
- console.log(` ${chalk19.yellow(packageLocation)}
1792
+ console.log(` ${chalk20.yellow(packageLocation)}
1692
1793
  `);
1693
1794
  }
1694
1795
  return unusedDevDependencies;
1695
1796
  }
1696
1797
 
1697
1798
  // src/actions/deplint/checkPackage/getUnusedPeerDependencies.ts
1698
- import chalk20 from "chalk";
1799
+ import chalk21 from "chalk";
1699
1800
  function getUnusedPeerDependencies({ name, location }, { peerDependencies, dependencies }, { externalDistImports, externalDistTypeImports }, exclude) {
1700
1801
  let unusedDependencies = 0;
1701
1802
  for (const dep of peerDependencies) {
@@ -1703,15 +1804,15 @@ function getUnusedPeerDependencies({ name, location }, { peerDependencies, depen
1703
1804
  if (!externalDistImports.includes(dep) && !externalDistImports.includes(dep.replace(/^@types\//, "")) && !externalDistTypeImports.includes(dep) && !externalDistTypeImports.includes(dep.replace(/^@types\//, ""))) {
1704
1805
  unusedDependencies++;
1705
1806
  if (dependencies.includes(dep)) {
1706
- console.log(`[${chalk20.blue(name)}] Unused peerDependency [already a dependency] in package.json: ${chalk20.red(dep)}`);
1807
+ console.log(`[${chalk21.blue(name)}] Unused peerDependency [already a dependency] in package.json: ${chalk21.red(dep)}`);
1707
1808
  } else {
1708
- console.log(`[${chalk20.blue(name)}] Unused peerDependency in package.json: ${chalk20.red(dep)}`);
1809
+ console.log(`[${chalk21.blue(name)}] Unused peerDependency in package.json: ${chalk21.red(dep)}`);
1709
1810
  }
1710
1811
  }
1711
1812
  }
1712
1813
  if (unusedDependencies > 0) {
1713
1814
  const packageLocation = `${location}/package.json`;
1714
- console.log(` ${chalk20.yellow(packageLocation)}
1815
+ console.log(` ${chalk21.yellow(packageLocation)}
1715
1816
  `);
1716
1817
  }
1717
1818
  return unusedDependencies;
@@ -1806,19 +1907,19 @@ var deplint = async ({
1806
1907
  });
1807
1908
  }
1808
1909
  if (totalErrors > 0) {
1809
- console.warn(`Deplint: Found ${chalk21.red(totalErrors)} dependency problems. ${chalk21.red("\u2716")}`);
1910
+ console.warn(`Deplint: Found ${chalk22.red(totalErrors)} dependency problems. ${chalk22.red("\u2716")}`);
1810
1911
  } else {
1811
- console.info(`Deplint: Found no dependency problems. ${chalk21.green("\u2714")}`);
1912
+ console.info(`Deplint: Found no dependency problems. ${chalk22.green("\u2714")}`);
1812
1913
  }
1813
1914
  return 0;
1814
1915
  };
1815
1916
 
1816
1917
  // src/actions/deploy.ts
1817
- import { readFileSync as readFileSync7 } from "fs";
1918
+ import { readFileSync as readFileSync8 } from "fs";
1818
1919
  var privatePackageExcludeList = () => {
1819
1920
  const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
1820
1921
  workspace,
1821
- JSON.parse(readFileSync7(`${workspace.location}/package.json`, { encoding: "utf8" }))
1922
+ JSON.parse(readFileSync8(`${workspace.location}/package.json`, { encoding: "utf8" }))
1822
1923
  ]);
1823
1924
  const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
1824
1925
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
@@ -1838,11 +1939,11 @@ var deploy = () => {
1838
1939
  };
1839
1940
 
1840
1941
  // src/actions/deploy-major.ts
1841
- import { readFileSync as readFileSync8 } from "fs";
1942
+ import { readFileSync as readFileSync9 } from "fs";
1842
1943
  var privatePackageExcludeList2 = () => {
1843
1944
  const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
1844
1945
  workspace,
1845
- JSON.parse(readFileSync8(`${workspace.location}/package.json`, { encoding: "utf8" }))
1946
+ JSON.parse(readFileSync9(`${workspace.location}/package.json`, { encoding: "utf8" }))
1846
1947
  ]);
1847
1948
  const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
1848
1949
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
@@ -1862,11 +1963,11 @@ var deployMajor = () => {
1862
1963
  };
1863
1964
 
1864
1965
  // src/actions/deploy-minor.ts
1865
- import { readFileSync as readFileSync9 } from "fs";
1966
+ import { readFileSync as readFileSync10 } from "fs";
1866
1967
  var privatePackageExcludeList3 = () => {
1867
1968
  const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
1868
1969
  workspace,
1869
- JSON.parse(readFileSync9(`${workspace.location}/package.json`, { encoding: "utf8" }))
1970
+ JSON.parse(readFileSync10(`${workspace.location}/package.json`, { encoding: "utf8" }))
1870
1971
  ]);
1871
1972
  const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
1872
1973
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
@@ -1886,11 +1987,11 @@ var deployMinor = () => {
1886
1987
  };
1887
1988
 
1888
1989
  // src/actions/deploy-next.ts
1889
- import { readFileSync as readFileSync10 } from "fs";
1990
+ import { readFileSync as readFileSync11 } from "fs";
1890
1991
  var privatePackageExcludeList4 = () => {
1891
1992
  const possibleDeployablePackages = yarnWorkspaces().map((workspace) => [
1892
1993
  workspace,
1893
- JSON.parse(readFileSync10(`${workspace.location}/package.json`, { encoding: "utf8" }))
1994
+ JSON.parse(readFileSync11(`${workspace.location}/package.json`, { encoding: "utf8" }))
1894
1995
  ]);
1895
1996
  const privatePackages = possibleDeployablePackages.filter(([_, pkg]) => pkg.private).map(([workspace]) => workspace);
1896
1997
  const excludeList = privatePackages.map((workspace) => `--exclude ${workspace.name}`);
@@ -1910,22 +2011,22 @@ var deployNext = () => {
1910
2011
  };
1911
2012
 
1912
2013
  // src/actions/dupdeps.ts
1913
- import chalk22 from "chalk";
2014
+ import chalk23 from "chalk";
1914
2015
  var dupdeps = () => {
1915
- console.log(chalk22.green("Checking all Dependencies for Duplicates"));
2016
+ console.log(chalk23.green("Checking all Dependencies for Duplicates"));
1916
2017
  const allDependencies = parsedPackageJSON()?.dependencies;
1917
2018
  const dependencies = Object.entries(allDependencies).map(([k]) => k);
1918
2019
  return detectDuplicateDependencies(dependencies);
1919
2020
  };
1920
2021
 
1921
2022
  // src/actions/lint.ts
1922
- import chalk23 from "chalk";
2023
+ import chalk24 from "chalk";
1923
2024
  var lintPackage = ({
1924
2025
  pkg,
1925
2026
  fix: fix2,
1926
2027
  verbose
1927
2028
  }) => {
1928
- console.log(chalk23.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
2029
+ console.log(chalk24.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
1929
2030
  const start = Date.now();
1930
2031
  const result = runSteps(`${fix2 ? "Fix" : "Lint"} [${pkg}]`, [
1931
2032
  ["yarn", [
@@ -1935,7 +2036,7 @@ var lintPackage = ({
1935
2036
  fix2 ? "package-fix" : verbose ? "package-lint-verbose" : "package-lint"
1936
2037
  ]]
1937
2038
  ]);
1938
- console.log(chalk23.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk23.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk23.gray("seconds")}`));
2039
+ console.log(chalk24.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk24.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk24.gray("seconds")}`));
1939
2040
  return result;
1940
2041
  };
1941
2042
  var lint = ({
@@ -1955,13 +2056,13 @@ var lint = ({
1955
2056
  });
1956
2057
  };
1957
2058
  var lintAllPackages = ({ fix: fix2 = false } = {}) => {
1958
- console.log(chalk23.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
2059
+ console.log(chalk24.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
1959
2060
  const start = Date.now();
1960
2061
  const fixOptions = fix2 ? ["--fix"] : [];
1961
2062
  const result = runSteps(`${fix2 ? "Fix" : "Lint"} [All-Packages]`, [
1962
2063
  ["yarn", ["eslint", "--cache", "--cache-location", ".eslintcache", "--cache-strategy", "content", ...fixOptions]]
1963
2064
  ]);
1964
- console.log(chalk23.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk23.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk23.gray("seconds")}`));
2065
+ console.log(chalk24.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk24.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk24.gray("seconds")}`));
1965
2066
  return result;
1966
2067
  };
1967
2068
 
@@ -1989,7 +2090,7 @@ var filename = ".gitignore";
1989
2090
  var gitignoreGen = (pkg) => generateIgnoreFiles(filename, pkg);
1990
2091
 
1991
2092
  // src/actions/gitlint.ts
1992
- import chalk24 from "chalk";
2093
+ import chalk25 from "chalk";
1993
2094
  import ParseGitConfig from "parse-git-config";
1994
2095
  var gitlint = () => {
1995
2096
  console.log(`
@@ -2000,7 +2101,7 @@ Gitlint Start [${process.cwd()}]
2000
2101
  const errors = 0;
2001
2102
  const gitConfig = ParseGitConfig.sync();
2002
2103
  const warn = (message) => {
2003
- console.warn(chalk24.yellow(`Warning: ${message}`));
2104
+ console.warn(chalk25.yellow(`Warning: ${message}`));
2004
2105
  warnings++;
2005
2106
  };
2006
2107
  if (gitConfig.core.ignorecase) {
@@ -2020,13 +2121,13 @@ Gitlint Start [${process.cwd()}]
2020
2121
  }
2021
2122
  const resultMessages = [];
2022
2123
  if (valid > 0) {
2023
- resultMessages.push(chalk24.green(`Passed: ${valid}`));
2124
+ resultMessages.push(chalk25.green(`Passed: ${valid}`));
2024
2125
  }
2025
2126
  if (warnings > 0) {
2026
- resultMessages.push(chalk24.yellow(`Warnings: ${warnings}`));
2127
+ resultMessages.push(chalk25.yellow(`Warnings: ${warnings}`));
2027
2128
  }
2028
2129
  if (errors > 0) {
2029
- resultMessages.push(chalk24.red(` Errors: ${errors}`));
2130
+ resultMessages.push(chalk25.red(` Errors: ${errors}`));
2030
2131
  }
2031
2132
  console.warn(`Gitlint Finish [ ${resultMessages.join(" | ")} ]
2032
2133
  `);
@@ -2035,7 +2136,7 @@ Gitlint Start [${process.cwd()}]
2035
2136
 
2036
2137
  // src/actions/gitlint-fix.ts
2037
2138
  import { execSync as execSync3 } from "child_process";
2038
- import chalk25 from "chalk";
2139
+ import chalk26 from "chalk";
2039
2140
  import ParseGitConfig2 from "parse-git-config";
2040
2141
  var gitlintFix = () => {
2041
2142
  console.log(`
@@ -2044,15 +2145,15 @@ Gitlint Fix Start [${process.cwd()}]
2044
2145
  const gitConfig = ParseGitConfig2.sync();
2045
2146
  if (gitConfig.core.ignorecase) {
2046
2147
  execSync3("git config core.ignorecase false", { stdio: "inherit" });
2047
- console.warn(chalk25.yellow("\nGitlint Fix: Updated core.ignorecase to be false\n"));
2148
+ console.warn(chalk26.yellow("\nGitlint Fix: Updated core.ignorecase to be false\n"));
2048
2149
  }
2049
2150
  if (gitConfig.core.autocrlf !== false) {
2050
2151
  execSync3("git config core.autocrlf false", { stdio: "inherit" });
2051
- console.warn(chalk25.yellow("\nGitlint Fix: Updated core.autocrlf to be false\n"));
2152
+ console.warn(chalk26.yellow("\nGitlint Fix: Updated core.autocrlf to be false\n"));
2052
2153
  }
2053
2154
  if (gitConfig.core.eol !== "lf") {
2054
2155
  execSync3("git config core.eol lf", { stdio: "inherit" });
2055
- console.warn(chalk25.yellow('\nGitlint Fix: Updated core.eol to be "lf"\n'));
2156
+ console.warn(chalk26.yellow('\nGitlint Fix: Updated core.eol to be "lf"\n'));
2056
2157
  }
2057
2158
  return 1;
2058
2159
  };
@@ -2063,7 +2164,7 @@ var knip = () => {
2063
2164
  };
2064
2165
 
2065
2166
  // src/actions/license.ts
2066
- import chalk26 from "chalk";
2167
+ import chalk27 from "chalk";
2067
2168
  import { init } from "license-checker";
2068
2169
  var license = async (pkg) => {
2069
2170
  const workspaces = yarnWorkspaces();
@@ -2088,18 +2189,18 @@ var license = async (pkg) => {
2088
2189
  "LGPL-3.0-or-later",
2089
2190
  "Python-2.0"
2090
2191
  ]);
2091
- console.log(chalk26.green("License Checker"));
2192
+ console.log(chalk27.green("License Checker"));
2092
2193
  return (await Promise.all(
2093
2194
  workspaceList.map(({ location, name }) => {
2094
2195
  return new Promise((resolve) => {
2095
2196
  init({ production: true, start: location }, (error, packages) => {
2096
2197
  if (error) {
2097
- console.error(chalk26.red(`License Checker [${name}] Error`));
2098
- console.error(chalk26.gray(error));
2198
+ console.error(chalk27.red(`License Checker [${name}] Error`));
2199
+ console.error(chalk27.gray(error));
2099
2200
  console.log("\n");
2100
2201
  resolve(1);
2101
2202
  } else {
2102
- console.log(chalk26.green(`License Checker [${name}]`));
2203
+ console.log(chalk27.green(`License Checker [${name}]`));
2103
2204
  let count = 0;
2104
2205
  for (const [name2, info] of Object.entries(packages)) {
2105
2206
  const licenses = Array.isArray(info.licenses) ? info.licenses : [info.licenses];
@@ -2115,7 +2216,7 @@ var license = async (pkg) => {
2115
2216
  }
2116
2217
  if (!orLicenseFound) {
2117
2218
  count++;
2118
- console.warn(chalk26.yellow(`${name2}: Package License not allowed [${license2}]`));
2219
+ console.warn(chalk27.yellow(`${name2}: Package License not allowed [${license2}]`));
2119
2220
  }
2120
2221
  }
2121
2222
  }
@@ -2186,7 +2287,7 @@ var rebuild = ({ target }) => {
2186
2287
  };
2187
2288
 
2188
2289
  // src/actions/recompile.ts
2189
- import chalk27 from "chalk";
2290
+ import chalk28 from "chalk";
2190
2291
  var recompile = async ({
2191
2292
  verbose,
2192
2293
  target,
@@ -2222,7 +2323,7 @@ var recompileAll = async ({
2222
2323
  const incrementalOptions = incremental ? ["--since", "-Apt", "--topological-dev"] : ["--parallel", "-Apt", "--topological-dev"];
2223
2324
  const jobsOptions = jobs ? ["-j", `${jobs}`] : [];
2224
2325
  if (jobs) {
2225
- console.log(chalk27.blue(`Jobs set to [${jobs}]`));
2326
+ console.log(chalk28.blue(`Jobs set to [${jobs}]`));
2226
2327
  }
2227
2328
  const result = await runStepsAsync(`Recompile${incremental ? "-Incremental" : ""} [All]`, [
2228
2329
  [
@@ -2253,7 +2354,7 @@ var recompileAll = async ({
2253
2354
  ]
2254
2355
  ]);
2255
2356
  console.log(
2256
- `${chalk27.gray("Recompiled in")} [${chalk27.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk27.gray("seconds")}`
2357
+ `${chalk28.gray("Recompiled in")} [${chalk28.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk28.gray("seconds")}`
2257
2358
  );
2258
2359
  return result;
2259
2360
  };
@@ -2262,7 +2363,7 @@ var recompileAll = async ({
2262
2363
  import {
2263
2364
  closeSync,
2264
2365
  openSync,
2265
- rmSync
2366
+ rmSync as rmSync2
2266
2367
  } from "fs";
2267
2368
  var reinstall = () => {
2268
2369
  console.log("Reinstall [Clear Lock File]");
@@ -2272,7 +2373,7 @@ var reinstall = () => {
2272
2373
  const result = workspaces.map(({ location, name }) => {
2273
2374
  const dist = `${location}/node_modules`;
2274
2375
  try {
2275
- rmSync(dist, { force: true, recursive: true });
2376
+ rmSync2(dist, { force: true, recursive: true });
2276
2377
  return 0;
2277
2378
  } catch (ex) {
2278
2379
  const error = ex;
@@ -2284,13 +2385,13 @@ var reinstall = () => {
2284
2385
  };
2285
2386
 
2286
2387
  // src/actions/relint.ts
2287
- import chalk28 from "chalk";
2388
+ import chalk29 from "chalk";
2288
2389
  var relintPackage = ({
2289
2390
  pkg,
2290
2391
  fix: fix2,
2291
2392
  verbose
2292
2393
  }) => {
2293
- console.log(chalk28.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
2394
+ console.log(chalk29.gray(`${fix2 ? "Fix" : "Lint"} [${pkg}]`));
2294
2395
  const start = Date.now();
2295
2396
  const result = runSteps(`${fix2 ? "Fix" : "Lint"} [${pkg}]`, [
2296
2397
  ["yarn", [
@@ -2300,7 +2401,7 @@ var relintPackage = ({
2300
2401
  fix2 ? "package-fix" : verbose ? "package-lint-verbose" : "package-lint"
2301
2402
  ]]
2302
2403
  ]);
2303
- console.log(chalk28.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk28.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk28.gray("seconds")}`));
2404
+ console.log(chalk29.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk29.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk29.gray("seconds")}`));
2304
2405
  return result;
2305
2406
  };
2306
2407
  var relint = ({
@@ -2320,13 +2421,13 @@ var relint = ({
2320
2421
  });
2321
2422
  };
2322
2423
  var relintAllPackages = ({ fix: fix2 = false } = {}) => {
2323
- console.log(chalk28.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
2424
+ console.log(chalk29.gray(`${fix2 ? "Fix" : "Lint"} [All-Packages]`));
2324
2425
  const start = Date.now();
2325
2426
  const fixOptions = fix2 ? ["--fix"] : [];
2326
2427
  const result = runSteps(`${fix2 ? "Fix" : "Lint"} [All-Packages]`, [
2327
2428
  ["yarn", ["eslint", ...fixOptions]]
2328
2429
  ]);
2329
- console.log(chalk28.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk28.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk28.gray("seconds")}`));
2430
+ console.log(chalk29.gray(`${fix2 ? "Fixed in" : "Linted in"} [${chalk29.magenta(((Date.now() - start) / 1e3).toFixed(2))}] ${chalk29.gray("seconds")}`));
2330
2431
  return result;
2331
2432
  };
2332
2433
 
@@ -2344,10 +2445,10 @@ var sonar = () => {
2344
2445
  };
2345
2446
 
2346
2447
  // src/actions/statics.ts
2347
- import chalk29 from "chalk";
2448
+ import chalk30 from "chalk";
2348
2449
  var DefaultDependencies = ["axios", "@xylabs/pixel", "react", "graphql", "react-router", "@mui/material", "@mui/system"];
2349
2450
  var statics = () => {
2350
- console.log(chalk29.green("Check Required Static Dependencies"));
2451
+ console.log(chalk30.green("Check Required Static Dependencies"));
2351
2452
  const statics2 = parsedPackageJSON()?.xy?.deps?.statics;
2352
2453
  return detectDuplicateDependencies(statics2, DefaultDependencies);
2353
2454
  };
@@ -2395,13 +2496,18 @@ var yarn3Only = () => {
2395
2496
  return 0;
2396
2497
  };
2397
2498
 
2398
- // src/xy/build/buildCommand.ts
2499
+ // src/xy/param.ts
2500
+ var packagePositionalParam = (yargs2) => {
2501
+ return yargs2.positional("package", { describe: "Specific package to target", type: "string" });
2502
+ };
2503
+
2504
+ // src/xy/build-commands/build.ts
2399
2505
  var buildCommand = {
2400
- command: "build [package]",
2401
- describe: "Build - Compile & Lint",
2402
2506
  builder: (yargs2) => {
2403
- return yargs2.positional("package", { describe: "Specific package to build" });
2507
+ return packagePositionalParam(yargs2);
2404
2508
  },
2509
+ command: "build [package]",
2510
+ describe: "Build - Compile & Lint",
2405
2511
  handler: async (argv) => {
2406
2512
  if (argv.verbose) {
2407
2513
  console.log(`Building: ${argv.package ?? "all"}`);
@@ -2415,14 +2521,12 @@ var buildCommand = {
2415
2521
  });
2416
2522
  }
2417
2523
  };
2418
-
2419
- // src/xy/build/compileCommand.ts
2420
2524
  var compileCommand = {
2421
- command: "compile [package]",
2422
- describe: "Compile with Typescript & Copy Images",
2423
2525
  builder: (yargs2) => {
2424
- return yargs2.positional("package", { describe: "Specific package to compile" });
2526
+ return packagePositionalParam(yargs2);
2425
2527
  },
2528
+ command: "compile [package]",
2529
+ describe: "Compile with Typescript & Copy Images",
2426
2530
  handler: (argv) => {
2427
2531
  if (argv.verbose) {
2428
2532
  console.log(`Compiling: ${argv.package ?? "all"}`);
@@ -2436,14 +2540,12 @@ var compileCommand = {
2436
2540
  });
2437
2541
  }
2438
2542
  };
2439
-
2440
- // src/xy/build/compileOnlyCommand.ts
2441
2543
  var compileOnlyCommand = {
2442
- command: "compile-only [package]",
2443
- describe: "Compile with Typescript & Copy Images (No Publint)",
2444
2544
  builder: (yargs2) => {
2445
- return yargs2.positional("package", { describe: "Specific package to compile" });
2545
+ return packagePositionalParam(yargs2);
2446
2546
  },
2547
+ command: "compile-only [package]",
2548
+ describe: "Compile with Typescript & Copy Images (No Publint)",
2447
2549
  handler: (argv) => {
2448
2550
  if (argv.verbose) {
2449
2551
  console.log(`Compiling: ${argv.package ?? "all"}`);
@@ -2458,57 +2560,51 @@ var compileOnlyCommand = {
2458
2560
  });
2459
2561
  }
2460
2562
  };
2461
-
2462
- // src/xy/build/copyAssetsCommand.ts
2463
- var copyAssetsCommand = {
2464
- command: "copy-assets [package]",
2465
- describe: "Copy Assets - Copy the assets from src to dist",
2563
+ var recompileCommand = {
2466
2564
  builder: (yargs2) => {
2467
- return yargs2.positional("package", { describe: "Specific package to copy assets" });
2565
+ return packagePositionalParam(yargs2);
2468
2566
  },
2567
+ command: "recompile [package]",
2568
+ describe: "Re-compile with Typescript & Copy Images",
2469
2569
  handler: async (argv) => {
2470
- if (argv.verbose) console.log(`Copying Assets: ${argv.package ?? "all"}`);
2471
- process.exitCode = await copyAssets({ target: argv.target });
2570
+ if (argv.verbose) {
2571
+ console.log(`Re-compiling: ${argv.package ?? "all"}`);
2572
+ }
2573
+ process.exitCode = await recompile({
2574
+ incremental: !!argv.incremental,
2575
+ jobs: argv.jobs,
2576
+ pkg: argv.package,
2577
+ target: argv.target,
2578
+ verbose: !!argv.verbose
2579
+ });
2472
2580
  }
2473
2581
  };
2474
-
2475
- // src/xy/build/rebuildCommand.ts
2476
2582
  var rebuildCommand = {
2477
- command: "rebuild [package]",
2478
- describe: "Rebuild - Clean, Compile & Lint",
2479
2583
  builder: (yargs2) => {
2480
- return yargs2.positional("package", { describe: "Specific package to rebuild" });
2584
+ return packagePositionalParam(yargs2);
2481
2585
  },
2586
+ command: "rebuild [package]",
2587
+ describe: "Rebuild - Clean, Compile & Lint",
2482
2588
  handler: (argv) => {
2483
2589
  if (argv.verbose) console.log(`Rebuilding: ${argv.package ?? "all"}`);
2484
2590
  process.exitCode = rebuild({ target: argv.target });
2485
2591
  }
2486
2592
  };
2487
-
2488
- // src/xy/build/recompileCommand.ts
2489
- var recompileCommand = {
2490
- command: "recompile [package]",
2491
- describe: "Re-compile with Typescript & Copy Images",
2593
+ var copyAssetsCommand = {
2492
2594
  builder: (yargs2) => {
2493
- return yargs2.positional("package", { describe: "Specific package to re-compile" });
2595
+ return packagePositionalParam(yargs2);
2494
2596
  },
2597
+ command: "copy-assets [package]",
2598
+ describe: "Copy Assets - Copy the assets from src to dist",
2495
2599
  handler: async (argv) => {
2496
- if (argv.verbose) {
2497
- console.log(`Re-compiling: ${argv.package ?? "all"}`);
2498
- }
2499
- process.exitCode = await recompile({
2500
- incremental: !!argv.incremental,
2501
- jobs: argv.jobs,
2502
- pkg: argv.package,
2503
- target: argv.target,
2504
- verbose: !!argv.verbose
2505
- });
2600
+ if (argv.verbose) console.log(`Copying Assets: ${argv.package ?? "all"}`);
2601
+ process.exitCode = await copyAssets({ target: argv.target });
2506
2602
  }
2507
2603
  };
2508
2604
 
2509
- // src/xy/build/index.ts
2605
+ // src/xy/build-commands/index.ts
2510
2606
  var xyBuildCommands = (args) => {
2511
- return args.command(buildCommand).command(compileCommand).command(compileOnlyCommand).command(recompileCommand).command(rebuildCommand).command(copyAssetsCommand);
2607
+ return args.command(buildCommand).command(compileCommand).command(compileOnlyCommand).command(rebuildCommand).command(recompileCommand).command(copyAssetsCommand);
2512
2608
  };
2513
2609
 
2514
2610
  // src/xy/common/claude/commandsCommand.ts
@@ -2541,6 +2637,14 @@ var initCommand = {
2541
2637
  process.exitCode = commandsResult || rulesResult || settingsResult;
2542
2638
  }
2543
2639
  };
2640
+ var initClaudeSkillsCommand = {
2641
+ command: "init:skills",
2642
+ describe: "Initialize Claude skills configuration",
2643
+ handler: () => {
2644
+ const result = claudeSkills();
2645
+ process.exitCode = result;
2646
+ }
2647
+ };
2544
2648
 
2545
2649
  // src/xy/common/claude/rulesCommand.ts
2546
2650
  var rulesCommand = {
@@ -2573,7 +2677,7 @@ var settingsCommand = {
2573
2677
  // src/xy/common/claude/index.ts
2574
2678
  var claudeCommand = {
2575
2679
  builder: (yargs2) => {
2576
- return yargs2.command(commandsCommand).command(initCommand).command(rulesCommand).command(settingsCommand).demandCommand(1, "Please specify a claude subcommand");
2680
+ return yargs2.command(commandsCommand).command(initCommand).command(rulesCommand).command(settingsCommand).command(initClaudeSkillsCommand).demandCommand(1, "Please specify a claude subcommand");
2577
2681
  },
2578
2682
  command: "claude",
2579
2683
  describe: "Claude - Claude Code configuration utilities",
@@ -2591,11 +2695,6 @@ var cleanDocsCommand = {
2591
2695
  }
2592
2696
  };
2593
2697
 
2594
- // src/xy/param.ts
2595
- var packagePositionalParam = (yargs2) => {
2596
- return yargs2.positional("package", { describe: "Specific package to target", type: "string" });
2597
- };
2598
-
2599
2698
  // src/xy/common/deadCommand.ts
2600
2699
  var deadCommand = {
2601
2700
  builder: (yargs2) => {
@@ -2907,7 +3006,7 @@ var xyInstallCommands = (args) => {
2907
3006
  };
2908
3007
 
2909
3008
  // src/xy/lint/cycleCommand.ts
2910
- import chalk30 from "chalk";
3009
+ import chalk31 from "chalk";
2911
3010
  var cycleCommand = {
2912
3011
  command: "cycle [package]",
2913
3012
  describe: "Cycle - Check for dependency cycles",
@@ -2918,12 +3017,12 @@ var cycleCommand = {
2918
3017
  const start = Date.now();
2919
3018
  if (argv.verbose) console.log("Cycle");
2920
3019
  process.exitCode = await cycle({ pkg: argv.package });
2921
- console.log(chalk30.blue(`Finished in ${Date.now() - start}ms`));
3020
+ console.log(chalk31.blue(`Finished in ${Date.now() - start}ms`));
2922
3021
  }
2923
3022
  };
2924
3023
 
2925
3024
  // src/xy/lint/deplintCommand.ts
2926
- import chalk31 from "chalk";
3025
+ import chalk32 from "chalk";
2927
3026
  var deplintCommand = {
2928
3027
  command: "deplint [package]",
2929
3028
  describe: "Deplint - Run Deplint",
@@ -2961,12 +3060,12 @@ var deplintCommand = {
2961
3060
  peerDeps: !!argv.peerDeps,
2962
3061
  verbose: !!argv.verbose
2963
3062
  });
2964
- console.log(chalk31.blue(`Finished in ${Date.now() - start}ms`));
3063
+ console.log(chalk32.blue(`Finished in ${Date.now() - start}ms`));
2965
3064
  }
2966
3065
  };
2967
3066
 
2968
3067
  // src/xy/lint/fixCommand.ts
2969
- import chalk32 from "chalk";
3068
+ import chalk33 from "chalk";
2970
3069
  var fixCommand = {
2971
3070
  command: "fix [package]",
2972
3071
  describe: "Fix - Run Eslint w/fix",
@@ -2977,12 +3076,12 @@ var fixCommand = {
2977
3076
  const start = Date.now();
2978
3077
  if (argv.verbose) console.log("Fix");
2979
3078
  process.exitCode = fix();
2980
- console.log(chalk32.blue(`Finished in ${Date.now() - start}ms`));
3079
+ console.log(chalk33.blue(`Finished in ${Date.now() - start}ms`));
2981
3080
  }
2982
3081
  };
2983
3082
 
2984
3083
  // src/xy/lint/knipCommand.ts
2985
- import chalk33 from "chalk";
3084
+ import chalk34 from "chalk";
2986
3085
  var knipCommand = {
2987
3086
  command: "knip",
2988
3087
  describe: "Knip - Run Knip",
@@ -2993,12 +3092,12 @@ var knipCommand = {
2993
3092
  if (argv.verbose) console.log("Knip");
2994
3093
  const start = Date.now();
2995
3094
  process.exitCode = knip();
2996
- console.log(chalk33.blue(`Knip finished in ${Date.now() - start}ms`));
3095
+ console.log(chalk34.blue(`Knip finished in ${Date.now() - start}ms`));
2997
3096
  }
2998
3097
  };
2999
3098
 
3000
3099
  // src/xy/lint/lintCommand.ts
3001
- import chalk34 from "chalk";
3100
+ import chalk35 from "chalk";
3002
3101
  var lintCommand = {
3003
3102
  command: "lint [package]",
3004
3103
  describe: "Lint - Run Eslint",
@@ -3027,12 +3126,12 @@ var lintCommand = {
3027
3126
  cache: argv.cache,
3028
3127
  verbose: !!argv.verbose
3029
3128
  });
3030
- console.log(chalk34.blue(`Finished in ${Date.now() - start}ms`));
3129
+ console.log(chalk35.blue(`Finished in ${Date.now() - start}ms`));
3031
3130
  }
3032
3131
  };
3033
3132
 
3034
3133
  // src/xy/lint/publintCommand.ts
3035
- import chalk35 from "chalk";
3134
+ import chalk36 from "chalk";
3036
3135
  var publintCommand = {
3037
3136
  command: "publint [package]",
3038
3137
  describe: "Publint - Run Publint",
@@ -3043,12 +3142,12 @@ var publintCommand = {
3043
3142
  if (argv.verbose) console.log("Publint");
3044
3143
  const start = Date.now();
3045
3144
  process.exitCode = await publint({ pkg: argv.package, verbose: !!argv.verbose });
3046
- console.log(chalk35.blue(`Finished in ${Date.now() - start}ms`));
3145
+ console.log(chalk36.blue(`Finished in ${Date.now() - start}ms`));
3047
3146
  }
3048
3147
  };
3049
3148
 
3050
3149
  // src/xy/lint/relintCommand.ts
3051
- import chalk36 from "chalk";
3150
+ import chalk37 from "chalk";
3052
3151
  var relintCommand = {
3053
3152
  command: "relint [package]",
3054
3153
  describe: "Relint - Clean & Lint",
@@ -3059,12 +3158,12 @@ var relintCommand = {
3059
3158
  if (argv.verbose) console.log("Relinting");
3060
3159
  const start = Date.now();
3061
3160
  process.exitCode = relint();
3062
- console.log(chalk36.blue(`Finished in ${Date.now() - start}ms`));
3161
+ console.log(chalk37.blue(`Finished in ${Date.now() - start}ms`));
3063
3162
  }
3064
3163
  };
3065
3164
 
3066
3165
  // src/xy/lint/sonarCommand.ts
3067
- import chalk37 from "chalk";
3166
+ import chalk38 from "chalk";
3068
3167
  var sonarCommand = {
3069
3168
  command: "sonar",
3070
3169
  describe: "Sonar - Run Sonar Check",
@@ -3075,7 +3174,7 @@ var sonarCommand = {
3075
3174
  const start = Date.now();
3076
3175
  if (argv.verbose) console.log("Sonar Check");
3077
3176
  process.exitCode = sonar();
3078
- console.log(chalk37.blue(`Finished in ${Date.now() - start}ms`));
3177
+ console.log(chalk38.blue(`Finished in ${Date.now() - start}ms`));
3079
3178
  }
3080
3179
  };
3081
3180
 
@@ -3085,7 +3184,7 @@ var xyLintCommands = (args) => {
3085
3184
  };
3086
3185
 
3087
3186
  // src/xy/xy.ts
3088
- import chalk38 from "chalk";
3187
+ import chalk39 from "chalk";
3089
3188
 
3090
3189
  // src/xy/xyParseOptions.ts
3091
3190
  import yargs from "yargs";
@@ -3118,8 +3217,8 @@ var xyParseOptions = () => {
3118
3217
  var xy = async () => {
3119
3218
  const options = xyParseOptions();
3120
3219
  return await xyBuildCommands(xyCommonCommands(xyInstallCommands(xyDeployCommands(xyLintCommands(options))))).demandCommand(1).command("*", "", () => {
3121
- console.error(chalk38.yellow(`Command not found [${chalk38.magenta(process.argv[2])}]`));
3122
- console.log(chalk38.gray("Try 'yarn xy --help' for list of commands"));
3220
+ console.error(chalk39.yellow(`Command not found [${chalk39.magenta(process.argv[2])}]`));
3221
+ console.log(chalk39.gray("Try 'yarn xy --help' for list of commands"));
3123
3222
  }).version().help().argv;
3124
3223
  };
3125
3224
  export {