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.
- package/README.md +170 -68
- package/commands/cthulhu.md +9 -1
- package/commands/invoke-shub.md +8 -2
- package/commands/shoggoth.md +15 -25
- package/commands/yog-sothoth.md +18 -25
- package/dist/agents/render.d.ts +11 -0
- package/dist/agents/render.d.ts.map +1 -0
- package/dist/agents/render.js +69 -0
- package/dist/agents/render.js.map +1 -0
- package/dist/cli/dashboard.d.ts +12 -0
- package/dist/cli/dashboard.d.ts.map +1 -0
- package/dist/cli/dashboard.js +58 -0
- package/dist/cli/dashboard.js.map +1 -0
- package/dist/cli/doctor.d.ts +11 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +163 -9
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.js +72 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/install.d.ts +6 -0
- package/dist/cli/install.d.ts.map +1 -1
- package/dist/cli/install.js +211 -44
- package/dist/cli/install.js.map +1 -1
- package/dist/cli/lint.d.ts +26 -0
- package/dist/cli/lint.d.ts.map +1 -0
- package/dist/cli/lint.js +86 -0
- package/dist/cli/lint.js.map +1 -0
- package/dist/cli/stats.d.ts +56 -0
- package/dist/cli/stats.d.ts.map +1 -0
- package/dist/cli/stats.js +197 -0
- package/dist/cli/stats.js.map +1 -0
- package/dist/cli/sync.d.ts +44 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +154 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/config/schema.d.ts +337 -331
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +14 -10
- package/dist/config/schema.js.map +1 -1
- package/dist/features/block-summarizer/index.js +1 -0
- package/dist/features/block-summarizer/index.js.map +1 -1
- package/dist/features/yith-archive/config.d.ts.map +1 -1
- package/dist/features/yith-archive/config.js +11 -15
- package/dist/features/yith-archive/config.js.map +1 -1
- package/dist/features/yith-archive/eval/schemas.d.ts +2 -2
- package/dist/features/yith-archive/functions/migrate.d.ts.map +1 -1
- package/dist/features/yith-archive/functions/migrate.js +7 -3
- package/dist/features/yith-archive/functions/migrate.js.map +1 -1
- package/dist/features/yith-archive/functions/opencode-import.d.ts.map +1 -1
- package/dist/features/yith-archive/functions/opencode-import.js +54 -27
- package/dist/features/yith-archive/functions/opencode-import.js.map +1 -1
- package/dist/features/yith-archive/functions/smart-search.js.map +1 -1
- package/dist/features/yith-archive/functions/temporal-graph.d.ts.map +1 -1
- package/dist/features/yith-archive/functions/temporal-graph.js +1 -0
- package/dist/features/yith-archive/functions/temporal-graph.js.map +1 -1
- package/dist/features/yith-archive/providers/embedding/local.d.ts +17 -6
- package/dist/features/yith-archive/providers/embedding/local.d.ts.map +1 -1
- package/dist/features/yith-archive/providers/embedding/local.js +32 -14
- package/dist/features/yith-archive/providers/embedding/local.js.map +1 -1
- package/dist/features/yith-archive/state/fake-sdk.d.ts.map +1 -1
- package/dist/features/yith-archive/state/fake-sdk.js.map +1 -1
- package/dist/features/yith-archive/state/reranker.d.ts.map +1 -1
- package/dist/features/yith-archive/state/reranker.js +9 -2
- package/dist/features/yith-archive/state/reranker.js.map +1 -1
- package/dist/features/yith-archive/state/vector-index.d.ts.map +1 -1
- package/dist/features/yith-archive/state/vector-index.js +1 -0
- package/dist/features/yith-archive/state/vector-index.js.map +1 -1
- package/dist/hooks/agent-sync.d.ts +16 -0
- package/dist/hooks/agent-sync.d.ts.map +1 -0
- package/dist/hooks/agent-sync.js +42 -0
- package/dist/hooks/agent-sync.js.map +1 -0
- package/dist/hooks/comment-checker.d.ts +1 -1
- package/dist/hooks/comment-checker.d.ts.map +1 -1
- package/dist/hooks/comment-checker.js +10 -0
- package/dist/hooks/comment-checker.js.map +1 -1
- package/dist/hooks/cthulhu-auto.d.ts +1 -1
- package/dist/hooks/cthulhu-auto.d.ts.map +1 -1
- package/dist/hooks/cthulhu-auto.js +77 -8
- package/dist/hooks/cthulhu-auto.js.map +1 -1
- package/dist/hooks/cthulhu-preflight.d.ts.map +1 -1
- package/dist/hooks/cthulhu-preflight.js +6 -5
- package/dist/hooks/cthulhu-preflight.js.map +1 -1
- package/dist/hooks/design-detector-hook.d.ts +6 -5
- package/dist/hooks/design-detector-hook.d.ts.map +1 -1
- package/dist/hooks/design-detector-hook.js +27 -8
- package/dist/hooks/design-detector-hook.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +43 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/web-research-hook.d.ts +6 -5
- package/dist/hooks/web-research-hook.d.ts.map +1 -1
- package/dist/hooks/web-research-hook.js +30 -9
- package/dist/hooks/web-research-hook.js.map +1 -1
- package/dist/hooks/write-guard.d.ts +1 -1
- package/dist/hooks/write-guard.d.ts.map +1 -1
- package/dist/hooks/write-guard.js +10 -0
- package/dist/hooks/write-guard.js.map +1 -1
- package/dist/hooks/yith-capture.d.ts +9 -3
- package/dist/hooks/yith-capture.d.ts.map +1 -1
- package/dist/hooks/yith-capture.js +43 -14
- package/dist/hooks/yith-capture.js.map +1 -1
- package/dist/index.d.ts +12 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/linters/type-safety-ast.d.ts.map +1 -1
- package/dist/linters/type-safety-ast.js +42 -24
- package/dist/linters/type-safety-ast.js.map +1 -1
- package/dist/shared/ascii-logo.d.ts +24 -0
- package/dist/shared/ascii-logo.d.ts.map +1 -0
- package/dist/shared/ascii-logo.js +77 -0
- package/dist/shared/ascii-logo.js.map +1 -0
- package/dist/shared/model-resolution.d.ts +19 -6
- package/dist/shared/model-resolution.d.ts.map +1 -1
- package/dist/shared/model-resolution.js +25 -12
- package/dist/shared/model-resolution.js.map +1 -1
- package/package.json +9 -6
- package/tui/dashboard.tsx +504 -0
- package/tui/data.ts +178 -0
- package/tui/theme.ts +51 -0
- package/tui/tsconfig.json +15 -0
- package/tui/wizard.tsx +219 -0
- package/dist/plugin-handlers/config-handler.d.ts +0 -21
- package/dist/plugin-handlers/config-handler.d.ts.map +0 -1
- package/dist/plugin-handlers/config-handler.js +0 -33
- package/dist/plugin-handlers/config-handler.js.map +0 -1
- package/dist/plugin-handlers/index.d.ts +0 -2
- package/dist/plugin-handlers/index.d.ts.map +0 -1
- package/dist/plugin-handlers/index.js +0 -2
- package/dist/plugin-handlers/index.js.map +0 -1
package/dist/cli/install.js
CHANGED
|
@@ -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.
|
|
92
|
-
*
|
|
93
|
-
*
|
|
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
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
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
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
console.log("
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
}
|
|
464
|
-
console.log(
|
|
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
|
package/dist/cli/install.js.map
CHANGED
|
@@ -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"}
|
package/dist/cli/lint.js
ADDED
|
@@ -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"}
|