openkitt 0.2.3 → 0.2.4

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/cli.js +36 -148
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -255592,7 +255592,7 @@ var {
255592
255592
  } = import__.default;
255593
255593
 
255594
255594
  // src/cli.ts
255595
- var import_picocolors13 = __toESM(require_picocolors(), 1);
255595
+ var import_picocolors12 = __toESM(require_picocolors(), 1);
255596
255596
  import { createInterface, emitKeypressEvents } from "node:readline";
255597
255597
  import { stdin as input, stdout as output } from "node:process";
255598
255598
  import { existsSync as existsSync18, mkdirSync as mkdirSync11, readFileSync as readFileSync13, writeFileSync as writeFileSync15, realpathSync } from "node:fs";
@@ -256026,8 +256026,7 @@ var WORKSPACE_REQUIRED = new Set([
256026
256026
  "domain",
256027
256027
  "logs",
256028
256028
  "status",
256029
- "versions",
256030
- "publish"
256029
+ "versions"
256031
256030
  ]);
256032
256031
  var COMMAND_AUTH = {
256033
256032
  login: "none",
@@ -265454,140 +265453,31 @@ function renderPackages(pkgs) {
265454
265453
  }
265455
265454
  }
265456
265455
 
265457
- // src/commands/publish.ts
265458
- var import_picocolors11 = __toESM(require_picocolors(), 1);
265459
- import { execFileSync as execFileSync2, spawnSync } from "node:child_process";
265460
- function currentVersion() {
265461
- try {
265462
- return execFileSync2("bun", ["-e", 'console.log(require("./package.json").version)'], {
265463
- encoding: "utf-8",
265464
- cwd: process.cwd()
265465
- }).trim();
265466
- } catch {
265467
- return "unknown";
265468
- }
265469
- }
265470
- function printUsage2() {
265471
- console.log("");
265472
- console.log(` ${import_picocolors11.default.bold(import_picocolors11.default.white("/publish"))} ${import_picocolors11.default.dim("— publish openkitt to npm via bun publish")}`);
265473
- console.log("");
265474
- console.log(` ${import_picocolors11.default.cyan("/publish patch")} ${import_picocolors11.default.dim("bug fix 0.1.0 → 0.1.1")}`);
265475
- console.log(` ${import_picocolors11.default.cyan("/publish minor")} ${import_picocolors11.default.dim("new feature 0.1.0 → 0.2.0")}`);
265476
- console.log(` ${import_picocolors11.default.cyan("/publish major")} ${import_picocolors11.default.dim("breaking 0.1.0 → 1.0.0")}`);
265477
- console.log("");
265478
- console.log(` ${import_picocolors11.default.dim("Flags:")}`);
265479
- console.log(` ${import_picocolors11.default.dim("--dry-run")} ${import_picocolors11.default.dim("simulate without publishing")}`);
265480
- console.log(` ${import_picocolors11.default.dim("--otp <n>")} ${import_picocolors11.default.dim("2FA one-time password")}`);
265481
- console.log(` ${import_picocolors11.default.dim("--tag <t>")} ${import_picocolors11.default.dim("dist-tag (default: latest)")}`);
265482
- console.log("");
265483
- }
265484
- function bumpVersion(bump, dryRun) {
265485
- if (dryRun)
265486
- return null;
265487
- const result = spawnSync("npm", ["version", bump, "--no-git-tag-version"], {
265488
- encoding: "utf-8",
265489
- cwd: process.cwd()
265490
- });
265491
- if (result.status !== 0) {
265492
- return null;
265493
- }
265494
- return result.stdout.trim().replace(/^v/, "");
265495
- }
265496
- async function publishCommand(context, args) {
265497
- const bump = args[0]?.toLowerCase() ?? "";
265498
- const isDryRun = context.dryRun || args.includes("--dry-run");
265499
- const otpIndex = args.indexOf("--otp");
265500
- const otp = otpIndex !== -1 ? args[otpIndex + 1] ?? "" : "";
265501
- const tagIndex = args.indexOf("--tag");
265502
- const tag = tagIndex !== -1 ? args[tagIndex + 1] ?? "" : "";
265503
- if (!bump || !["patch", "minor", "major"].includes(bump)) {
265504
- printUsage2();
265505
- return;
265506
- }
265507
- const version = currentVersion();
265508
- console.log("");
265509
- console.log(` ${import_picocolors11.default.bold(import_picocolors11.default.white("Publish"))} ${import_picocolors11.default.dim(`openkitt v${version}`)} → ${import_picocolors11.default.cyan(bump)}`);
265510
- if (isDryRun) {
265511
- console.log(` ${import_picocolors11.default.yellow("DRY RUN — nothing will be published")}`);
265512
- }
265513
- console.log("");
265514
- if (!context.yes) {
265515
- const confirmed = await ye({
265516
- message: isDryRun ? `Run bun publish --dry-run (${bump})?` : `Publish openkitt@${bump} to npm?`,
265517
- initialValue: false
265518
- });
265519
- if (pD(confirmed) || !confirmed) {
265520
- console.log(import_picocolors11.default.dim(" Publish cancelled."));
265521
- return;
265522
- }
265523
- }
265524
- if (!isDryRun) {
265525
- const newVersion = bumpVersion(bump, false);
265526
- if (!newVersion) {
265527
- console.log(import_picocolors11.default.red(" ✗ npm version failed. Is the working tree clean?"));
265528
- return;
265529
- }
265530
- console.log(` ${import_picocolors11.default.green("✓")} Version bumped → ${import_picocolors11.default.bold(newVersion)}`);
265531
- } else {
265532
- console.log(` ${import_picocolors11.default.dim(" (dry-run: skipping npm version bump)")}`);
265533
- }
265534
- const publishArgs = ["publish", "--access", "public"];
265535
- if (isDryRun)
265536
- publishArgs.push("--dry-run");
265537
- if (otp)
265538
- publishArgs.push("--otp", otp);
265539
- if (tag)
265540
- publishArgs.push("--tag", tag);
265541
- console.log("");
265542
- console.log(` ${import_picocolors11.default.dim("Running:")} ${import_picocolors11.default.cyan("bun " + publishArgs.join(" "))}`);
265543
- console.log("");
265544
- const result = spawnSync("bun", publishArgs, {
265545
- stdio: "inherit",
265546
- cwd: process.cwd()
265547
- });
265548
- if (result.status !== 0) {
265549
- console.log("");
265550
- console.log(import_picocolors11.default.red(" ✗ Publish failed. See output above."));
265551
- return;
265552
- }
265553
- if (!isDryRun) {
265554
- const tagAfterBump = spawnSync("git", ["tag", `v${currentVersion()}`], { cwd: process.cwd() });
265555
- if (tagAfterBump.status === 0) {
265556
- spawnSync("git", ["push", "--follow-tags"], { stdio: "inherit", cwd: process.cwd() });
265557
- console.log(` ${import_picocolors11.default.green("✓")} Tag pushed to remote.`);
265558
- }
265559
- }
265560
- console.log("");
265561
- console.log(` ${import_picocolors11.default.green(import_picocolors11.default.bold("✓ Published openkitt to npm"))}`);
265562
- console.log(` ${import_picocolors11.default.dim("npm view openkitt to verify")}`);
265563
- console.log("");
265564
- }
265565
-
265566
265456
  // src/commands/help.ts
265567
- var import_picocolors12 = __toESM(require_picocolors(), 1);
265457
+ var import_picocolors11 = __toESM(require_picocolors(), 1);
265568
265458
  var W3 = 56;
265569
265459
  function box(lines) {
265570
- console.log(` ${import_picocolors12.default.dim("╭" + "─".repeat(W3) + "╮")}`);
265460
+ console.log(` ${import_picocolors11.default.dim("╭" + "─".repeat(W3) + "╮")}`);
265571
265461
  for (const line of lines) {
265572
- console.log(` ${import_picocolors12.default.dim("│")} ${line}`);
265462
+ console.log(` ${import_picocolors11.default.dim("│")} ${line}`);
265573
265463
  }
265574
- console.log(` ${import_picocolors12.default.dim("╰" + "─".repeat(W3) + "╯")}`);
265464
+ console.log(` ${import_picocolors11.default.dim("╰" + "─".repeat(W3) + "╯")}`);
265575
265465
  }
265576
265466
  function divider(label) {
265577
265467
  const pad = W3 - 2 - label.length;
265578
- console.log(` ${import_picocolors12.default.dim("┌─")} ${import_picocolors12.default.bold(import_picocolors12.default.white(label))} ${import_picocolors12.default.dim("─".repeat(Math.max(0, pad)) + "┐")}`);
265468
+ console.log(` ${import_picocolors11.default.dim("┌─")} ${import_picocolors11.default.bold(import_picocolors11.default.white(label))} ${import_picocolors11.default.dim("─".repeat(Math.max(0, pad)) + "┐")}`);
265579
265469
  }
265580
265470
  function cmd(command, argHint, desc) {
265581
265471
  const raw = `${command} ${argHint}`;
265582
265472
  const p2 = Math.max(0, 28 - raw.length);
265583
- const argPart = argHint ? ` ${import_picocolors12.default.dim(import_picocolors12.default.italic(argHint))}` : "";
265584
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.cyan(command)}${argPart}${" ".repeat(p2)} ${import_picocolors12.default.dim(desc)}`);
265473
+ const argPart = argHint ? ` ${import_picocolors11.default.dim(import_picocolors11.default.italic(argHint))}` : "";
265474
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.cyan(command)}${argPart}${" ".repeat(p2)} ${import_picocolors11.default.dim(desc)}`);
265585
265475
  }
265586
265476
  function row(label, value) {
265587
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim(label.padEnd(14))} ${import_picocolors12.default.white(value)}`);
265477
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim(label.padEnd(14))} ${import_picocolors11.default.white(value)}`);
265588
265478
  }
265589
265479
  function sectionEnd() {
265590
- console.log(` ${import_picocolors12.default.dim("└" + "─".repeat(W3))}`);
265480
+ console.log(` ${import_picocolors11.default.dim("└" + "─".repeat(W3))}`);
265591
265481
  console.log("");
265592
265482
  }
265593
265483
  function pad(text, width) {
@@ -265598,8 +265488,8 @@ function pad(text, width) {
265598
265488
  function renderHelp() {
265599
265489
  console.log("");
265600
265490
  box([
265601
- pad(`${import_picocolors12.default.bold(import_picocolors12.default.white("KITT"))} ${import_picocolors12.default.dim("— AI-powered monorepo CLI")}`, W3 - 1),
265602
- pad(`${import_picocolors12.default.dim("scaffold · deploy · manage · iterate")}`, W3 - 1)
265491
+ pad(`${import_picocolors11.default.bold(import_picocolors11.default.white("KITT"))} ${import_picocolors11.default.dim("— AI-powered monorepo CLI")}`, W3 - 1),
265492
+ pad(`${import_picocolors11.default.dim("scaffold · deploy · manage · iterate")}`, W3 - 1)
265603
265493
  ]);
265604
265494
  console.log("");
265605
265495
  divider("Setup");
@@ -265634,7 +265524,6 @@ function renderHelp() {
265634
265524
  cmd("/versions set", "<integration> <version>", "Pin a specific version");
265635
265525
  sectionEnd();
265636
265526
  divider("Other");
265637
- cmd("/publish", "<patch|minor|major>", "Publish openkitt to npm");
265638
265527
  cmd("/help", "", "Show this help message");
265639
265528
  cmd("/exit", "", "Exit KITT");
265640
265529
  sectionEnd();
@@ -265643,16 +265532,16 @@ function renderHelp() {
265643
265532
  row("backend", "hono expressjs");
265644
265533
  sectionEnd();
265645
265534
  divider("Integrations");
265646
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("databases")} ${[import_picocolors12.default.blue("[postgresql]"), import_picocolors12.default.blue("[mysql]"), import_picocolors12.default.blue("[sqlite]")].join(" ")}`);
265647
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("orm")} ${[import_picocolors12.default.cyan("[drizzle]"), import_picocolors12.default.cyan("[prisma]")].join(" ")}`);
265648
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("auth")} ${import_picocolors12.default.yellow("[better-auth]")}`);
265649
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("payments")} ${[import_picocolors12.default.green("[stripe]"), import_picocolors12.default.green("[polar]")].join(" ")}`);
265650
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("email")} ${import_picocolors12.default.magenta("[resend]")}`);
265651
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("queues")} ${[import_picocolors12.default.red("[bullmq]"), import_picocolors12.default.red("[trigger-dev]")].join(" ")}`);
265652
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("cache")} ${import_picocolors12.default.red("[redis]")}`);
265653
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("ui")} ${[import_picocolors12.default.cyan("[tailwindcss]"), import_picocolors12.default.white("[shadcn]")].join(" ")}`);
265654
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("analytics")} ${[import_picocolors12.default.green("[posthog]"), import_picocolors12.default.red("[sentry]")].join(" ")}`);
265655
- console.log(` ${import_picocolors12.default.dim("│")} ${import_picocolors12.default.dim("testing")} ${[import_picocolors12.default.yellow("[vitest]"), import_picocolors12.default.cyan("[playwright]"), import_picocolors12.default.magenta("[storybook]")].join(" ")}`);
265535
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("databases")} ${[import_picocolors11.default.blue("[postgresql]"), import_picocolors11.default.blue("[mysql]"), import_picocolors11.default.blue("[sqlite]")].join(" ")}`);
265536
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("orm")} ${[import_picocolors11.default.cyan("[drizzle]"), import_picocolors11.default.cyan("[prisma]")].join(" ")}`);
265537
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("auth")} ${import_picocolors11.default.yellow("[better-auth]")}`);
265538
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("payments")} ${[import_picocolors11.default.green("[stripe]"), import_picocolors11.default.green("[polar]")].join(" ")}`);
265539
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("email")} ${import_picocolors11.default.magenta("[resend]")}`);
265540
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("queues")} ${[import_picocolors11.default.red("[bullmq]"), import_picocolors11.default.red("[trigger-dev]")].join(" ")}`);
265541
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("cache")} ${import_picocolors11.default.red("[redis]")}`);
265542
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("ui")} ${[import_picocolors11.default.cyan("[tailwindcss]"), import_picocolors11.default.white("[shadcn]")].join(" ")}`);
265543
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("analytics")} ${[import_picocolors11.default.green("[posthog]"), import_picocolors11.default.red("[sentry]")].join(" ")}`);
265544
+ console.log(` ${import_picocolors11.default.dim("│")} ${import_picocolors11.default.dim("testing")} ${[import_picocolors11.default.yellow("[vitest]"), import_picocolors11.default.cyan("[playwright]"), import_picocolors11.default.magenta("[storybook]")].join(" ")}`);
265656
265545
  sectionEnd();
265657
265546
  divider("CLI Flags");
265658
265547
  row("--verbose", "Enable verbose logging");
@@ -265673,7 +265562,7 @@ async function helpCommand(_context, _args) {
265673
265562
  // package.json
265674
265563
  var package_default = {
265675
265564
  name: "openkitt",
265676
- version: "0.2.3",
265565
+ version: "0.2.4",
265677
265566
  description: "AI-powered monorepo scaffolding CLI",
265678
265567
  keywords: [
265679
265568
  "cli",
@@ -265765,19 +265654,18 @@ var commandRegistry = {
265765
265654
  versions: { handler: versionsCommand },
265766
265655
  list: { handler: listCommand },
265767
265656
  run: { handler: runCommand },
265768
- publish: { handler: publishCommand },
265769
265657
  help: { handler: helpCommand }
265770
265658
  };
265771
265659
  function displayBanner() {
265772
- console.log(import_picocolors13.default.cyan(" ______ _______________________"));
265773
- console.log(import_picocolors13.default.cyan(" ___ //_/___ /__ __/__ __/"));
265774
- console.log(import_picocolors13.default.cyan(" __ ,< __ / __ / __ / "));
265775
- console.log(import_picocolors13.default.cyan(" _ /| | __/ / _ / _ / "));
265776
- console.log(import_picocolors13.default.cyan(" /_/ |_| /___/ /_/ /_/ "));
265660
+ console.log(import_picocolors12.default.cyan(" ______ _______________________"));
265661
+ console.log(import_picocolors12.default.cyan(" ___ //_/___ /__ __/__ __/"));
265662
+ console.log(import_picocolors12.default.cyan(" __ ,< __ / __ / __ / "));
265663
+ console.log(import_picocolors12.default.cyan(" _ /| | __/ / _ / _ / "));
265664
+ console.log(import_picocolors12.default.cyan(" /_/ |_| /___/ /_/ /_/ "));
265777
265665
  console.log("");
265778
- console.log(` ${import_picocolors13.default.bold(import_picocolors13.default.white("KITT"))} ${import_picocolors13.default.dim("v" + APP_VERSION)} ${import_picocolors13.default.dim("— AI-Powered App Scaffolding CLI")}`);
265779
- console.log(` ${import_picocolors13.default.dim("/login → /init → /create → /deploy → /publish")}`);
265780
- console.log(` ${import_picocolors13.default.dim("Type /help for all commands")}`);
265666
+ console.log(` ${import_picocolors12.default.bold(import_picocolors12.default.white("KITT"))} ${import_picocolors12.default.dim("v" + APP_VERSION)} ${import_picocolors12.default.dim("— AI-Powered App Scaffolding CLI")}`);
265667
+ console.log(` ${import_picocolors12.default.dim("/login → /init → /create → /deploy → /publish")}`);
265668
+ console.log(` ${import_picocolors12.default.dim("Type /help for all commands")}`);
265781
265669
  console.log("");
265782
265670
  }
265783
265671
  function tokenizeCommand(inputValue) {
@@ -265915,7 +265803,7 @@ async function dispatchCommand(commandLine, context) {
265915
265803
  }
265916
265804
  const authCheck = await checkAuthGuard(parsed.key);
265917
265805
  if (!authCheck.allowed) {
265918
- console.log(import_picocolors13.default.red(`✗ ${authCheck.message}`));
265806
+ console.log(import_picocolors12.default.red(`✗ ${authCheck.message}`));
265919
265807
  return "continue";
265920
265808
  }
265921
265809
  await resolveAndRunHandler(route, context, parsed.args, parsed.key);
@@ -265924,7 +265812,7 @@ async function dispatchCommand(commandLine, context) {
265924
265812
  async function runSingleCommand(commandLine, context) {
265925
265813
  const parsed = parseCommand(commandLine);
265926
265814
  if (parsed && STATE_CHANGING_COMMANDS.has(parsed.key) && !context.yes) {
265927
- console.log(import_picocolors13.default.red(`✗ Non-interactive mode requires --yes for state-changing commands.
265815
+ console.log(import_picocolors12.default.red(`✗ Non-interactive mode requires --yes for state-changing commands.
265928
265816
  Usage: npx openkitt --run "${parsed.key}" --yes`));
265929
265817
  return 1;
265930
265818
  }
@@ -265988,7 +265876,7 @@ function resolvePrompt() {
265988
265876
  const name = manifest?.workspace.name;
265989
265877
  if (!name)
265990
265878
  return `${BASE_PROMPT} > `;
265991
- return `${BASE_PROMPT} ${import_picocolors13.default.cyan(`[${name}]`)} > `;
265879
+ return `${BASE_PROMPT} ${import_picocolors12.default.cyan(`[${name}]`)} > `;
265992
265880
  }
265993
265881
  async function startRepl(context) {
265994
265882
  const rl = createInterface({ input, output, prompt: resolvePrompt(), completer: makeCompleter(commandRegistry) });
@@ -266064,7 +265952,7 @@ async function startRepl(context) {
266064
265952
  rl.prompt();
266065
265953
  } catch (error4) {
266066
265954
  const message = error4 instanceof Error ? error4.message : "Unexpected error.";
266067
- console.error(import_picocolors13.default.red(message));
265955
+ console.error(import_picocolors12.default.red(message));
266068
265956
  rl.setPrompt(resolvePrompt());
266069
265957
  rl.prompt();
266070
265958
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openkitt",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "AI-powered monorepo scaffolding CLI",
5
5
  "keywords": [
6
6
  "cli",