claudekit-cli 3.6.0 → 3.6.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.
Files changed (2) hide show
  1. package/dist/index.js +45 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -14925,7 +14925,7 @@ var cac = (name = "") => new CAC(name);
14925
14925
  // package.json
14926
14926
  var package_default = {
14927
14927
  name: "claudekit-cli",
14928
- version: "3.6.0",
14928
+ version: "3.6.2",
14929
14929
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
14930
14930
  type: "module",
14931
14931
  repository: {
@@ -15903,6 +15903,16 @@ class PathResolver {
15903
15903
  }
15904
15904
 
15905
15905
  // src/utils/claudekit-scanner.ts
15906
+ var SKIP_DIRS = [
15907
+ "debug",
15908
+ "projects",
15909
+ "shell-snapshots",
15910
+ "file-history",
15911
+ "todos",
15912
+ "session-env",
15913
+ "statsig",
15914
+ ".anthropic"
15915
+ ];
15906
15916
  async function scanClaudeKitDirectory(directoryPath) {
15907
15917
  const counts = {
15908
15918
  agents: 0,
@@ -15935,6 +15945,9 @@ async function scanClaudeKitDirectory(directoryPath) {
15935
15945
  const skillItems = await import_fs_extra.readdir(skillsPath);
15936
15946
  let skillCount = 0;
15937
15947
  for (const item of skillItems) {
15948
+ if (SKIP_DIRS.includes(item)) {
15949
+ continue;
15950
+ }
15938
15951
  const itemPath = join2(skillsPath, item);
15939
15952
  const stat = await import_fs_extra.readdir(itemPath).catch(() => null);
15940
15953
  if (stat?.includes("SKILL.md")) {
@@ -16634,6 +16647,7 @@ Note: Do NOT use 'Paste an authentication token' - use web browser login.`);
16634
16647
  if (token && token.length > 0) {
16635
16648
  return token;
16636
16649
  }
16650
+ logger.debug("gh auth token returned empty result");
16637
16651
  return null;
16638
16652
  } catch (error) {
16639
16653
  if (error?.stderr) {
@@ -31549,7 +31563,7 @@ init_environment();
31549
31563
  init_logger();
31550
31564
  var import_fs_extra16 = __toESM(require_lib(), 1);
31551
31565
  import { join as join27, relative as relative8, resolve as resolve3 } from "node:path";
31552
- var SKIP_DIRS = [
31566
+ var SKIP_DIRS2 = [
31553
31567
  "node_modules",
31554
31568
  ".venv",
31555
31569
  "venv",
@@ -31558,7 +31572,15 @@ var SKIP_DIRS = [
31558
31572
  ".git",
31559
31573
  ".svn",
31560
31574
  "dist",
31561
- "build"
31575
+ "build",
31576
+ "debug",
31577
+ "projects",
31578
+ "shell-snapshots",
31579
+ "file-history",
31580
+ "todos",
31581
+ "session-env",
31582
+ "statsig",
31583
+ ".anthropic"
31562
31584
  ];
31563
31585
 
31564
31586
  class FileScanner {
@@ -31571,7 +31593,7 @@ class FileScanner {
31571
31593
  try {
31572
31594
  const entries = await import_fs_extra16.readdir(dirPath, { encoding: "utf8" });
31573
31595
  for (const entry of entries) {
31574
- if (SKIP_DIRS.includes(entry)) {
31596
+ if (SKIP_DIRS2.includes(entry)) {
31575
31597
  logger.debug(`Skipping directory: ${entry}`);
31576
31598
  continue;
31577
31599
  }
@@ -31612,12 +31634,25 @@ class FileScanner {
31612
31634
  static async findCustomFiles(destDir, sourceDir, subPath) {
31613
31635
  const destSubDir = join27(destDir, subPath);
31614
31636
  const sourceSubDir = join27(sourceDir, subPath);
31637
+ logger.debug(`findCustomFiles - destDir: ${destDir}`);
31638
+ logger.debug(`findCustomFiles - sourceDir: ${sourceDir}`);
31639
+ logger.debug(`findCustomFiles - subPath: "${subPath}"`);
31640
+ logger.debug(`findCustomFiles - destSubDir: ${destSubDir}`);
31641
+ logger.debug(`findCustomFiles - sourceSubDir: ${sourceSubDir}`);
31615
31642
  const destFiles = await FileScanner.getFiles(destSubDir, destDir);
31616
31643
  const sourceFiles = await FileScanner.getFiles(sourceSubDir, sourceDir);
31644
+ logger.debug(`findCustomFiles - destFiles count: ${destFiles.length}`);
31645
+ logger.debug(`findCustomFiles - sourceFiles count: ${sourceFiles.length}`);
31646
+ const sourceExists = await import_fs_extra16.pathExists(sourceSubDir);
31647
+ if (sourceExists && sourceFiles.length === 0 && destFiles.length > 100) {
31648
+ logger.warning(`Source directory exists but is empty while destination has ${destFiles.length} files. This may indicate an extraction issue. Skipping custom file detection.`);
31649
+ return [];
31650
+ }
31617
31651
  const sourceFileSet = new Set(sourceFiles);
31618
31652
  const customFiles = destFiles.filter((file) => !sourceFileSet.has(file));
31619
31653
  if (customFiles.length > 0) {
31620
- logger.info(`Found ${customFiles.length} custom file(s) in ${subPath}/`);
31654
+ const displayPath = subPath || destSubDir;
31655
+ logger.info(`Found ${customFiles.length} custom file(s) in ${displayPath}`);
31621
31656
  customFiles.slice(0, 5).forEach((file) => logger.debug(` - ${file}`));
31622
31657
  if (customFiles.length > 5) {
31623
31658
  logger.debug(` ... and ${customFiles.length - 5} more`);
@@ -31652,8 +31687,11 @@ async function initCommand(options) {
31652
31687
  logger.info("Running in non-interactive mode (--yes flag)");
31653
31688
  }
31654
31689
  if (validOptions.global) {
31690
+ const globalKitDir = PathResolver.getGlobalKitDir();
31691
+ const cwdResolved = resolve4(process.cwd());
31692
+ const isInGlobalDir = cwdResolved === globalKitDir || cwdResolved === resolve4(globalKitDir, "..");
31655
31693
  const localSettingsPath = join28(process.cwd(), ".claude", "settings.json");
31656
- if (await import_fs_extra17.pathExists(localSettingsPath)) {
31694
+ if (!isInGlobalDir && await import_fs_extra17.pathExists(localSettingsPath)) {
31657
31695
  if (isNonInteractive2) {
31658
31696
  logger.warning("Local .claude/settings.json detected. Local settings take precedence over global.");
31659
31697
  logger.warning("Consider removing local installation: rm -rf .claude");
@@ -32506,7 +32544,7 @@ import { promisify as promisify6 } from "node:util";
32506
32544
  // package.json
32507
32545
  var package_default2 = {
32508
32546
  name: "claudekit-cli",
32509
- version: "3.6.0",
32547
+ version: "3.6.2",
32510
32548
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
32511
32549
  type: "module",
32512
32550
  repository: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudekit-cli",
3
- "version": "3.6.0",
3
+ "version": "3.6.2",
4
4
  "description": "CLI tool for bootstrapping and updating ClaudeKit projects",
5
5
  "type": "module",
6
6
  "repository": {