claudekit-cli 4.2.2 → 4.2.3

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/cli-manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "4.2.2",
3
- "generatedAt": "2026-05-12T17:36:03.454Z",
2
+ "version": "4.2.3",
3
+ "generatedAt": "2026-05-12T19:34:12.422Z",
4
4
  "commands": {
5
5
  "agents": {
6
6
  "name": "agents",
package/dist/index.js CHANGED
@@ -62962,7 +62962,7 @@ var package_default;
62962
62962
  var init_package = __esm(() => {
62963
62963
  package_default = {
62964
62964
  name: "claudekit-cli",
62965
- version: "4.2.2",
62965
+ version: "4.2.3",
62966
62966
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
62967
62967
  type: "module",
62968
62968
  repository: {
@@ -85262,12 +85262,13 @@ async function applyBudgetDefaults(settingsPath, projectClaudeDir, requiredFract
85262
85262
  var ENGINEER_SKILL_COUNT_THRESHOLD = 20;
85263
85263
  async function checkSkillBudget(setup, projectDir) {
85264
85264
  const projectClaudeDir = resolve31(projectDir, ".claude");
85265
- const globalClaudeDir = PathResolver.getGlobalKitDir();
85265
+ const globalClaudeDir = resolve31(PathResolver.getGlobalKitDir());
85266
+ const projectScopeAliasesGlobal = projectClaudeDir === globalClaudeDir;
85266
85267
  const [projectSkills, globalSkills] = await Promise.all([
85267
- scanSkills2(join75(projectClaudeDir, "skills")),
85268
+ projectScopeAliasesGlobal ? Promise.resolve([]) : scanSkills2(join75(projectClaudeDir, "skills")),
85268
85269
  scanSkills2(join75(globalClaudeDir, "skills"))
85269
85270
  ]);
85270
- if (!isEngineerLikeProject(setup, projectSkills))
85271
+ if (!isEngineerLikeProject(setup, [...projectSkills, ...globalSkills]))
85271
85272
  return [];
85272
85273
  const settingsPath = join75(projectClaudeDir, "settings.json");
85273
85274
  const settings = await readProjectSettings(settingsPath);
@@ -85288,7 +85289,10 @@ function isEngineerLikeProject(setup, projectSkills) {
85288
85289
  const metadataText = [
85289
85290
  setup.project.metadata?.name,
85290
85291
  setup.project.metadata?.description,
85291
- setup.project.metadata?.repository?.url
85292
+ setup.project.metadata?.repository?.url,
85293
+ setup.global.metadata?.name,
85294
+ setup.global.metadata?.description,
85295
+ setup.global.metadata?.repository?.url
85292
85296
  ].filter(Boolean).join(" ").toLowerCase();
85293
85297
  return metadataText.includes("engineer") || projectSkills.length >= ENGINEER_SKILL_COUNT_THRESHOLD;
85294
85298
  }
@@ -111538,7 +111542,7 @@ import { readFile as readFile65 } from "node:fs/promises";
111538
111542
  import { join as join149 } from "node:path";
111539
111543
 
111540
111544
  // src/commands/skills/installed-skills-inventory.ts
111541
- import { join as join148 } from "node:path";
111545
+ import { join as join148, resolve as resolve53 } from "node:path";
111542
111546
  init_path_resolver();
111543
111547
  var SCOPE_SORT_ORDER = {
111544
111548
  project: 0,
@@ -111546,9 +111550,11 @@ var SCOPE_SORT_ORDER = {
111546
111550
  };
111547
111551
  async function getActiveClaudeSkillInstallations(options2 = {}) {
111548
111552
  const projectDir = options2.projectDir ?? process.cwd();
111549
- const globalDir = options2.globalDir ?? PathResolver.getGlobalKitDir();
111553
+ const globalDir = resolve53(options2.globalDir ?? PathResolver.getGlobalKitDir());
111554
+ const projectClaudeDir = resolve53(projectDir, ".claude");
111555
+ const projectScopeAliasesGlobal = projectClaudeDir === globalDir;
111550
111556
  const [projectSkills, globalSkills] = await Promise.all([
111551
- scanSkills2(join148(projectDir, ".claude", "skills")),
111557
+ projectScopeAliasesGlobal ? Promise.resolve([]) : scanSkills2(join148(projectClaudeDir, "skills")),
111552
111558
  scanSkills2(join148(globalDir, "skills"))
111553
111559
  ]);
111554
111560
  const projectIds = new Set(projectSkills.map((skill) => skill.id));
@@ -112292,7 +112298,7 @@ async function detectInstallations() {
112292
112298
 
112293
112299
  // src/commands/uninstall/removal-handler.ts
112294
112300
  import { readdirSync as readdirSync10, rmSync as rmSync5 } from "node:fs";
112295
- import { basename as basename30, join as join151, resolve as resolve53, sep as sep13 } from "node:path";
112301
+ import { basename as basename30, join as join151, resolve as resolve54, sep as sep13 } from "node:path";
112296
112302
  init_logger();
112297
112303
  init_safe_prompts();
112298
112304
  init_safe_spinner();
@@ -112476,8 +112482,8 @@ async function restoreUninstallBackup(backup) {
112476
112482
  }
112477
112483
  async function isPathSafeToRemove(filePath, baseDir) {
112478
112484
  try {
112479
- const resolvedPath = resolve53(filePath);
112480
- const resolvedBase = resolve53(baseDir);
112485
+ const resolvedPath = resolve54(filePath);
112486
+ const resolvedBase = resolve54(baseDir);
112481
112487
  if (!resolvedPath.startsWith(resolvedBase + sep13) && resolvedPath !== resolvedBase) {
112482
112488
  logger.debug(`Path outside installation directory: ${filePath}`);
112483
112489
  return false;
@@ -112485,7 +112491,7 @@ async function isPathSafeToRemove(filePath, baseDir) {
112485
112491
  const stats = await import_fs_extra41.lstat(filePath);
112486
112492
  if (stats.isSymbolicLink()) {
112487
112493
  const realPath = await import_fs_extra41.realpath(filePath);
112488
- const resolvedReal = resolve53(realPath);
112494
+ const resolvedReal = resolve54(realPath);
112489
112495
  if (!resolvedReal.startsWith(resolvedBase + sep13) && resolvedReal !== resolvedBase) {
112490
112496
  logger.debug(`Symlink points outside installation directory: ${filePath} -> ${realPath}`);
112491
112497
  return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudekit-cli",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "CLI tool for bootstrapping and updating ClaudeKit projects",
5
5
  "type": "module",
6
6
  "repository": {