claudekit-cli 4.3.1-dev.8 → 4.3.1-dev.9

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.3.1-dev.8",
3
- "generatedAt": "2026-05-20T21:22:45.911Z",
2
+ "version": "4.3.1-dev.9",
3
+ "generatedAt": "2026-05-20T21:57:19.275Z",
4
4
  "commands": {
5
5
  "agents": {
6
6
  "name": "agents",
package/dist/index.js CHANGED
@@ -63357,7 +63357,7 @@ var package_default;
63357
63357
  var init_package = __esm(() => {
63358
63358
  package_default = {
63359
63359
  name: "claudekit-cli",
63360
- version: "4.3.1-dev.8",
63360
+ version: "4.3.1-dev.9",
63361
63361
  description: "CLI tool for bootstrapping and updating ClaudeKit projects",
63362
63362
  type: "module",
63363
63363
  repository: {
@@ -63854,6 +63854,17 @@ import { join as join64, resolve as resolve32 } from "node:path";
63854
63854
  function resolveDoctorCkExecutable(platformName = process.platform) {
63855
63855
  return platformName === "win32" ? "ck.cmd" : "ck";
63856
63856
  }
63857
+ function parseDoctorCliVersionOutput(output2) {
63858
+ if (!output2.trim()) {
63859
+ return null;
63860
+ }
63861
+ const labeledMatch = output2.match(/CLI Version:\s*v?(\d+\.\d+\.\d+(?:-[^\s]+)?)/);
63862
+ if (labeledMatch?.[1]) {
63863
+ return labeledMatch[1];
63864
+ }
63865
+ const bareMatch = output2.trim().match(/^v?(\d+\.\d+\.\d+(?:-[^\s]+)?)/);
63866
+ return bareMatch?.[1] ?? null;
63867
+ }
63857
63868
  function getHooksDir(projectDir) {
63858
63869
  const projectHooksDir = resolve32(projectDir, ".claude", "hooks");
63859
63870
  const globalHooksDir = resolve32(PathResolver.getGlobalKitDir(), "hooks");
@@ -64886,11 +64897,11 @@ async function checkCliVersion() {
64886
64897
  timeout: HOOK_CHECK_TIMEOUT_MS,
64887
64898
  encoding: "utf-8"
64888
64899
  });
64889
- let installedVersion = "unknown";
64900
+ let installedVersion = null;
64890
64901
  if (versionResult.status === 0 && versionResult.stdout) {
64891
- installedVersion = versionResult.stdout.trim();
64902
+ installedVersion = parseDoctorCliVersionOutput(versionResult.stdout);
64892
64903
  }
64893
- if (installedVersion === "unknown") {
64904
+ if (!installedVersion) {
64894
64905
  return {
64895
64906
  id: "cli-version",
64896
64907
  name: "CLI Version",
@@ -89565,13 +89576,7 @@ async function doctorCommand(options2 = {}) {
89565
89576
  if (!json && !report) {
89566
89577
  intro("ClaudeKit Health Check");
89567
89578
  }
89568
- const runner = new CheckRunner(runnerOptions);
89569
- runner.registerChecker(new SystemChecker);
89570
- runner.registerChecker(new ClaudekitChecker);
89571
- runner.registerChecker(new AuthChecker);
89572
- runner.registerChecker(new PlatformChecker);
89573
- runner.registerChecker(new NetworkChecker);
89574
- runner.registerChecker(new GitHubReachabilityChecker);
89579
+ const runner = createDoctorRunner(runnerOptions);
89575
89580
  const summary = await runner.run();
89576
89581
  if (json) {
89577
89582
  const generator = new ReportGenerator;
@@ -89590,21 +89595,31 @@ async function doctorCommand(options2 = {}) {
89590
89595
  return;
89591
89596
  }
89592
89597
  const renderer = new DoctorUIRenderer({ verbose: runnerOptions.verbose });
89593
- renderer.renderResults(summary);
89594
89598
  if (fix) {
89595
89599
  const healer = new AutoHealer;
89596
89600
  try {
89597
89601
  const healSummary = await healer.healAll(summary.checks);
89598
89602
  renderer.renderHealingSummary(healSummary);
89599
- if (healSummary.failed === 0 && healSummary.succeeded > 0) {
89600
- outro("All fixable issues resolved!");
89601
- return;
89603
+ const finalSummary = healSummary.succeeded > 0 ? await createDoctorRunner(runnerOptions).run() : summary;
89604
+ renderer.renderResults(finalSummary);
89605
+ if (checkOnly && finalSummary.failed > 0) {
89606
+ process.exitCode = 1;
89602
89607
  }
89608
+ if (healSummary.failed > 0) {
89609
+ process.exitCode = 1;
89610
+ outro(`${healSummary.failed} auto-fix attempt(s) failed`);
89611
+ } else if (finalSummary.failed === 0) {
89612
+ outro(healSummary.succeeded > 0 ? "All fixable issues resolved!" : "All checks passed!");
89613
+ } else {
89614
+ outro(`${finalSummary.failed} issue(s) remain after auto-heal`);
89615
+ }
89616
+ return;
89603
89617
  } catch (error) {
89604
89618
  logger.error(`Auto-fix failed: ${error instanceof Error ? error.message : "Unknown error"}`);
89605
89619
  process.exitCode = 1;
89606
89620
  }
89607
89621
  }
89622
+ renderer.renderResults(summary);
89608
89623
  if (checkOnly && summary.failed > 0) {
89609
89624
  process.exitCode = 1;
89610
89625
  }
@@ -89628,6 +89643,16 @@ async function doctorCommand(options2 = {}) {
89628
89643
  outro(`${summary.failed} issue(s) found`);
89629
89644
  }
89630
89645
  }
89646
+ function createDoctorRunner(options2) {
89647
+ const runner = new CheckRunner(options2);
89648
+ runner.registerChecker(new SystemChecker);
89649
+ runner.registerChecker(new ClaudekitChecker);
89650
+ runner.registerChecker(new AuthChecker);
89651
+ runner.registerChecker(new PlatformChecker);
89652
+ runner.registerChecker(new NetworkChecker);
89653
+ runner.registerChecker(new GitHubReachabilityChecker);
89654
+ return runner;
89655
+ }
89631
89656
 
89632
89657
  // src/commands/easter-egg.ts
89633
89658
  init_logger();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudekit-cli",
3
- "version": "4.3.1-dev.8",
3
+ "version": "4.3.1-dev.9",
4
4
  "description": "CLI tool for bootstrapping and updating ClaudeKit projects",
5
5
  "type": "module",
6
6
  "repository": {