claudekit-cli 3.11.1 → 3.12.0
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/dist/index.js +189 -128
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13922,25 +13922,25 @@ class OwnershipDisplay {
|
|
|
13922
13922
|
static formatOwnership(ownership) {
|
|
13923
13923
|
switch (ownership) {
|
|
13924
13924
|
case "ck":
|
|
13925
|
-
return
|
|
13925
|
+
return import_picocolors13.default.blue("CK-owned");
|
|
13926
13926
|
case "user":
|
|
13927
|
-
return
|
|
13927
|
+
return import_picocolors13.default.green("User-created");
|
|
13928
13928
|
case "ck-modified":
|
|
13929
|
-
return
|
|
13929
|
+
return import_picocolors13.default.yellow("CK-modified");
|
|
13930
13930
|
default:
|
|
13931
|
-
return
|
|
13931
|
+
return import_picocolors13.default.gray("Unknown");
|
|
13932
13932
|
}
|
|
13933
13933
|
}
|
|
13934
13934
|
static formatAction(action) {
|
|
13935
13935
|
switch (action) {
|
|
13936
13936
|
case "delete":
|
|
13937
|
-
return
|
|
13937
|
+
return import_picocolors13.default.red("✖ DELETE");
|
|
13938
13938
|
case "preserve":
|
|
13939
|
-
return
|
|
13939
|
+
return import_picocolors13.default.green("✓ PRESERVE");
|
|
13940
13940
|
case "skip":
|
|
13941
|
-
return
|
|
13941
|
+
return import_picocolors13.default.gray("○ SKIP");
|
|
13942
13942
|
default:
|
|
13943
|
-
return
|
|
13943
|
+
return import_picocolors13.default.gray("? UNKNOWN");
|
|
13944
13944
|
}
|
|
13945
13945
|
}
|
|
13946
13946
|
static calculateSummary(results) {
|
|
@@ -13974,78 +13974,78 @@ class OwnershipDisplay {
|
|
|
13974
13974
|
}
|
|
13975
13975
|
static displaySummary(summary, title = "Ownership Summary") {
|
|
13976
13976
|
const lines = [
|
|
13977
|
-
`Total files: ${
|
|
13977
|
+
`Total files: ${import_picocolors13.default.bold(String(summary.totalFiles))}`,
|
|
13978
13978
|
"",
|
|
13979
13979
|
"By ownership:",
|
|
13980
|
-
` ${
|
|
13981
|
-
` ${
|
|
13982
|
-
` ${
|
|
13980
|
+
` ${import_picocolors13.default.blue("●")} CK-owned: ${summary.ckOwned}`,
|
|
13981
|
+
` ${import_picocolors13.default.green("●")} User-created: ${summary.userCreated}`,
|
|
13982
|
+
` ${import_picocolors13.default.yellow("●")} CK-modified: ${summary.ckModified}`,
|
|
13983
13983
|
"",
|
|
13984
13984
|
"Actions:",
|
|
13985
|
-
` ${
|
|
13986
|
-
` ${
|
|
13985
|
+
` ${import_picocolors13.default.red("✖")} To delete: ${summary.toDelete}`,
|
|
13986
|
+
` ${import_picocolors13.default.green("✓")} To preserve: ${summary.toPreserve}`
|
|
13987
13987
|
];
|
|
13988
13988
|
le(lines.join(`
|
|
13989
13989
|
`), title);
|
|
13990
13990
|
}
|
|
13991
13991
|
static displayOperationPreview(results, maxItems = 10) {
|
|
13992
13992
|
const summary = OwnershipDisplay.calculateSummary(results);
|
|
13993
|
-
f2.info(
|
|
13993
|
+
f2.info(import_picocolors13.default.bold("DRY RUN - Preview of changes:"));
|
|
13994
13994
|
console.log("");
|
|
13995
13995
|
const toDelete = results.filter((r2) => r2.action === "delete");
|
|
13996
13996
|
const toPreserve = results.filter((r2) => r2.action === "preserve");
|
|
13997
13997
|
if (toDelete.length > 0) {
|
|
13998
|
-
console.log(
|
|
13998
|
+
console.log(import_picocolors13.default.red(import_picocolors13.default.bold(`Files to DELETE (${toDelete.length}):`)));
|
|
13999
13999
|
const showDelete = toDelete.slice(0, maxItems);
|
|
14000
14000
|
for (const result of showDelete) {
|
|
14001
|
-
console.log(` ${
|
|
14001
|
+
console.log(` ${import_picocolors13.default.red("✖")} ${result.path}`);
|
|
14002
14002
|
}
|
|
14003
14003
|
if (toDelete.length > maxItems) {
|
|
14004
|
-
console.log(
|
|
14004
|
+
console.log(import_picocolors13.default.gray(` ... and ${toDelete.length - maxItems} more`));
|
|
14005
14005
|
}
|
|
14006
14006
|
console.log("");
|
|
14007
14007
|
}
|
|
14008
14008
|
if (toPreserve.length > 0) {
|
|
14009
|
-
console.log(
|
|
14009
|
+
console.log(import_picocolors13.default.green(import_picocolors13.default.bold(`Files to PRESERVE (${toPreserve.length}):`)));
|
|
14010
14010
|
const showPreserve = toPreserve.slice(0, maxItems);
|
|
14011
14011
|
for (const result of showPreserve) {
|
|
14012
|
-
const reason = result.reason ?
|
|
14013
|
-
console.log(` ${
|
|
14012
|
+
const reason = result.reason ? import_picocolors13.default.gray(` (${result.reason})`) : "";
|
|
14013
|
+
console.log(` ${import_picocolors13.default.green("✓")} ${result.path}${reason}`);
|
|
14014
14014
|
}
|
|
14015
14015
|
if (toPreserve.length > maxItems) {
|
|
14016
|
-
console.log(
|
|
14016
|
+
console.log(import_picocolors13.default.gray(` ... and ${toPreserve.length - maxItems} more`));
|
|
14017
14017
|
}
|
|
14018
14018
|
console.log("");
|
|
14019
14019
|
}
|
|
14020
14020
|
OwnershipDisplay.displaySummary(summary, "Preview Summary");
|
|
14021
|
-
f2.warn(
|
|
14021
|
+
f2.warn(import_picocolors13.default.yellow("No changes were made. Run without --dry-run to apply changes."));
|
|
14022
14022
|
}
|
|
14023
14023
|
static displayFile(path9, ownership, action, reason) {
|
|
14024
14024
|
const ownershipStr = OwnershipDisplay.formatOwnership(ownership);
|
|
14025
14025
|
const actionStr = OwnershipDisplay.formatAction(action);
|
|
14026
|
-
const reasonStr = reason ?
|
|
14026
|
+
const reasonStr = reason ? import_picocolors13.default.gray(` - ${reason}`) : "";
|
|
14027
14027
|
console.log(` ${actionStr} ${path9} [${ownershipStr}]${reasonStr}`);
|
|
14028
14028
|
}
|
|
14029
14029
|
static displayForceWarning() {
|
|
14030
|
-
f2.warn(`${
|
|
14031
|
-
${
|
|
14032
|
-
${
|
|
14030
|
+
f2.warn(`${import_picocolors13.default.yellow(import_picocolors13.default.bold("FORCE MODE ENABLED"))}
|
|
14031
|
+
${import_picocolors13.default.yellow("User modifications will be overwritten!")}
|
|
14032
|
+
${import_picocolors13.default.gray("Use --dry-run first to preview changes.")}`);
|
|
14033
14033
|
}
|
|
14034
14034
|
static displayLegacyWarning() {
|
|
14035
|
-
f2.warn(`${
|
|
14036
|
-
${
|
|
14037
|
-
${
|
|
14035
|
+
f2.warn(`${import_picocolors13.default.yellow(import_picocolors13.default.bold("Legacy Installation Detected"))}
|
|
14036
|
+
${import_picocolors13.default.yellow("No ownership metadata found.")}
|
|
14037
|
+
${import_picocolors13.default.gray("Running migration to enable ownership tracking...")}`);
|
|
14038
14038
|
}
|
|
14039
14039
|
static displayCompletionSummary(deleted, preserved) {
|
|
14040
|
-
const message = `${
|
|
14041
|
-
${
|
|
14040
|
+
const message = `${import_picocolors13.default.green(`✓ Deleted ${deleted} CK-owned file(s)`)}
|
|
14041
|
+
${import_picocolors13.default.blue(`✓ Preserved ${preserved} user/modified file(s)`)}`;
|
|
14042
14042
|
f2.success(message);
|
|
14043
14043
|
}
|
|
14044
14044
|
}
|
|
14045
|
-
var
|
|
14045
|
+
var import_picocolors13;
|
|
14046
14046
|
var init_ownership_display = __esm(() => {
|
|
14047
14047
|
init_dist2();
|
|
14048
|
-
|
|
14048
|
+
import_picocolors13 = __toESM(require_picocolors(), 1);
|
|
14049
14049
|
});
|
|
14050
14050
|
|
|
14051
14051
|
// src/domains/help/help-commands.ts
|
|
@@ -14480,22 +14480,22 @@ function padEnd(text, width) {
|
|
|
14480
14480
|
const padding = Math.max(0, width - visibleLength);
|
|
14481
14481
|
return text + " ".repeat(padding);
|
|
14482
14482
|
}
|
|
14483
|
-
var
|
|
14483
|
+
var import_picocolors19, NO_COLOR, isColorSupported, identity = (text) => text, colors, defaultTheme;
|
|
14484
14484
|
var init_help_colors = __esm(() => {
|
|
14485
|
-
|
|
14485
|
+
import_picocolors19 = __toESM(require_picocolors(), 1);
|
|
14486
14486
|
NO_COLOR = process.env.NO_COLOR !== undefined;
|
|
14487
14487
|
isColorSupported = !NO_COLOR && Boolean(process.stdout.isTTY);
|
|
14488
14488
|
colors = {
|
|
14489
|
-
banner: isColorSupported ?
|
|
14490
|
-
command: isColorSupported ?
|
|
14491
|
-
heading: isColorSupported ?
|
|
14492
|
-
flag: isColorSupported ?
|
|
14493
|
-
description: isColorSupported ?
|
|
14494
|
-
example: isColorSupported ?
|
|
14495
|
-
warning: isColorSupported ?
|
|
14496
|
-
error: isColorSupported ?
|
|
14497
|
-
muted: isColorSupported ?
|
|
14498
|
-
success: isColorSupported ?
|
|
14489
|
+
banner: isColorSupported ? import_picocolors19.default.cyan : identity,
|
|
14490
|
+
command: isColorSupported ? import_picocolors19.default.bold : identity,
|
|
14491
|
+
heading: isColorSupported ? import_picocolors19.default.yellow : identity,
|
|
14492
|
+
flag: isColorSupported ? import_picocolors19.default.green : identity,
|
|
14493
|
+
description: isColorSupported ? import_picocolors19.default.gray : identity,
|
|
14494
|
+
example: isColorSupported ? import_picocolors19.default.blue : identity,
|
|
14495
|
+
warning: isColorSupported ? import_picocolors19.default.yellow : identity,
|
|
14496
|
+
error: isColorSupported ? import_picocolors19.default.red : identity,
|
|
14497
|
+
muted: isColorSupported ? import_picocolors19.default.dim : identity,
|
|
14498
|
+
success: isColorSupported ? import_picocolors19.default.green : identity
|
|
14499
14499
|
};
|
|
14500
14500
|
defaultTheme = {
|
|
14501
14501
|
banner: colors.banner,
|
|
@@ -15466,7 +15466,7 @@ var cac = (name = "") => new CAC(name);
|
|
|
15466
15466
|
// package.json
|
|
15467
15467
|
var package_default = {
|
|
15468
15468
|
name: "claudekit-cli",
|
|
15469
|
-
version: "3.
|
|
15469
|
+
version: "3.12.0",
|
|
15470
15470
|
description: "CLI tool for bootstrapping and updating ClaudeKit projects",
|
|
15471
15471
|
type: "module",
|
|
15472
15472
|
repository: {
|
|
@@ -19412,6 +19412,64 @@ async function doctorCommand(options = {}) {
|
|
|
19412
19412
|
}
|
|
19413
19413
|
}
|
|
19414
19414
|
|
|
19415
|
+
// src/commands/easter-egg.ts
|
|
19416
|
+
init_logger();
|
|
19417
|
+
var import_picocolors8 = __toESM(require_picocolors(), 1);
|
|
19418
|
+
var API_URL = "https://claudekit.cc/api/egg";
|
|
19419
|
+
function getRarityColor(rarity) {
|
|
19420
|
+
switch (rarity) {
|
|
19421
|
+
case "Legendary":
|
|
19422
|
+
return import_picocolors8.default.magenta;
|
|
19423
|
+
case "Epic":
|
|
19424
|
+
return import_picocolors8.default.yellow;
|
|
19425
|
+
case "Rare":
|
|
19426
|
+
return import_picocolors8.default.blue;
|
|
19427
|
+
case "Uncommon":
|
|
19428
|
+
return import_picocolors8.default.green;
|
|
19429
|
+
default:
|
|
19430
|
+
return import_picocolors8.default.gray;
|
|
19431
|
+
}
|
|
19432
|
+
}
|
|
19433
|
+
async function easterEggCommand() {
|
|
19434
|
+
intro("\uD83E\uDD5A Code Hunt 2025 - Easter Egg");
|
|
19435
|
+
try {
|
|
19436
|
+
console.log(import_picocolors8.default.dim(`
|
|
19437
|
+
Rolling for a discount code...
|
|
19438
|
+
`));
|
|
19439
|
+
const response = await fetch(API_URL);
|
|
19440
|
+
if (!response.ok) {
|
|
19441
|
+
if (response.status === 429) {
|
|
19442
|
+
console.log(import_picocolors8.default.yellow(" \uD83D\uDC30 Slow down! The eggs aren't going anywhere."));
|
|
19443
|
+
console.log(import_picocolors8.default.dim(` Wait a minute and try again.
|
|
19444
|
+
`));
|
|
19445
|
+
outro("\uD83E\uDD5A Rate limited");
|
|
19446
|
+
return;
|
|
19447
|
+
}
|
|
19448
|
+
throw new Error(`API returned ${response.status}`);
|
|
19449
|
+
}
|
|
19450
|
+
const data = await response.json();
|
|
19451
|
+
const rarityColor = getRarityColor(data.rarity);
|
|
19452
|
+
console.log(` ✨ ${import_picocolors8.default.bold(data.message)}`);
|
|
19453
|
+
console.log();
|
|
19454
|
+
console.log(` ${import_picocolors8.default.bold("Code:")} ${import_picocolors8.default.green(import_picocolors8.default.bold(data.code))}`);
|
|
19455
|
+
console.log(` ${import_picocolors8.default.bold("Discount:")} ${import_picocolors8.default.cyan(data.discount)} off`);
|
|
19456
|
+
console.log(` ${import_picocolors8.default.bold("Rarity:")} ${rarityColor(data.rarity)}`);
|
|
19457
|
+
console.log(` ${import_picocolors8.default.bold("Hint:")} ${import_picocolors8.default.dim(data.hint)}`);
|
|
19458
|
+
console.log();
|
|
19459
|
+
console.log(` ${import_picocolors8.default.dim("Redeem at:")} ${import_picocolors8.default.underline(data.checkout)}`);
|
|
19460
|
+
console.log(` ${import_picocolors8.default.dim("Expires:")} ${data.expires.split("T")[0]}`);
|
|
19461
|
+
console.log();
|
|
19462
|
+
outro("\uD83C\uDF84 Happy Holidays from ClaudeKit!");
|
|
19463
|
+
} catch (error) {
|
|
19464
|
+
logger.error(error instanceof Error ? error.message : "Failed to fetch easter egg");
|
|
19465
|
+
console.log(import_picocolors8.default.red(`
|
|
19466
|
+
Failed to connect to the egg API.`));
|
|
19467
|
+
console.log(import_picocolors8.default.dim(` Make sure you have internet access.
|
|
19468
|
+
`));
|
|
19469
|
+
process.exit(1);
|
|
19470
|
+
}
|
|
19471
|
+
}
|
|
19472
|
+
|
|
19415
19473
|
// src/commands/init.ts
|
|
19416
19474
|
import { join as join32, resolve as resolve6 } from "node:path";
|
|
19417
19475
|
|
|
@@ -19590,7 +19648,7 @@ import { TextDecoder } from "node:util";
|
|
|
19590
19648
|
// src/shared/progress-bar.ts
|
|
19591
19649
|
init_output_manager();
|
|
19592
19650
|
init_terminal_utils();
|
|
19593
|
-
var
|
|
19651
|
+
var import_picocolors9 = __toESM(require_picocolors(), 1);
|
|
19594
19652
|
var BAR_CHARS = {
|
|
19595
19653
|
unicode: { filled: "█", empty: "░" },
|
|
19596
19654
|
ascii: { filled: "=", empty: "-" }
|
|
@@ -19648,7 +19706,7 @@ class ProgressBar {
|
|
|
19648
19706
|
this.clearLine();
|
|
19649
19707
|
if (message) {
|
|
19650
19708
|
const symbols = output.getSymbols();
|
|
19651
|
-
console.log(`${
|
|
19709
|
+
console.log(`${import_picocolors9.default.green(symbols.success)} ${message}`);
|
|
19652
19710
|
}
|
|
19653
19711
|
}
|
|
19654
19712
|
clearLine() {
|
|
@@ -21045,7 +21103,7 @@ function ora(options) {
|
|
|
21045
21103
|
|
|
21046
21104
|
// src/shared/safe-spinner.ts
|
|
21047
21105
|
init_output_manager();
|
|
21048
|
-
var
|
|
21106
|
+
var import_picocolors10 = __toESM(require_picocolors(), 1);
|
|
21049
21107
|
var ASCII_SPINNER = {
|
|
21050
21108
|
interval: 100,
|
|
21051
21109
|
frames: ["-", "\\", "|", "/"]
|
|
@@ -21072,7 +21130,7 @@ function createSpinner(options) {
|
|
|
21072
21130
|
return spinner;
|
|
21073
21131
|
}
|
|
21074
21132
|
spinner.stopAndPersist({
|
|
21075
|
-
symbol:
|
|
21133
|
+
symbol: import_picocolors10.default.green(symbols.success),
|
|
21076
21134
|
text: text || spinner.text
|
|
21077
21135
|
});
|
|
21078
21136
|
return spinner;
|
|
@@ -21084,7 +21142,7 @@ function createSpinner(options) {
|
|
|
21084
21142
|
return spinner;
|
|
21085
21143
|
}
|
|
21086
21144
|
spinner.stopAndPersist({
|
|
21087
|
-
symbol:
|
|
21145
|
+
symbol: import_picocolors10.default.red(symbols.error),
|
|
21088
21146
|
text: text || spinner.text
|
|
21089
21147
|
});
|
|
21090
21148
|
return spinner;
|
|
@@ -32545,36 +32603,36 @@ class SkillsMigrator {
|
|
|
32545
32603
|
// src/domains/versioning/version-selector.ts
|
|
32546
32604
|
init_logger();
|
|
32547
32605
|
init_dist2();
|
|
32548
|
-
var
|
|
32606
|
+
var import_picocolors12 = __toESM(require_picocolors(), 1);
|
|
32549
32607
|
|
|
32550
32608
|
// src/domains/versioning/version-display.ts
|
|
32551
|
-
var
|
|
32609
|
+
var import_picocolors11 = __toESM(require_picocolors(), 1);
|
|
32552
32610
|
|
|
32553
32611
|
class VersionDisplayFormatter {
|
|
32554
32612
|
static createBadges(release) {
|
|
32555
32613
|
const badges = [];
|
|
32556
32614
|
if (release.isLatestStable) {
|
|
32557
|
-
badges.push(
|
|
32615
|
+
badges.push(import_picocolors11.default.bold(import_picocolors11.default.yellow("[latest]")));
|
|
32558
32616
|
}
|
|
32559
32617
|
if (release.prerelease || release.isLatestBeta) {
|
|
32560
32618
|
if (release.isLatestBeta) {
|
|
32561
|
-
badges.push(
|
|
32619
|
+
badges.push(import_picocolors11.default.bold(import_picocolors11.default.magenta("[beta]")));
|
|
32562
32620
|
} else {
|
|
32563
|
-
badges.push(
|
|
32621
|
+
badges.push(import_picocolors11.default.magenta("[prerelease]"));
|
|
32564
32622
|
}
|
|
32565
32623
|
} else if (!release.draft) {
|
|
32566
|
-
badges.push(
|
|
32624
|
+
badges.push(import_picocolors11.default.blue("[stable]"));
|
|
32567
32625
|
}
|
|
32568
32626
|
if (release.draft) {
|
|
32569
|
-
badges.push(
|
|
32627
|
+
badges.push(import_picocolors11.default.gray("[draft]"));
|
|
32570
32628
|
}
|
|
32571
32629
|
return badges.length > 0 ? ` ${badges.join(" ")}` : "";
|
|
32572
32630
|
}
|
|
32573
32631
|
static formatChoiceLabel(release) {
|
|
32574
|
-
const version =
|
|
32632
|
+
const version = import_picocolors11.default.green(release.displayVersion);
|
|
32575
32633
|
const badges = VersionDisplayFormatter.createBadges(release);
|
|
32576
32634
|
const name2 = release.name || "Release";
|
|
32577
|
-
return `${version}${badges} ${
|
|
32635
|
+
return `${version}${badges} ${import_picocolors11.default.dim(name2)}`;
|
|
32578
32636
|
}
|
|
32579
32637
|
static formatChoiceHint(release) {
|
|
32580
32638
|
const parts = [];
|
|
@@ -32596,7 +32654,7 @@ class VersionDisplayFormatter {
|
|
|
32596
32654
|
if (latestStable) {
|
|
32597
32655
|
options.push({
|
|
32598
32656
|
value: latestStable.tag_name,
|
|
32599
|
-
label: `${
|
|
32657
|
+
label: `${import_picocolors11.default.bold(import_picocolors11.default.green("Latest Stable"))} (${latestStable.displayVersion})`,
|
|
32600
32658
|
hint: "recommended version",
|
|
32601
32659
|
isLatest: true,
|
|
32602
32660
|
isPrerelease: false
|
|
@@ -32606,7 +32664,7 @@ class VersionDisplayFormatter {
|
|
|
32606
32664
|
if (latestBeta) {
|
|
32607
32665
|
options.push({
|
|
32608
32666
|
value: latestBeta.tag_name,
|
|
32609
|
-
label: `${
|
|
32667
|
+
label: `${import_picocolors11.default.bold(import_picocolors11.default.magenta("Latest Beta"))} (${latestBeta.displayVersion})`,
|
|
32610
32668
|
hint: "latest features, may be unstable",
|
|
32611
32669
|
isLatest: false,
|
|
32612
32670
|
isPrerelease: true
|
|
@@ -32617,7 +32675,7 @@ class VersionDisplayFormatter {
|
|
|
32617
32675
|
static createSeparator() {
|
|
32618
32676
|
return {
|
|
32619
32677
|
value: "separator",
|
|
32620
|
-
label:
|
|
32678
|
+
label: import_picocolors11.default.dim("─".repeat(50)),
|
|
32621
32679
|
hint: undefined,
|
|
32622
32680
|
isLatest: false,
|
|
32623
32681
|
isPrerelease: false
|
|
@@ -32626,7 +32684,7 @@ class VersionDisplayFormatter {
|
|
|
32626
32684
|
static createCancelOption() {
|
|
32627
32685
|
return {
|
|
32628
32686
|
value: "cancel",
|
|
32629
|
-
label:
|
|
32687
|
+
label: import_picocolors11.default.red("Cancel"),
|
|
32630
32688
|
hint: "exit version selection",
|
|
32631
32689
|
isLatest: false,
|
|
32632
32690
|
isPrerelease: false
|
|
@@ -32678,15 +32736,15 @@ class VersionDisplayFormatter {
|
|
|
32678
32736
|
return value !== "separator" && value !== "cancel" && value.trim().length > 0;
|
|
32679
32737
|
}
|
|
32680
32738
|
static formatError(message, suggestion) {
|
|
32681
|
-
let output2 =
|
|
32739
|
+
let output2 = import_picocolors11.default.red(`Error: ${message}`);
|
|
32682
32740
|
if (suggestion) {
|
|
32683
32741
|
output2 += `
|
|
32684
|
-
${
|
|
32742
|
+
${import_picocolors11.default.dim(suggestion)}`;
|
|
32685
32743
|
}
|
|
32686
32744
|
return output2;
|
|
32687
32745
|
}
|
|
32688
32746
|
static formatSuccess(version, kitName) {
|
|
32689
|
-
return `${
|
|
32747
|
+
return `${import_picocolors11.default.green("✓")} Selected ${import_picocolors11.default.bold(version)} for ${import_picocolors11.default.bold(kitName)}`;
|
|
32690
32748
|
}
|
|
32691
32749
|
}
|
|
32692
32750
|
|
|
@@ -32710,7 +32768,7 @@ class VersionSelector {
|
|
|
32710
32768
|
} = options;
|
|
32711
32769
|
try {
|
|
32712
32770
|
const loadingSpinner = de();
|
|
32713
|
-
loadingSpinner.start(`Fetching versions for ${
|
|
32771
|
+
loadingSpinner.start(`Fetching versions for ${import_picocolors12.default.bold(kit.name)}...`);
|
|
32714
32772
|
const releases = await this.githubClient.listReleasesWithCache(kit, {
|
|
32715
32773
|
limit: limit * 2,
|
|
32716
32774
|
includePrereleases,
|
|
@@ -32733,7 +32791,7 @@ class VersionSelector {
|
|
|
32733
32791
|
This could be due to:
|
|
32734
32792
|
• No releases published yet
|
|
32735
32793
|
• Network connectivity issues
|
|
32736
|
-
• Repository access permissions`,
|
|
32794
|
+
• Repository access permissions`, import_picocolors12.default.yellow("No Releases Available"));
|
|
32737
32795
|
if (!allowManualEntry) {
|
|
32738
32796
|
throw new Error(`No releases available for ${kit.name}`);
|
|
32739
32797
|
}
|
|
@@ -32771,34 +32829,34 @@ This could be due to:
|
|
|
32771
32829
|
if (latestStable) {
|
|
32772
32830
|
clackChoices.push({
|
|
32773
32831
|
value: latestStable.tag_name,
|
|
32774
|
-
label: `${
|
|
32832
|
+
label: `${import_picocolors12.default.bold(import_picocolors12.default.green("Latest Stable"))} (${latestStable.displayVersion})`,
|
|
32775
32833
|
hint: "recommended"
|
|
32776
32834
|
});
|
|
32777
32835
|
}
|
|
32778
32836
|
if (allowManualEntry) {
|
|
32779
32837
|
clackChoices.push({
|
|
32780
32838
|
value: "manual-entry",
|
|
32781
|
-
label:
|
|
32839
|
+
label: import_picocolors12.default.cyan("↳ Enter Version Manually"),
|
|
32782
32840
|
hint: "for older versions"
|
|
32783
32841
|
});
|
|
32784
32842
|
}
|
|
32785
32843
|
clackChoices.push({
|
|
32786
32844
|
value: "cancel",
|
|
32787
|
-
label:
|
|
32845
|
+
label: import_picocolors12.default.red("✕ Cancel")
|
|
32788
32846
|
});
|
|
32789
32847
|
const versionChoices = choices.filter((choice) => choice.value !== "separator" && choice.value !== "cancel");
|
|
32790
32848
|
for (const choice of versionChoices) {
|
|
32791
32849
|
const isCurrentlyInstalled = currentVersion && (choice.value === currentVersion || choice.value === `v${currentVersion}`);
|
|
32792
|
-
const installedMarker = isCurrentlyInstalled ?
|
|
32850
|
+
const installedMarker = isCurrentlyInstalled ? import_picocolors12.default.cyan(" (installed)") : "";
|
|
32793
32851
|
clackChoices.push({
|
|
32794
32852
|
value: choice.value,
|
|
32795
32853
|
label: `${choice.label}${installedMarker}`,
|
|
32796
32854
|
hint: choice.hint
|
|
32797
32855
|
});
|
|
32798
32856
|
}
|
|
32799
|
-
const currentVersionHint = currentVersion ?
|
|
32857
|
+
const currentVersionHint = currentVersion ? import_picocolors12.default.dim(` (current: ${currentVersion})`) : "";
|
|
32800
32858
|
const selected = await ie({
|
|
32801
|
-
message: `Select version for ${
|
|
32859
|
+
message: `Select version for ${import_picocolors12.default.bold(kit.name)}${currentVersionHint}:`,
|
|
32802
32860
|
options: clackChoices,
|
|
32803
32861
|
initialValue: latestStable?.tag_name
|
|
32804
32862
|
});
|
|
@@ -32832,15 +32890,15 @@ This could be due to:
|
|
|
32832
32890
|
async handleError(error, kit, allowManualEntry) {
|
|
32833
32891
|
logger.error(`Version selection error: ${error.message}`);
|
|
32834
32892
|
if (error.message.includes("401") || error.message.includes("403")) {
|
|
32835
|
-
le(VersionDisplayFormatter.formatError("Authentication failed", "Please check your GitHub token with: ck auth"),
|
|
32893
|
+
le(VersionDisplayFormatter.formatError("Authentication failed", "Please check your GitHub token with: ck auth"), import_picocolors12.default.red("Authentication Error"));
|
|
32836
32894
|
} else if (error.message.includes("404")) {
|
|
32837
|
-
le(VersionDisplayFormatter.formatError("Repository access denied", "Make sure you have access to the repository"),
|
|
32895
|
+
le(VersionDisplayFormatter.formatError("Repository access denied", "Make sure you have access to the repository"), import_picocolors12.default.red("Access Error"));
|
|
32838
32896
|
} else if (error.message.includes("rate limit") || error.message.includes("403")) {
|
|
32839
|
-
le(VersionDisplayFormatter.formatError("GitHub API rate limit exceeded", "Please wait a moment and try again"),
|
|
32897
|
+
le(VersionDisplayFormatter.formatError("GitHub API rate limit exceeded", "Please wait a moment and try again"), import_picocolors12.default.yellow("Rate Limited"));
|
|
32840
32898
|
} else if (error.message.includes("network") || error.message.includes("ENOTFOUND")) {
|
|
32841
|
-
le(VersionDisplayFormatter.formatError("Network connection failed", "Please check your internet connection"),
|
|
32899
|
+
le(VersionDisplayFormatter.formatError("Network connection failed", "Please check your internet connection"), import_picocolors12.default.yellow("Network Error"));
|
|
32842
32900
|
} else {
|
|
32843
|
-
le(VersionDisplayFormatter.formatError(error.message || "Unknown error occurred", "Please try again or contact support"),
|
|
32901
|
+
le(VersionDisplayFormatter.formatError(error.message || "Unknown error occurred", "Please try again or contact support"), import_picocolors12.default.red("Error"));
|
|
32844
32902
|
}
|
|
32845
32903
|
if (allowManualEntry) {
|
|
32846
32904
|
const retry2 = await se({
|
|
@@ -34583,7 +34641,7 @@ import { dirname as dirname7, join as join34 } from "node:path";
|
|
|
34583
34641
|
init_logger();
|
|
34584
34642
|
init_types2();
|
|
34585
34643
|
var import_fs_extra21 = __toESM(require_lib(), 1);
|
|
34586
|
-
var
|
|
34644
|
+
var import_picocolors14 = __toESM(require_picocolors(), 1);
|
|
34587
34645
|
async function detectInstallations() {
|
|
34588
34646
|
const installations = [];
|
|
34589
34647
|
const setup = await getClaudeKitSetup(process.cwd());
|
|
@@ -34729,27 +34787,27 @@ async function analyzeInstallation(installation, forceOverwrite, kit) {
|
|
|
34729
34787
|
}
|
|
34730
34788
|
function displayDryRunPreview(analysis, installationType) {
|
|
34731
34789
|
console.log("");
|
|
34732
|
-
log.info(
|
|
34790
|
+
log.info(import_picocolors14.default.bold(`DRY RUN - Preview for ${installationType} installation:`));
|
|
34733
34791
|
console.log("");
|
|
34734
34792
|
if (analysis.toDelete.length > 0) {
|
|
34735
|
-
console.log(
|
|
34793
|
+
console.log(import_picocolors14.default.red(import_picocolors14.default.bold(`Files to DELETE (${analysis.toDelete.length}):`)));
|
|
34736
34794
|
const showDelete = analysis.toDelete.slice(0, 10);
|
|
34737
34795
|
for (const item of showDelete) {
|
|
34738
|
-
console.log(` ${
|
|
34796
|
+
console.log(` ${import_picocolors14.default.red("✖")} ${item.path}`);
|
|
34739
34797
|
}
|
|
34740
34798
|
if (analysis.toDelete.length > 10) {
|
|
34741
|
-
console.log(
|
|
34799
|
+
console.log(import_picocolors14.default.gray(` ... and ${analysis.toDelete.length - 10} more`));
|
|
34742
34800
|
}
|
|
34743
34801
|
console.log("");
|
|
34744
34802
|
}
|
|
34745
34803
|
if (analysis.toPreserve.length > 0) {
|
|
34746
|
-
console.log(
|
|
34804
|
+
console.log(import_picocolors14.default.green(import_picocolors14.default.bold(`Files to PRESERVE (${analysis.toPreserve.length}):`)));
|
|
34747
34805
|
const showPreserve = analysis.toPreserve.slice(0, 10);
|
|
34748
34806
|
for (const item of showPreserve) {
|
|
34749
|
-
console.log(` ${
|
|
34807
|
+
console.log(` ${import_picocolors14.default.green("✓")} ${item.path} ${import_picocolors14.default.gray(`(${item.reason})`)}`);
|
|
34750
34808
|
}
|
|
34751
34809
|
if (analysis.toPreserve.length > 10) {
|
|
34752
|
-
console.log(
|
|
34810
|
+
console.log(import_picocolors14.default.gray(` ... and ${analysis.toPreserve.length - 10} more`));
|
|
34753
34811
|
}
|
|
34754
34812
|
console.log("");
|
|
34755
34813
|
}
|
|
@@ -34856,10 +34914,10 @@ async function uninstallCommand(options) {
|
|
|
34856
34914
|
}
|
|
34857
34915
|
displayInstallations(installations, scope);
|
|
34858
34916
|
if (validOptions.kit) {
|
|
34859
|
-
log.info(
|
|
34917
|
+
log.info(import_picocolors14.default.cyan(`Kit-scoped uninstall: ${validOptions.kit} kit only`));
|
|
34860
34918
|
}
|
|
34861
34919
|
if (validOptions.dryRun) {
|
|
34862
|
-
log.info(
|
|
34920
|
+
log.info(import_picocolors14.default.yellow("DRY RUN MODE - No files will be deleted"));
|
|
34863
34921
|
await removeInstallations(installations, {
|
|
34864
34922
|
dryRun: true,
|
|
34865
34923
|
forceOverwrite: validOptions.forceOverwrite,
|
|
@@ -34869,8 +34927,8 @@ async function uninstallCommand(options) {
|
|
|
34869
34927
|
return;
|
|
34870
34928
|
}
|
|
34871
34929
|
if (validOptions.forceOverwrite) {
|
|
34872
|
-
log.warn(`${
|
|
34873
|
-
${
|
|
34930
|
+
log.warn(`${import_picocolors14.default.yellow(import_picocolors14.default.bold("FORCE MODE ENABLED"))}
|
|
34931
|
+
${import_picocolors14.default.yellow("User modifications will be permanently deleted!")}`);
|
|
34874
34932
|
}
|
|
34875
34933
|
if (!validOptions.yes) {
|
|
34876
34934
|
const kitLabel = validOptions.kit ? ` (${validOptions.kit} kit only)` : "";
|
|
@@ -35040,7 +35098,7 @@ var import_compare_versions2 = __toESM(require_umd(), 1);
|
|
|
35040
35098
|
// package.json
|
|
35041
35099
|
var package_default2 = {
|
|
35042
35100
|
name: "claudekit-cli",
|
|
35043
|
-
version: "3.
|
|
35101
|
+
version: "3.12.0",
|
|
35044
35102
|
description: "CLI tool for bootstrapping and updating ClaudeKit projects",
|
|
35045
35103
|
type: "module",
|
|
35046
35104
|
repository: {
|
|
@@ -35247,7 +35305,7 @@ Manual update: ${updateCmd}`);
|
|
|
35247
35305
|
// src/commands/version.ts
|
|
35248
35306
|
init_logger();
|
|
35249
35307
|
init_types2();
|
|
35250
|
-
var
|
|
35308
|
+
var import_picocolors15 = __toESM(require_picocolors(), 1);
|
|
35251
35309
|
function formatRelativeTime(dateString) {
|
|
35252
35310
|
if (!dateString)
|
|
35253
35311
|
return "Unknown";
|
|
@@ -35269,30 +35327,30 @@ function formatRelativeTime(dateString) {
|
|
|
35269
35327
|
}
|
|
35270
35328
|
function displayKitReleases(kitName, releases) {
|
|
35271
35329
|
console.log(`
|
|
35272
|
-
${
|
|
35330
|
+
${import_picocolors15.default.bold(import_picocolors15.default.cyan(kitName))} - Available Versions:
|
|
35273
35331
|
`);
|
|
35274
35332
|
if (releases.length === 0) {
|
|
35275
|
-
console.log(
|
|
35333
|
+
console.log(import_picocolors15.default.dim(" No releases found"));
|
|
35276
35334
|
return;
|
|
35277
35335
|
}
|
|
35278
35336
|
for (const release of releases) {
|
|
35279
|
-
const version =
|
|
35337
|
+
const version = import_picocolors15.default.green(release.tag_name);
|
|
35280
35338
|
const name2 = release.name || "No title";
|
|
35281
35339
|
const publishedAt = formatRelativeTime(release.published_at);
|
|
35282
35340
|
const assetCount = release.assets.length;
|
|
35283
35341
|
const badges = [];
|
|
35284
35342
|
if (release.prerelease)
|
|
35285
|
-
badges.push(
|
|
35343
|
+
badges.push(import_picocolors15.default.yellow("[prerelease]"));
|
|
35286
35344
|
if (release.draft)
|
|
35287
|
-
badges.push(
|
|
35345
|
+
badges.push(import_picocolors15.default.gray("[draft]"));
|
|
35288
35346
|
const badgeStr = badges.length > 0 ? ` ${badges.join(" ")}` : "";
|
|
35289
35347
|
const versionPart = version.padEnd(20);
|
|
35290
35348
|
const namePart = name2.length > 40 ? `${name2.slice(0, 37)}...` : name2.padEnd(40);
|
|
35291
|
-
const timePart =
|
|
35292
|
-
const assetPart =
|
|
35349
|
+
const timePart = import_picocolors15.default.dim(publishedAt.padEnd(20));
|
|
35350
|
+
const assetPart = import_picocolors15.default.dim(`(${assetCount} ${assetCount === 1 ? "asset" : "assets"})`);
|
|
35293
35351
|
console.log(` ${versionPart} ${namePart} ${timePart} ${assetPart}${badgeStr}`);
|
|
35294
35352
|
}
|
|
35295
|
-
console.log(
|
|
35353
|
+
console.log(import_picocolors15.default.dim(`
|
|
35296
35354
|
Showing ${releases.length} ${releases.length === 1 ? "release" : "releases"}`));
|
|
35297
35355
|
}
|
|
35298
35356
|
async function versionCommand(options) {
|
|
@@ -35327,8 +35385,8 @@ async function versionCommand(options) {
|
|
|
35327
35385
|
for (const result of results) {
|
|
35328
35386
|
if (result.error) {
|
|
35329
35387
|
console.log(`
|
|
35330
|
-
${
|
|
35331
|
-
console.log(
|
|
35388
|
+
${import_picocolors15.default.bold(import_picocolors15.default.cyan(result.kitConfig.name))} - ${import_picocolors15.default.red("Error")}`);
|
|
35389
|
+
console.log(import_picocolors15.default.dim(` ${result.error}`));
|
|
35332
35390
|
} else {
|
|
35333
35391
|
displayKitReleases(result.kitConfig.name, result.releases);
|
|
35334
35392
|
}
|
|
@@ -35344,7 +35402,7 @@ ${import_picocolors14.default.bold(import_picocolors14.default.cyan(result.kitCo
|
|
|
35344
35402
|
init_logger();
|
|
35345
35403
|
init_types2();
|
|
35346
35404
|
var import_compare_versions3 = __toESM(require_umd(), 1);
|
|
35347
|
-
var
|
|
35405
|
+
var import_picocolors16 = __toESM(require_picocolors(), 1);
|
|
35348
35406
|
|
|
35349
35407
|
// src/domains/versioning/version-cache.ts
|
|
35350
35408
|
init_logger();
|
|
@@ -35493,7 +35551,7 @@ class VersionChecker {
|
|
|
35493
35551
|
const displayLatest = normalizeVersion(latestVersion);
|
|
35494
35552
|
const boxWidth = 52;
|
|
35495
35553
|
const contentWidth = boxWidth - 2;
|
|
35496
|
-
const border =
|
|
35554
|
+
const border = import_picocolors16.default.cyan;
|
|
35497
35555
|
const topBorder = border(`╭${"─".repeat(contentWidth)}╮`);
|
|
35498
35556
|
const bottomBorder = border(`╰${"─".repeat(contentWidth)}╯`);
|
|
35499
35557
|
const emptyLine = border("│") + " ".repeat(contentWidth) + border("│");
|
|
@@ -35506,12 +35564,12 @@ class VersionChecker {
|
|
|
35506
35564
|
const rightPadding = Math.max(0, totalPadding - leftPadding);
|
|
35507
35565
|
return border("│") + " ".repeat(leftPadding) + displayText + " ".repeat(rightPadding) + border("│");
|
|
35508
35566
|
};
|
|
35509
|
-
const headerText =
|
|
35567
|
+
const headerText = import_picocolors16.default.bold(import_picocolors16.default.yellow("⬆ Kit Update Available"));
|
|
35510
35568
|
const headerLen = "⬆ Kit Update Available".length;
|
|
35511
|
-
const versionText = `${
|
|
35569
|
+
const versionText = `${import_picocolors16.default.dim(displayCurrent)} ${import_picocolors16.default.white("→")} ${import_picocolors16.default.green(import_picocolors16.default.bold(displayLatest))}`;
|
|
35512
35570
|
const versionLen = displayCurrent.length + 3 + displayLatest.length;
|
|
35513
35571
|
const updateCmd = isGlobal ? "ck init -g" : "ck init";
|
|
35514
|
-
const commandText = `Run: ${
|
|
35572
|
+
const commandText = `Run: ${import_picocolors16.default.cyan(import_picocolors16.default.bold(updateCmd))}`;
|
|
35515
35573
|
const commandLen = `Run: ${updateCmd}`.length;
|
|
35516
35574
|
console.log("");
|
|
35517
35575
|
console.log(topBorder);
|
|
@@ -35560,7 +35618,7 @@ class CliVersionChecker {
|
|
|
35560
35618
|
const { currentVersion, latestVersion } = result;
|
|
35561
35619
|
const boxWidth = 52;
|
|
35562
35620
|
const contentWidth = boxWidth - 2;
|
|
35563
|
-
const border =
|
|
35621
|
+
const border = import_picocolors16.default.magenta;
|
|
35564
35622
|
const topBorder = border(`╭${"─".repeat(contentWidth)}╮`);
|
|
35565
35623
|
const bottomBorder = border(`╰${"─".repeat(contentWidth)}╯`);
|
|
35566
35624
|
const emptyLine = border("│") + " ".repeat(contentWidth) + border("│");
|
|
@@ -35573,11 +35631,11 @@ class CliVersionChecker {
|
|
|
35573
35631
|
const rightPadding = Math.max(0, totalPadding - leftPadding);
|
|
35574
35632
|
return border("│") + " ".repeat(leftPadding) + displayText + " ".repeat(rightPadding) + border("│");
|
|
35575
35633
|
};
|
|
35576
|
-
const headerText =
|
|
35634
|
+
const headerText = import_picocolors16.default.bold(import_picocolors16.default.yellow("⬆ CLI Update Available"));
|
|
35577
35635
|
const headerLen = "⬆ CLI Update Available".length;
|
|
35578
|
-
const versionText = `${
|
|
35636
|
+
const versionText = `${import_picocolors16.default.dim(currentVersion)} ${import_picocolors16.default.white("→")} ${import_picocolors16.default.green(import_picocolors16.default.bold(latestVersion))}`;
|
|
35579
35637
|
const versionLen = currentVersion.length + 3 + latestVersion.length;
|
|
35580
|
-
const commandText = `Run: ${
|
|
35638
|
+
const commandText = `Run: ${import_picocolors16.default.magenta(import_picocolors16.default.bold("ck update"))}`;
|
|
35581
35639
|
const commandLen = "Run: ck update".length;
|
|
35582
35640
|
console.log("");
|
|
35583
35641
|
console.log(topBorder);
|
|
@@ -35594,7 +35652,7 @@ class CliVersionChecker {
|
|
|
35594
35652
|
|
|
35595
35653
|
// src/shared/logger.ts
|
|
35596
35654
|
init_output_manager();
|
|
35597
|
-
var
|
|
35655
|
+
var import_picocolors17 = __toESM(require_picocolors(), 1);
|
|
35598
35656
|
import { createWriteStream as createWriteStream3 } from "node:fs";
|
|
35599
35657
|
|
|
35600
35658
|
class Logger2 {
|
|
@@ -35602,23 +35660,23 @@ class Logger2 {
|
|
|
35602
35660
|
logFileStream;
|
|
35603
35661
|
info(message) {
|
|
35604
35662
|
const symbols = output.getSymbols();
|
|
35605
|
-
console.log(
|
|
35663
|
+
console.log(import_picocolors17.default.blue(symbols.info), message);
|
|
35606
35664
|
}
|
|
35607
35665
|
success(message) {
|
|
35608
35666
|
const symbols = output.getSymbols();
|
|
35609
|
-
console.log(
|
|
35667
|
+
console.log(import_picocolors17.default.green(symbols.success), message);
|
|
35610
35668
|
}
|
|
35611
35669
|
warning(message) {
|
|
35612
35670
|
const symbols = output.getSymbols();
|
|
35613
|
-
console.log(
|
|
35671
|
+
console.log(import_picocolors17.default.yellow(symbols.warning), message);
|
|
35614
35672
|
}
|
|
35615
35673
|
error(message) {
|
|
35616
35674
|
const symbols = output.getSymbols();
|
|
35617
|
-
console.error(
|
|
35675
|
+
console.error(import_picocolors17.default.red(symbols.error), message);
|
|
35618
35676
|
}
|
|
35619
35677
|
debug(message) {
|
|
35620
35678
|
if (process.env.DEBUG) {
|
|
35621
|
-
console.log(
|
|
35679
|
+
console.log(import_picocolors17.default.gray("[DEBUG]"), message);
|
|
35622
35680
|
}
|
|
35623
35681
|
}
|
|
35624
35682
|
verbose(message, context) {
|
|
@@ -35627,7 +35685,7 @@ class Logger2 {
|
|
|
35627
35685
|
const timestamp = this.getTimestamp();
|
|
35628
35686
|
const sanitizedMessage = this.sanitize(message);
|
|
35629
35687
|
const formattedContext = context ? this.formatContext(context) : "";
|
|
35630
|
-
const logLine = `${timestamp} ${
|
|
35688
|
+
const logLine = `${timestamp} ${import_picocolors17.default.gray("[VERBOSE]")} ${sanitizedMessage}${formattedContext}`;
|
|
35631
35689
|
console.error(logLine);
|
|
35632
35690
|
if (this.logFileStream) {
|
|
35633
35691
|
const plainLogLine = `${timestamp} [VERBOSE] ${sanitizedMessage}${formattedContext}`;
|
|
@@ -35690,7 +35748,7 @@ var logger2 = new Logger2;
|
|
|
35690
35748
|
|
|
35691
35749
|
// src/shared/output-manager.ts
|
|
35692
35750
|
init_terminal_utils();
|
|
35693
|
-
var
|
|
35751
|
+
var import_picocolors18 = __toESM(require_picocolors(), 1);
|
|
35694
35752
|
var SYMBOLS2 = {
|
|
35695
35753
|
unicode: {
|
|
35696
35754
|
prompt: "◇",
|
|
@@ -35761,7 +35819,7 @@ class OutputManager2 {
|
|
|
35761
35819
|
if (this.config.quiet)
|
|
35762
35820
|
return;
|
|
35763
35821
|
const symbol = this.getSymbols().success;
|
|
35764
|
-
console.log(
|
|
35822
|
+
console.log(import_picocolors18.default.green(`${symbol} ${message}`));
|
|
35765
35823
|
}
|
|
35766
35824
|
error(message, data) {
|
|
35767
35825
|
if (this.config.json) {
|
|
@@ -35769,7 +35827,7 @@ class OutputManager2 {
|
|
|
35769
35827
|
return;
|
|
35770
35828
|
}
|
|
35771
35829
|
const symbol = this.getSymbols().error;
|
|
35772
|
-
console.error(
|
|
35830
|
+
console.error(import_picocolors18.default.red(`${symbol} ${message}`));
|
|
35773
35831
|
}
|
|
35774
35832
|
warning(message, data) {
|
|
35775
35833
|
if (this.config.json) {
|
|
@@ -35779,7 +35837,7 @@ class OutputManager2 {
|
|
|
35779
35837
|
if (this.config.quiet)
|
|
35780
35838
|
return;
|
|
35781
35839
|
const symbol = this.getSymbols().warning;
|
|
35782
|
-
console.log(
|
|
35840
|
+
console.log(import_picocolors18.default.yellow(`${symbol} ${message}`));
|
|
35783
35841
|
}
|
|
35784
35842
|
info(message, data) {
|
|
35785
35843
|
if (this.config.json) {
|
|
@@ -35789,7 +35847,7 @@ class OutputManager2 {
|
|
|
35789
35847
|
if (this.config.quiet)
|
|
35790
35848
|
return;
|
|
35791
35849
|
const symbol = this.getSymbols().info;
|
|
35792
|
-
console.log(
|
|
35850
|
+
console.log(import_picocolors18.default.blue(`${symbol} ${message}`));
|
|
35793
35851
|
}
|
|
35794
35852
|
verbose(message, data) {
|
|
35795
35853
|
if (!this.config.verbose)
|
|
@@ -35798,7 +35856,7 @@ class OutputManager2 {
|
|
|
35798
35856
|
this.addJsonEntry({ type: "info", message, data });
|
|
35799
35857
|
return;
|
|
35800
35858
|
}
|
|
35801
|
-
console.log(
|
|
35859
|
+
console.log(import_picocolors18.default.dim(` ${message}`));
|
|
35802
35860
|
}
|
|
35803
35861
|
indent(message) {
|
|
35804
35862
|
if (this.config.json)
|
|
@@ -35823,7 +35881,7 @@ class OutputManager2 {
|
|
|
35823
35881
|
return;
|
|
35824
35882
|
const symbols = this.getSymbols();
|
|
35825
35883
|
console.log();
|
|
35826
|
-
console.log(
|
|
35884
|
+
console.log(import_picocolors18.default.bold(import_picocolors18.default.cyan(`${symbols.line} ${title}`)));
|
|
35827
35885
|
}
|
|
35828
35886
|
addJsonEntry(entry) {
|
|
35829
35887
|
this.jsonBuffer.push({
|
|
@@ -36105,6 +36163,9 @@ cli.command("doctor", "Comprehensive health check for ClaudeKit").option("--repo
|
|
|
36105
36163
|
cli.command("uninstall", "Remove ClaudeKit installations").option("-y, --yes", "Skip confirmation prompt").option("-l, --local", "Uninstall only local installation (current project)").option("-g, --global", "Uninstall only global installation (~/.claude/)").option("-A, --all", "Uninstall from both local and global locations").option("-k, --kit <type>", "Uninstall specific kit only (engineer, marketing)").option("--dry-run", "Preview what would be removed without deleting").option("--force-overwrite", "Delete even user-modified files (requires confirmation)").action(async (options) => {
|
|
36106
36164
|
await uninstallCommand(options);
|
|
36107
36165
|
});
|
|
36166
|
+
cli.command("easter-egg", "\uD83E\uDD5A Roll for a random discount code (Code Hunt 2025)").action(async () => {
|
|
36167
|
+
await easterEggCommand();
|
|
36168
|
+
});
|
|
36108
36169
|
cli.option("-V, --version", "Display version number");
|
|
36109
36170
|
cli.option("-h, --help", "Display help information");
|
|
36110
36171
|
var parsed = cli.parse(process.argv, { run: false });
|