oh-my-claudecode 0.2.7 → 0.2.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.
Files changed (131) hide show
  1. package/README.md +170 -68
  2. package/commands/cthulhu.md +9 -1
  3. package/commands/invoke-shub.md +8 -2
  4. package/commands/shoggoth.md +15 -25
  5. package/commands/yog-sothoth.md +18 -25
  6. package/dist/agents/render.d.ts +11 -0
  7. package/dist/agents/render.d.ts.map +1 -0
  8. package/dist/agents/render.js +69 -0
  9. package/dist/agents/render.js.map +1 -0
  10. package/dist/cli/dashboard.d.ts +12 -0
  11. package/dist/cli/dashboard.d.ts.map +1 -0
  12. package/dist/cli/dashboard.js +58 -0
  13. package/dist/cli/dashboard.js.map +1 -0
  14. package/dist/cli/doctor.d.ts +11 -0
  15. package/dist/cli/doctor.d.ts.map +1 -1
  16. package/dist/cli/doctor.js +163 -9
  17. package/dist/cli/doctor.js.map +1 -1
  18. package/dist/cli/index.js +72 -3
  19. package/dist/cli/index.js.map +1 -1
  20. package/dist/cli/install.d.ts +6 -0
  21. package/dist/cli/install.d.ts.map +1 -1
  22. package/dist/cli/install.js +211 -44
  23. package/dist/cli/install.js.map +1 -1
  24. package/dist/cli/lint.d.ts +26 -0
  25. package/dist/cli/lint.d.ts.map +1 -0
  26. package/dist/cli/lint.js +86 -0
  27. package/dist/cli/lint.js.map +1 -0
  28. package/dist/cli/stats.d.ts +56 -0
  29. package/dist/cli/stats.d.ts.map +1 -0
  30. package/dist/cli/stats.js +197 -0
  31. package/dist/cli/stats.js.map +1 -0
  32. package/dist/cli/sync.d.ts +44 -0
  33. package/dist/cli/sync.d.ts.map +1 -0
  34. package/dist/cli/sync.js +154 -0
  35. package/dist/cli/sync.js.map +1 -0
  36. package/dist/config/schema.d.ts +337 -331
  37. package/dist/config/schema.d.ts.map +1 -1
  38. package/dist/config/schema.js +14 -10
  39. package/dist/config/schema.js.map +1 -1
  40. package/dist/features/block-summarizer/index.js +1 -0
  41. package/dist/features/block-summarizer/index.js.map +1 -1
  42. package/dist/features/yith-archive/config.d.ts.map +1 -1
  43. package/dist/features/yith-archive/config.js +11 -15
  44. package/dist/features/yith-archive/config.js.map +1 -1
  45. package/dist/features/yith-archive/eval/schemas.d.ts +2 -2
  46. package/dist/features/yith-archive/functions/migrate.d.ts.map +1 -1
  47. package/dist/features/yith-archive/functions/migrate.js +7 -3
  48. package/dist/features/yith-archive/functions/migrate.js.map +1 -1
  49. package/dist/features/yith-archive/functions/opencode-import.d.ts.map +1 -1
  50. package/dist/features/yith-archive/functions/opencode-import.js +54 -27
  51. package/dist/features/yith-archive/functions/opencode-import.js.map +1 -1
  52. package/dist/features/yith-archive/functions/smart-search.js.map +1 -1
  53. package/dist/features/yith-archive/functions/temporal-graph.d.ts.map +1 -1
  54. package/dist/features/yith-archive/functions/temporal-graph.js +1 -0
  55. package/dist/features/yith-archive/functions/temporal-graph.js.map +1 -1
  56. package/dist/features/yith-archive/providers/embedding/local.d.ts +17 -6
  57. package/dist/features/yith-archive/providers/embedding/local.d.ts.map +1 -1
  58. package/dist/features/yith-archive/providers/embedding/local.js +32 -14
  59. package/dist/features/yith-archive/providers/embedding/local.js.map +1 -1
  60. package/dist/features/yith-archive/state/fake-sdk.d.ts.map +1 -1
  61. package/dist/features/yith-archive/state/fake-sdk.js.map +1 -1
  62. package/dist/features/yith-archive/state/reranker.d.ts.map +1 -1
  63. package/dist/features/yith-archive/state/reranker.js +9 -2
  64. package/dist/features/yith-archive/state/reranker.js.map +1 -1
  65. package/dist/features/yith-archive/state/vector-index.d.ts.map +1 -1
  66. package/dist/features/yith-archive/state/vector-index.js +1 -0
  67. package/dist/features/yith-archive/state/vector-index.js.map +1 -1
  68. package/dist/hooks/agent-sync.d.ts +16 -0
  69. package/dist/hooks/agent-sync.d.ts.map +1 -0
  70. package/dist/hooks/agent-sync.js +42 -0
  71. package/dist/hooks/agent-sync.js.map +1 -0
  72. package/dist/hooks/comment-checker.d.ts +1 -1
  73. package/dist/hooks/comment-checker.d.ts.map +1 -1
  74. package/dist/hooks/comment-checker.js +10 -0
  75. package/dist/hooks/comment-checker.js.map +1 -1
  76. package/dist/hooks/cthulhu-auto.d.ts +1 -1
  77. package/dist/hooks/cthulhu-auto.d.ts.map +1 -1
  78. package/dist/hooks/cthulhu-auto.js +77 -8
  79. package/dist/hooks/cthulhu-auto.js.map +1 -1
  80. package/dist/hooks/cthulhu-preflight.d.ts.map +1 -1
  81. package/dist/hooks/cthulhu-preflight.js +6 -5
  82. package/dist/hooks/cthulhu-preflight.js.map +1 -1
  83. package/dist/hooks/design-detector-hook.d.ts +6 -5
  84. package/dist/hooks/design-detector-hook.d.ts.map +1 -1
  85. package/dist/hooks/design-detector-hook.js +27 -8
  86. package/dist/hooks/design-detector-hook.js.map +1 -1
  87. package/dist/hooks/index.d.ts +2 -1
  88. package/dist/hooks/index.d.ts.map +1 -1
  89. package/dist/hooks/index.js +43 -0
  90. package/dist/hooks/index.js.map +1 -1
  91. package/dist/hooks/web-research-hook.d.ts +6 -5
  92. package/dist/hooks/web-research-hook.d.ts.map +1 -1
  93. package/dist/hooks/web-research-hook.js +30 -9
  94. package/dist/hooks/web-research-hook.js.map +1 -1
  95. package/dist/hooks/write-guard.d.ts +1 -1
  96. package/dist/hooks/write-guard.d.ts.map +1 -1
  97. package/dist/hooks/write-guard.js +10 -0
  98. package/dist/hooks/write-guard.js.map +1 -1
  99. package/dist/hooks/yith-capture.d.ts +9 -3
  100. package/dist/hooks/yith-capture.d.ts.map +1 -1
  101. package/dist/hooks/yith-capture.js +43 -14
  102. package/dist/hooks/yith-capture.js.map +1 -1
  103. package/dist/index.d.ts +12 -5
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +13 -5
  106. package/dist/index.js.map +1 -1
  107. package/dist/linters/type-safety-ast.d.ts.map +1 -1
  108. package/dist/linters/type-safety-ast.js +42 -24
  109. package/dist/linters/type-safety-ast.js.map +1 -1
  110. package/dist/shared/ascii-logo.d.ts +24 -0
  111. package/dist/shared/ascii-logo.d.ts.map +1 -0
  112. package/dist/shared/ascii-logo.js +77 -0
  113. package/dist/shared/ascii-logo.js.map +1 -0
  114. package/dist/shared/model-resolution.d.ts +19 -6
  115. package/dist/shared/model-resolution.d.ts.map +1 -1
  116. package/dist/shared/model-resolution.js +25 -12
  117. package/dist/shared/model-resolution.js.map +1 -1
  118. package/package.json +9 -6
  119. package/tui/dashboard.tsx +504 -0
  120. package/tui/data.ts +178 -0
  121. package/tui/theme.ts +51 -0
  122. package/tui/tsconfig.json +15 -0
  123. package/tui/wizard.tsx +219 -0
  124. package/dist/plugin-handlers/config-handler.d.ts +0 -21
  125. package/dist/plugin-handlers/config-handler.d.ts.map +0 -1
  126. package/dist/plugin-handlers/config-handler.js +0 -33
  127. package/dist/plugin-handlers/config-handler.js.map +0 -1
  128. package/dist/plugin-handlers/index.d.ts +0 -2
  129. package/dist/plugin-handlers/index.d.ts.map +0 -1
  130. package/dist/plugin-handlers/index.js +0 -2
  131. package/dist/plugin-handlers/index.js.map +0 -1
@@ -1,7 +1,12 @@
1
1
  import * as fs from "fs";
2
+ import * as os from "os";
2
3
  import * as path from "path";
3
4
  import * as readline from "readline";
5
+ import { execFileSync, spawnSync } from "node:child_process";
6
+ import { renderLogoAnsi } from "../shared/ascii-logo.js";
4
7
  import { ALL_HOOK_DEFINITIONS } from "../hooks/index.js";
8
+ import { runSync } from "./sync.js";
9
+ import { buildCrontabLine, installCrontabEntry, parseIntervalSpec, } from "./bind-cron.js";
5
10
  const HOME = process.env.HOME ?? process.env.USERPROFILE ?? "";
6
11
  const CLAUDE_DIR = path.join(HOME, ".claude");
7
12
  const HOOKS_DIR = path.join(CLAUDE_DIR, "hooks");
@@ -72,36 +77,15 @@ function ensureYithDataDir() {
72
77
  }
73
78
  }
74
79
  }
75
- /**
76
- * Check the environment for an already-set embedding-provider API key.
77
- * Returns the matching provider id + key value, or null if none set.
78
- * Used to pre-seed the interactive prompt so users aren't asked twice.
79
- */
80
- function detectExistingEmbeddingKey() {
81
- for (const p of EMBEDDING_PROVIDERS) {
82
- if (p.envKey && process.env[p.envKey]) {
83
- return { id: p.id, key: process.env[p.envKey] };
84
- }
85
- }
86
- return null;
87
- }
88
80
  /**
89
81
  * Prompt the user for an embedding provider choice. Returns the selected
90
82
  * provider id and (if a hosted provider was picked) the API key to write
91
- * into the Yith .env. Honors pre-existing env keys by offering them as
92
- * the default instead of re-asking. Returns "local" with no key if the
93
- * user takes the default or declines every hosted option.
83
+ * into the Yith .env. Local is THE default ambient API keys in the
84
+ * shell are deliberately ignored; a hosted provider is an explicit
85
+ * opt-in only. Returns "local" with no key if the user takes the
86
+ * default or declines every hosted option.
94
87
  */
95
88
  async function promptEmbeddingProvider(rl) {
96
- const existing = detectExistingEmbeddingKey();
97
- if (existing) {
98
- const label = EMBEDDING_PROVIDERS.find((p) => p.id === existing.id).label;
99
- const answer = await ask(rl, `\n► Embeddings: detected ${existing.id.toUpperCase()}_API_KEY in your shell — use ${label} for Yith embeddings? [Y/n] `);
100
- if (answer.trim().toLowerCase() !== "n") {
101
- return { providerId: existing.id, apiKey: existing.key };
102
- }
103
- // User declined the detected key — fall through to full menu.
104
- }
105
89
  console.log("\n► Embeddings:");
106
90
  console.log(" Yith Archive uses local embeddings by default. Alternatives are available if you'd rather");
107
91
  console.log(" use a hosted provider:\n");
@@ -166,6 +150,7 @@ function loadClaudeJson() {
166
150
  return {};
167
151
  try {
168
152
  const raw = fs.readFileSync(CLAUDE_JSON_PATH, "utf-8");
153
+ // @ts-safety:allow — widening JSON.parse to unknown forces the narrowing below
169
154
  const parsed = JSON.parse(raw);
170
155
  if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
171
156
  return null;
@@ -371,17 +356,164 @@ function createInitialConfig(configPath) {
371
356
  fs.writeFileSync(configPath, JSON.stringify(initialConfig, null, 2), "utf-8");
372
357
  console.log(` Created config: ${configPath}`);
373
358
  }
359
+ /**
360
+ * Default transcript-retention window (days) written to Claude Code's
361
+ * settings when the user opts in. Claude Code deletes session transcripts
362
+ * after ~30 days by default; raising the window guarantees the Yith
363
+ * ingestion pipeline sees every session before deletion.
364
+ */
365
+ const RETENTION_DAYS = 365;
366
+ /**
367
+ * Install (or replace) the background-ingestion crontab entry. Same line
368
+ * `bind --install-cron` writes — kept in install so a default setup gets
369
+ * proactive ingestion without a second command. Returns false when no
370
+ * crontab binary is available (e.g. some containers); never throws.
371
+ */
372
+ function installBindCrontab(intervalSpec) {
373
+ try {
374
+ const schedule = parseIntervalSpec(intervalSpec);
375
+ const binCmd = process.argv[1] ?? "oh-my-claudecode";
376
+ const line = buildCrontabLine({
377
+ schedule,
378
+ command: `${binCmd} bind --resume`,
379
+ });
380
+ let current = "";
381
+ try {
382
+ current = execFileSync("crontab", ["-l"], {
383
+ encoding: "utf-8",
384
+ stdio: ["ignore", "pipe", "ignore"],
385
+ });
386
+ }
387
+ catch {
388
+ current = "";
389
+ }
390
+ const updated = installCrontabEntry(current, line);
391
+ execFileSync("crontab", ["-"], { input: updated });
392
+ console.log(` Installed ingestion cron (every ${intervalSpec}): ${binCmd} bind --resume`);
393
+ return true;
394
+ }
395
+ catch (err) {
396
+ console.log(` ⚠ Could not install crontab entry (${err instanceof Error ? err.message : String(err)}). ` +
397
+ `Run \`oh-my-claudecode bind --install-cron\` later, or rely on the session hooks.`);
398
+ return false;
399
+ }
400
+ }
401
+ /**
402
+ * Eagerly download the local embedding model with an inline progress bar
403
+ * so the user's first session never stalls on a silent 137 MB fetch.
404
+ * Failures are non-fatal — the model downloads lazily on first use and
405
+ * search falls back to BM25-only in the meantime.
406
+ */
407
+ async function downloadLocalEmbeddingModel() {
408
+ try {
409
+ const { LocalEmbeddingProvider, localModelCacheDir } = await import("../features/yith-archive/providers/embedding/local.js");
410
+ const provider = new LocalEmbeddingProvider();
411
+ console.log(` Model: ${provider.name} → ${localModelCacheDir()}`);
412
+ const isTTY = process.stdout.isTTY ?? false;
413
+ let lastRender = 0;
414
+ await provider.warmUp({
415
+ onProgress: (e) => {
416
+ if (e.phase === "downloading" && e.total && e.loaded !== undefined) {
417
+ const now = Date.now();
418
+ if (now - lastRender < 100)
419
+ return;
420
+ lastRender = now;
421
+ const pct = Math.min(100, Math.floor((e.loaded / e.total) * 100));
422
+ const bar = "█".repeat(Math.floor(pct / 4)).padEnd(25, "░");
423
+ const mb = (n) => (n / 1024 / 1024).toFixed(1);
424
+ const line = ` [${bar}] ${pct}% ${mb(e.loaded)}/${mb(e.total)} MB ${e.message ?? ""}`;
425
+ if (isTTY)
426
+ process.stdout.write(`\r${line.padEnd(80)}`);
427
+ }
428
+ },
429
+ });
430
+ if (isTTY)
431
+ process.stdout.write(`\r${" ".repeat(80)}\r`);
432
+ // Verify functionality end-to-end, not just file presence.
433
+ const probe = await provider.embed("install probe");
434
+ console.log(` ✓ Embedding model ready and verified (${probe.length} dims)`);
435
+ }
436
+ catch (err) {
437
+ const msg = err instanceof Error ? err.message : String(err);
438
+ console.log(` ⚠ Model download failed: ${msg}`);
439
+ console.log(" Search runs in BM25-only mode until the model is available. " +
440
+ "Retry with `oh-my-claudecode bind` (resumable).");
441
+ }
442
+ }
443
+ /**
444
+ * Launch the OpenTUI install wizard when Bun is available. Returns the
445
+ * collected choices, "cancelled" when the user backed out, or null when
446
+ * the wizard can't run (no Bun, missing entry) — callers fall back to
447
+ * the plain readline prompts in that case.
448
+ */
449
+ function runWizardIfAvailable(packageRoot) {
450
+ const entry = path.join(packageRoot, "tui", "wizard.tsx");
451
+ if (!fs.existsSync(entry))
452
+ return null;
453
+ if (!(process.stdout.isTTY ?? false))
454
+ return null;
455
+ let bun = null;
456
+ for (const candidate of ["bun", path.join(HOME, ".bun", "bin", "bun")]) {
457
+ try {
458
+ if (spawnSync(candidate, ["--version"], { stdio: "ignore" }).status === 0) {
459
+ bun = candidate;
460
+ break;
461
+ }
462
+ }
463
+ catch {
464
+ /* try next */
465
+ }
466
+ }
467
+ if (!bun)
468
+ return null;
469
+ const out = path.join(os.tmpdir(), `omc-wizard-${process.pid}.json`);
470
+ const result = spawnSync(bun, ["run", entry, "--out", out], { stdio: "inherit" });
471
+ if (result.status === 2)
472
+ return "cancelled";
473
+ if (result.status !== 0)
474
+ return null;
475
+ try {
476
+ const choices = JSON.parse(fs.readFileSync(out, "utf-8"));
477
+ fs.unlinkSync(out);
478
+ return choices;
479
+ }
480
+ catch {
481
+ return null;
482
+ }
483
+ }
374
484
  export async function runInstall(options) {
375
485
  const { noTui = false, packageRoot } = options;
376
- console.log("\n╔══════════════════════════════════════════════════════╗");
377
- console.log("║ oh-my-claudecode Elder Gods Arise ║");
378
- console.log("║ Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn ║");
379
- console.log("╚══════════════════════════════════════════════════════╝\n");
486
+ let installCron = options.cron !== false;
487
+ let setRetention = options.retention !== false;
488
+ let downloadModel = options.model !== false;
489
+ const { CLI_VERSION } = await import("./version.js");
490
+ console.log(renderLogoAnsi({ version: CLI_VERSION }));
380
491
  ensureDir(CLAUDE_DIR);
381
492
  let disabledHooks = new Set();
382
493
  let disabledCommands = new Set();
383
494
  let embeddingChoice = { providerId: "local" };
495
+ // Prefer the OpenTUI wizard when Bun is available; fall back to plain
496
+ // readline prompts otherwise. Both collect the same choices.
497
+ let wizardHandled = false;
384
498
  if (!noTui) {
499
+ const wizard = runWizardIfAvailable(packageRoot);
500
+ if (wizard === "cancelled") {
501
+ console.log("\nInstall cancelled — nothing was changed.\n");
502
+ return;
503
+ }
504
+ if (wizard) {
505
+ wizardHandled = true;
506
+ embeddingChoice = { providerId: wizard.provider, apiKey: wizard.apiKey };
507
+ if (wizard.provider !== "local" && !wizard.apiKey) {
508
+ console.log(" No API key entered — falling back to local embeddings.");
509
+ embeddingChoice = { providerId: "local" };
510
+ }
511
+ installCron = wizard.cron;
512
+ setRetention = wizard.retention;
513
+ downloadModel = wizard.model;
514
+ }
515
+ }
516
+ if (!noTui && !wizardHandled) {
385
517
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
386
518
  console.log("The Elder Gods shall be configured for your codebase.\n");
387
519
  const hookAnswer = await ask(rl, "Enable all lifecycle hooks? [Y/n] ");
@@ -405,6 +537,16 @@ export async function runInstall(options) {
405
537
  disabledCommands = new Set(["all"]);
406
538
  }
407
539
  embeddingChoice = await promptEmbeddingProvider(rl);
540
+ if (installCron) {
541
+ const cronAnswer = await ask(rl, "\nInstall a background ingestion cron so the memory archive stays current even when Claude Code is closed? [Y/n] ");
542
+ if (cronAnswer.trim().toLowerCase() === "n")
543
+ installCron = false;
544
+ }
545
+ if (setRetention) {
546
+ const retentionAnswer = await ask(rl, `\nClaude Code deletes session transcripts after ~30 days by default. Raise retention to ${RETENTION_DAYS} days so history is never lost before ingestion? [Y/n] `);
547
+ if (retentionAnswer.trim().toLowerCase() === "n")
548
+ setRetention = false;
549
+ }
408
550
  rl.close();
409
551
  console.log();
410
552
  }
@@ -415,12 +557,21 @@ export async function runInstall(options) {
415
557
  // Ensure Yith data dir before writing .env or settings
416
558
  console.log("\n► Yith Archive:");
417
559
  ensureYithDataDir();
560
+ // Pin the choice explicitly so a stray API key in the user's shell can
561
+ // never silently reroute embeddings to a hosted provider.
562
+ writeYithEnvKey("EMBEDDING_PROVIDER", embeddingChoice.providerId);
418
563
  if (embeddingChoice.providerId !== "local" && embeddingChoice.apiKey) {
419
564
  const envKey = EMBEDDING_PROVIDERS.find((p) => p.id === embeddingChoice.providerId).envKey;
420
565
  writeYithEnvKey(envKey, embeddingChoice.apiKey);
421
566
  }
422
567
  else {
423
- console.log(" Embeddings: local nomic (no API key needed)");
568
+ console.log(" Embeddings: local nomic (private, no API key needed)");
569
+ if (downloadModel) {
570
+ await downloadLocalEmbeddingModel();
571
+ }
572
+ else {
573
+ console.log(" Skipping model download (--no-model) — first use will download lazily.");
574
+ }
424
575
  }
425
576
  // Update ~/.claude/settings.json (hooks only — MCP servers live
426
577
  // in ~/.claude.json, handled separately below).
@@ -430,6 +581,16 @@ export async function runInstall(options) {
430
581
  // Heal older broken installs that wrote yith-archive to the wrong
431
582
  // file. No-op if the user is on a fresh install.
432
583
  cleanupLegacyMcpEntry(settings);
584
+ if (setRetention) {
585
+ const existing = settings.cleanupPeriodDays;
586
+ if (typeof existing !== "number" || existing < RETENTION_DAYS) {
587
+ settings.cleanupPeriodDays = RETENTION_DAYS;
588
+ console.log(` Set cleanupPeriodDays: ${RETENTION_DAYS} (transcripts retained long enough for ingestion)`);
589
+ }
590
+ else {
591
+ console.log(` cleanupPeriodDays already ${existing} — left unchanged`);
592
+ }
593
+ }
433
594
  saveSettings(settings);
434
595
  console.log(` Saved settings to ${SETTINGS_PATH}`);
435
596
  // Register the Yith MCP server at the user-scope location Claude
@@ -448,19 +609,25 @@ export async function runInstall(options) {
448
609
  console.log("\n► Config:");
449
610
  const configPath = path.join(CLAUDE_DIR, "oh-my-claudecode.jsonc");
450
611
  createInitialConfig(configPath);
451
- console.log("\n╔══════════════════════════════════════════════════════╗");
452
- console.log("║ Installation Complete! ║");
453
- console.log("║ ║");
454
- console.log("║ The Elder Gods now watch over your codebase. ║");
455
- console.log("║ Cthulhu orchestrates. Shoggoth searches. ║");
456
- console.log("║ Yog-Sothoth knows. R'lyeh has risen. ║");
457
- console.log("╚══════════════════════════════════════════════════════╝");
458
- console.log(`\nConfig: ${path.join(CLAUDE_DIR, "oh-my-claudecode.jsonc")}`);
459
- console.log(`Commands: ${COMMANDS_DIR}`);
460
- console.log(`Yith data: ${YITH_DATA_DIR}`);
461
- if (embeddingChoice.providerId === "local") {
462
- console.log("\nNote: first Yith session will download the nomic embedding model (~137 MB). One-time.");
463
- }
464
- console.log("Start a new Claude Code session and type /cthulhu to begin.\n");
612
+ // Render agent definitions into ~/.claude/agents/ so the Agent tool
613
+ // can spawn them by subagent_type. Config must exist first — sync
614
+ // applies its overrides.
615
+ console.log("\n► Agents:");
616
+ await runSync({});
617
+ // Background ingestion cron — proactive transcript capture decoupled
618
+ // from Claude Code being open.
619
+ if (installCron) {
620
+ console.log("\n► Ingestion cron:");
621
+ installBindCrontab("6h");
622
+ }
623
+ console.log("\n ✦ The Elder Gods now watch over your codebase.\n");
624
+ console.log(` Config ${path.join(CLAUDE_DIR, "oh-my-claudecode.jsonc")}`);
625
+ console.log(` Commands ${COMMANDS_DIR}`);
626
+ console.log(` Yith data ${YITH_DATA_DIR}`);
627
+ if (embeddingChoice.providerId === "local" && !downloadModel) {
628
+ console.log("\n Note: first Yith session will download the embedding model (~137 MB). One-time.");
629
+ }
630
+ console.log("\n Next: start a Claude Code session and type /cthulhu —");
631
+ console.log(" or run `oh-my-claudecode dashboard` to see everything at a glance.\n");
465
632
  }
466
633
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * `oh-my-claudecode lint` — the executable entry point for the type-safety
3
+ * linter. Used three ways:
4
+ *
5
+ * - `lint --staged` from a git pre-commit hook: lints staged .ts files
6
+ * and exits non-zero on errors, blocking the commit.
7
+ * - `lint <files...> [--fix]`: ad-hoc linting with auto-fix for the
8
+ * safe mechanical violations (`: any` → `: unknown`, `as any` →
9
+ * `as unknown`, bare `@ts-ignore` → reasoned).
10
+ * - `lint --metrics <path>`: exports a TypeSafetyMetrics JSON snapshot
11
+ * for CI/CD dashboards to track compliance over time.
12
+ *
13
+ * Respects `type_safety.enabled: false` in oh-my-claudecode.jsonc.
14
+ */
15
+ export interface LintOptions {
16
+ files?: string[];
17
+ staged?: boolean;
18
+ fix?: boolean;
19
+ /** Write a metrics JSON snapshot to this path. */
20
+ metrics?: string;
21
+ /** Print machine-readable JSON instead of human output. */
22
+ json?: boolean;
23
+ }
24
+ /** Returns the process exit code (0 = clean / disabled, 1 = errors found). */
25
+ export declare function runLint(options?: LintOptions): Promise<number>;
26
+ //# sourceMappingURL=lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/cli/lint.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAkBD,8EAA8E;AAC9E,wBAAsB,OAAO,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8ExE"}
@@ -0,0 +1,86 @@
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import { execFileSync } from "node:child_process";
4
+ import { lintFileAST, fixIssuesInFile, generateTypeMetrics, exportMetrics, } from "../linters/type-safety-ast.js";
5
+ import { loadPluginConfig } from "../plugin-config.js";
6
+ function stagedTsFiles() {
7
+ try {
8
+ const out = execFileSync("git", ["diff", "--cached", "--name-only", "--diff-filter=ACM"], { encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] });
9
+ return out
10
+ .split("\n")
11
+ .filter((f) => /\.tsx?$/.test(f) && !f.endsWith(".d.ts"))
12
+ .filter((f) => fs.existsSync(f));
13
+ }
14
+ catch {
15
+ return [];
16
+ }
17
+ }
18
+ /** Returns the process exit code (0 = clean / disabled, 1 = errors found). */
19
+ export async function runLint(options = {}) {
20
+ const config = loadPluginConfig(process.cwd());
21
+ if (config.type_safety?.enabled === false) {
22
+ if (!options.json)
23
+ console.log("Type safety linting disabled via config (type_safety.enabled: false)");
24
+ return 0;
25
+ }
26
+ const files = options.staged
27
+ ? stagedTsFiles()
28
+ : (options.files ?? []).filter((f) => /\.tsx?$/.test(f) && fs.existsSync(f));
29
+ if (files.length === 0) {
30
+ if (!options.json)
31
+ console.log("No TypeScript files to lint.");
32
+ return 0;
33
+ }
34
+ const issuesByFile = new Map();
35
+ for (const file of files) {
36
+ let issues = lintFileAST(file);
37
+ if (options.fix && issues.some((i) => i.fixable)) {
38
+ const result = fixIssuesInFile(file, issues);
39
+ if (result.issuesFixed > 0 && !options.json) {
40
+ console.log(` fixed ${result.issuesFixed} issue(s) in ${file}`);
41
+ }
42
+ issues = lintFileAST(file);
43
+ }
44
+ if (issues.length > 0)
45
+ issuesByFile.set(file, issues);
46
+ }
47
+ if (options.metrics) {
48
+ const metrics = generateTypeMetrics(files);
49
+ const ok = exportMetrics(metrics, options.metrics);
50
+ if (!options.json) {
51
+ console.log(ok
52
+ ? `Metrics written to ${options.metrics} (score ${metrics.scorePercentage}%)`
53
+ : `Failed to write metrics to ${options.metrics}`);
54
+ }
55
+ }
56
+ let errorCount = 0;
57
+ let warnCount = 0;
58
+ for (const issues of issuesByFile.values()) {
59
+ errorCount += issues.filter((i) => i.severity === "error").length;
60
+ warnCount += issues.filter((i) => i.severity !== "error").length;
61
+ }
62
+ if (options.json) {
63
+ console.log(JSON.stringify({
64
+ files: files.length,
65
+ errors: errorCount,
66
+ warnings: warnCount,
67
+ issues: Object.fromEntries(issuesByFile),
68
+ }, null, 2));
69
+ }
70
+ else {
71
+ for (const [file, issues] of issuesByFile) {
72
+ for (const issue of issues) {
73
+ const tag = issue.severity === "error" ? "✗" : "⚠";
74
+ console.log(` ${tag} ${path.relative(process.cwd(), file)}:${issue.line}:${issue.column} [${issue.ruleId}] ${issue.message}`);
75
+ if (issue.fix)
76
+ console.log(` fix: ${issue.fix}`);
77
+ }
78
+ }
79
+ console.log(`\n${files.length} file(s) checked — ${errorCount} error(s), ${warnCount} warning(s)`);
80
+ if (errorCount > 0) {
81
+ console.log("Blocking: fix the errors above (or run with --fix for the mechanical ones).");
82
+ }
83
+ }
84
+ return errorCount > 0 ? 1 : 0;
85
+ }
86
+ //# sourceMappingURL=lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/cli/lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { type CheckResult } from "./doctor.js";
2
+ /**
3
+ * `oh-my-claudecode stats --json` — one-shot machine-readable snapshot of
4
+ * everything the dashboard TUI renders: archive contents, capture health,
5
+ * agents, hooks, config, and the full doctor check suite. Keeping data
6
+ * collection in the node CLI means the Bun-side TUI is a pure renderer
7
+ * with zero native-module risk.
8
+ */
9
+ export interface StatsSnapshot {
10
+ version: string;
11
+ generatedAt: string;
12
+ archive: {
13
+ bound: boolean;
14
+ memories: number;
15
+ observations: number;
16
+ sessions: number;
17
+ pendingCompression: number;
18
+ diskBytes: number;
19
+ modelCacheBytes: number;
20
+ embeddingProvider: string | null;
21
+ embeddingDimensions: number | null;
22
+ bindPhases: Record<string, string>;
23
+ };
24
+ capture: {
25
+ lastSuccessEpoch: number | null;
26
+ cronInstalled: boolean;
27
+ retentionDays: number | null;
28
+ };
29
+ agents: Array<{
30
+ name: string;
31
+ model: string;
32
+ installed: boolean;
33
+ category: string;
34
+ cost: string;
35
+ }>;
36
+ hooks: Array<{
37
+ name: string;
38
+ event: string;
39
+ installed: boolean;
40
+ }>;
41
+ config: {
42
+ path: string;
43
+ exists: boolean;
44
+ disabledAgents: string[];
45
+ disabledHooks: string[];
46
+ webResearch: boolean;
47
+ typeSafety: boolean;
48
+ frontendDesign: boolean;
49
+ };
50
+ doctor: CheckResult[];
51
+ }
52
+ export declare function collectStats(projectDirectory?: string): Promise<StatsSnapshot>;
53
+ export declare function runStats(options?: {
54
+ json?: boolean;
55
+ }): Promise<void>;
56
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/cli/stats.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAQ7D;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,YAAY,EAAE,MAAM,CAAA;QACpB,QAAQ,EAAE,MAAM,CAAA;QAChB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,SAAS,EAAE,MAAM,CAAA;QACjB,eAAe,EAAE,MAAM,CAAA;QACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;QAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;QAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAA;IACD,OAAO,EAAE;QACP,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;QAC/B,aAAa,EAAE,OAAO,CAAA;QACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B,CAAA;IACD,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClG,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACjE,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,WAAW,EAAE,OAAO,CAAA;QACpB,UAAU,EAAE,OAAO,CAAA;QACnB,cAAc,EAAE,OAAO,CAAA;KACxB,CAAA;IACD,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB;AAoBD,wBAAsB,YAAY,CAAC,gBAAgB,GAAE,MAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CA0JnG;AAED,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E"}