oh-my-claudecode 0.2.8 → 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 +16 -5
- package/dist/features/yith-archive/providers/embedding/local.d.ts.map +1 -1
- package/dist/features/yith-archive/providers/embedding/local.js +29 -11
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/agents/render.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,aAAa,GAAG;IACpB,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,MAAM;CACE,CAAA;AAEV,yFAAyF;AACzF,MAAM,aAAa,GAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAE/D,wGAAwG;AACxG,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAA;AAEhE;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA2B;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAChD,CAAA;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,yDAAyD;AACzD,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACzC,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,MAAmB,EAAE,OAAe;IACtE,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAA;IAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAClC,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAA;IACxC,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CACR,QAAQ,gBAAgB,KAAK,OAAO,+CAA+C;QACjF,kFAAkF,CACrF,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Launcher for the OpenTUI dashboard. OpenTUI's native renderer needs
|
|
3
|
+
* Bun (the node path requires experimental FFI flags), so the dashboard
|
|
4
|
+
* ships as Bun-run TypeScript under tui/ and this command bridges into
|
|
5
|
+
* it. The TUI is a pure renderer — all data flows through
|
|
6
|
+
* `oh-my-claudecode stats --json`, executed back through this same node
|
|
7
|
+
* CLI, so Bun never touches the archive or native modules directly.
|
|
8
|
+
*/
|
|
9
|
+
export declare function runDashboard(options: {
|
|
10
|
+
packageRoot: string;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/cli/dashboard.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BlF"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import { spawnSync } from "node:child_process";
|
|
4
|
+
/**
|
|
5
|
+
* Launcher for the OpenTUI dashboard. OpenTUI's native renderer needs
|
|
6
|
+
* Bun (the node path requires experimental FFI flags), so the dashboard
|
|
7
|
+
* ships as Bun-run TypeScript under tui/ and this command bridges into
|
|
8
|
+
* it. The TUI is a pure renderer — all data flows through
|
|
9
|
+
* `oh-my-claudecode stats --json`, executed back through this same node
|
|
10
|
+
* CLI, so Bun never touches the archive or native modules directly.
|
|
11
|
+
*/
|
|
12
|
+
export async function runDashboard(options) {
|
|
13
|
+
const bun = findBun();
|
|
14
|
+
if (!bun) {
|
|
15
|
+
console.log("\nThe dashboard renders with OpenTUI, which needs the Bun runtime.");
|
|
16
|
+
console.log("Install Bun (one-time, ~90 MB):\n");
|
|
17
|
+
console.log(" npm install -g bun");
|
|
18
|
+
console.log(" # or: curl -fsSL https://bun.sh/install | bash\n");
|
|
19
|
+
console.log("Then run `oh-my-claudecode dashboard` again.");
|
|
20
|
+
console.log("(Everything else — install, sync, bind, doctor — works without Bun.)\n");
|
|
21
|
+
process.exitCode = 1;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const entry = path.join(options.packageRoot, "tui", "dashboard.tsx");
|
|
25
|
+
if (!fs.existsSync(entry)) {
|
|
26
|
+
console.log(`Dashboard entry missing: ${entry} — reinstall oh-my-claudecode.`);
|
|
27
|
+
process.exitCode = 1;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const result = spawnSync(bun, ["run", entry], {
|
|
31
|
+
stdio: "inherit",
|
|
32
|
+
env: {
|
|
33
|
+
...process.env,
|
|
34
|
+
// Let the TUI shell back into this exact CLI for data and actions.
|
|
35
|
+
// Absolute path to the built CLI entry — `node $OMC_CLI <args>`.
|
|
36
|
+
OMC_CLI: path.join(options.packageRoot, "dist", "cli", "index.js"),
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
process.exitCode = result.status ?? 0;
|
|
40
|
+
}
|
|
41
|
+
function findBun() {
|
|
42
|
+
const candidates = [
|
|
43
|
+
"bun",
|
|
44
|
+
path.join(process.env.HOME ?? "", ".bun", "bin", "bun"),
|
|
45
|
+
];
|
|
46
|
+
for (const candidate of candidates) {
|
|
47
|
+
try {
|
|
48
|
+
const probe = spawnSync(candidate, ["--version"], { stdio: "ignore" });
|
|
49
|
+
if (probe.status === 0)
|
|
50
|
+
return candidate;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
/* try next */
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/cli/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgC;IACjE,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;IACrB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAA;QACjF,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAChD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;QACrF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,gCAAgC,CAAC,CAAA;QAC9E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QAC5C,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,mEAAmE;YACnE,iEAAiE;YACjE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;SACnE;KACF,CAAC,CAAA;IACF,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,OAAO;IACd,MAAM,UAAU,GAAG;QACjB,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACxD,CAAA;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAA;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -5,5 +5,16 @@
|
|
|
5
5
|
* single source of truth for what functions exist.
|
|
6
6
|
*/
|
|
7
7
|
export declare function printYithFunctionCatalog(): void;
|
|
8
|
+
export interface CheckResult {
|
|
9
|
+
name: string;
|
|
10
|
+
status: "ok" | "warn" | "error";
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Run every health check and return structured results. Shared by the
|
|
15
|
+
* `doctor` CLI (which prints them) and the dashboard TUI (which renders
|
|
16
|
+
* them).
|
|
17
|
+
*/
|
|
18
|
+
export declare function collectChecks(projectDirectory?: string): Promise<CheckResult[]>;
|
|
8
19
|
export declare function runDoctor(projectDirectory?: string): Promise<void>;
|
|
9
20
|
//# sourceMappingURL=doctor.d.ts.map
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AA6BA;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAiC/C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB;AAkBD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,gBAAgB,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAuYpG;AAED,wBAAsB,SAAS,CAAC,gBAAgB,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BvF"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import * as fs from "fs";
|
|
2
2
|
import * as path from "path";
|
|
3
|
+
import { execFileSync } from "node:child_process";
|
|
3
4
|
import { ALL_HOOK_DEFINITIONS } from "../hooks/index.js";
|
|
4
5
|
import { AGENT_METADATA_MAP } from "../agents/builtin-agents.js";
|
|
5
6
|
import { loadPluginConfig } from "../plugin-config.js";
|
|
7
|
+
import { runSync } from "./sync.js";
|
|
8
|
+
import { BIND_CRON_MARKER } from "./bind-cron.js";
|
|
6
9
|
import { FULL_CATALOG, groupFullCatalog, LLM_REQUIRED_FUNCTIONS, } from "../mcp/yith-catalog.js";
|
|
7
10
|
const HOME = process.env.HOME ?? process.env.USERPROFILE ?? "";
|
|
8
11
|
const CLAUDE_DIR = path.join(HOME, ".claude");
|
|
9
12
|
const HOOKS_DIR = path.join(CLAUDE_DIR, "hooks");
|
|
10
|
-
const
|
|
13
|
+
const COMMANDS_DIR = path.join(CLAUDE_DIR, "commands");
|
|
11
14
|
const SETTINGS_PATH = path.join(CLAUDE_DIR, "settings.json");
|
|
12
15
|
/**
|
|
13
16
|
* Claude Code reads user-level MCP servers from ~/.claude.json (top-
|
|
@@ -59,10 +62,12 @@ function warn(name, condition, okMsg, warnMsg) {
|
|
|
59
62
|
message: condition ? okMsg : warnMsg,
|
|
60
63
|
};
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Run every health check and return structured results. Shared by the
|
|
67
|
+
* `doctor` CLI (which prints them) and the dashboard TUI (which renders
|
|
68
|
+
* them).
|
|
69
|
+
*/
|
|
70
|
+
export async function collectChecks(projectDirectory = process.cwd()) {
|
|
66
71
|
const results = [];
|
|
67
72
|
// ── Check 1: ~/.claude directory ────────────────────────────────────────────
|
|
68
73
|
results.push(check("Claude directory", fs.existsSync(CLAUDE_DIR), `~/.claude exists`, `~/.claude not found — run: oh-my-claudecode install`));
|
|
@@ -90,11 +95,44 @@ export async function runDoctor(projectDirectory = process.cwd()) {
|
|
|
90
95
|
results.push({ name: "Hooks in settings.json", status: "error", message: "Failed to parse settings.json" });
|
|
91
96
|
}
|
|
92
97
|
}
|
|
93
|
-
// ── Check 5:
|
|
94
|
-
|
|
95
|
-
|
|
98
|
+
// ── Check 5: Agents installed and in sync ───────────────────────────────────
|
|
99
|
+
try {
|
|
100
|
+
const sync = await runSync({ check: true, quiet: true });
|
|
101
|
+
const installed = sync.unchanged.length;
|
|
102
|
+
if (sync.inSync && installed > 0) {
|
|
103
|
+
results.push({
|
|
104
|
+
name: "Agents",
|
|
105
|
+
status: "ok",
|
|
106
|
+
message: `${installed} agent definitions in sync in ~/.claude/agents/`,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
else if (installed === 0 && sync.written.length > 0 && sync.unchanged.length === 0) {
|
|
110
|
+
results.push({
|
|
111
|
+
name: "Agents",
|
|
112
|
+
status: "error",
|
|
113
|
+
message: `No agent definitions installed — run: oh-my-claudecode sync`,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
results.push({
|
|
118
|
+
name: "Agents",
|
|
119
|
+
status: "warn",
|
|
120
|
+
message: `Agent definitions out of date (${sync.written.length} stale, ${sync.removed.length} extraneous) — run: oh-my-claudecode sync`,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
results.push({
|
|
126
|
+
name: "Agents",
|
|
127
|
+
status: "error",
|
|
128
|
+
message: `Agent sync check failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
// ── Check 5b: Slash commands installed ──────────────────────────────────────
|
|
132
|
+
const commandsInstalled = fs.existsSync(COMMANDS_DIR)
|
|
133
|
+
? fs.readdirSync(COMMANDS_DIR).filter(f => f.endsWith(".md")).length
|
|
96
134
|
: 0;
|
|
97
|
-
results.push(warn("
|
|
135
|
+
results.push(warn("Slash commands", commandsInstalled > 0, `${commandsInstalled} commands installed in ~/.claude/commands/`, `No commands found in ~/.claude/commands/ — run: oh-my-claudecode install`));
|
|
98
136
|
// ── Check 6: Plugin config ───────────────────────────────────────────────────
|
|
99
137
|
const configPath = path.join(CLAUDE_DIR, "oh-my-claudecode.jsonc");
|
|
100
138
|
const altConfigPath = path.join(CLAUDE_DIR, "oh-my-claudecode.json");
|
|
@@ -236,6 +274,122 @@ export async function runDoctor(projectDirectory = process.cwd()) {
|
|
|
236
274
|
/* skip */
|
|
237
275
|
}
|
|
238
276
|
}
|
|
277
|
+
// ── Check 11b: Local embedding model functional ─────────────────────────────
|
|
278
|
+
try {
|
|
279
|
+
const { detectEmbeddingProvider } = await import("../features/yith-archive/config.js");
|
|
280
|
+
const providerId = detectEmbeddingProvider();
|
|
281
|
+
if (providerId === "local") {
|
|
282
|
+
const { LocalEmbeddingProvider, localModelCacheDir } = await import("../features/yith-archive/providers/embedding/local.js");
|
|
283
|
+
const cacheDir = localModelCacheDir();
|
|
284
|
+
const cached = fs.existsSync(cacheDir) && fs.readdirSync(cacheDir).length > 0;
|
|
285
|
+
if (!cached) {
|
|
286
|
+
results.push({
|
|
287
|
+
name: "Embedding model",
|
|
288
|
+
status: "warn",
|
|
289
|
+
message: `Not downloaded (${cacheDir} empty) — run: oh-my-claudecode install (or bind). BM25-only until then.`,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
// Probe end-to-end: load from cache and embed one string. Never
|
|
294
|
+
// triggers a download — the cache-presence gate above ensures that.
|
|
295
|
+
try {
|
|
296
|
+
const provider = new LocalEmbeddingProvider();
|
|
297
|
+
const probe = await provider.embed("doctor probe");
|
|
298
|
+
results.push({
|
|
299
|
+
name: "Embedding model",
|
|
300
|
+
status: probe.length === provider.dimensions ? "ok" : "warn",
|
|
301
|
+
message: `${provider.name} functional — ${probe.length} dims`,
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
306
|
+
results.push({
|
|
307
|
+
name: "Embedding model",
|
|
308
|
+
status: "error",
|
|
309
|
+
message: `Cached but failed to load: ${msg.slice(0, 120)} — if install failed on sharp/libvips, ` +
|
|
310
|
+
`retry with SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g oh-my-claudecode`,
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
results.push({
|
|
317
|
+
name: "Embedding model",
|
|
318
|
+
status: "ok",
|
|
319
|
+
message: `Hosted provider pinned: ${String(providerId)}`,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
results.push({
|
|
325
|
+
name: "Embedding model",
|
|
326
|
+
status: "error",
|
|
327
|
+
message: `Embedding stack failed to load: ${err instanceof Error ? err.message.slice(0, 140) : String(err)}`,
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
// ── Check 12: Ingestion cron installed ──────────────────────────────────────
|
|
331
|
+
let crontabBody = "";
|
|
332
|
+
let crontabAvailable = true;
|
|
333
|
+
try {
|
|
334
|
+
crontabBody = execFileSync("crontab", ["-l"], {
|
|
335
|
+
encoding: "utf-8",
|
|
336
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
catch {
|
|
340
|
+
crontabAvailable = false;
|
|
341
|
+
}
|
|
342
|
+
if (crontabAvailable) {
|
|
343
|
+
results.push(warn("Ingestion cron", crontabBody.includes(BIND_CRON_MARKER), "Background ingestion cron installed", "No ingestion cron — transcripts only ingest while Claude Code runs. Fix: oh-my-claudecode bind --install-cron --interval 6h"));
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
results.push({
|
|
347
|
+
name: "Ingestion cron",
|
|
348
|
+
status: "warn",
|
|
349
|
+
message: "crontab not available — relying on session hooks for ingestion",
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
// ── Check 13: Capture health beacon ─────────────────────────────────────────
|
|
353
|
+
const beaconPath = path.join(YITH_DATA_DIR, ".last-bind-success");
|
|
354
|
+
if (fs.existsSync(beaconPath)) {
|
|
355
|
+
try {
|
|
356
|
+
const epoch = parseInt(fs.readFileSync(beaconPath, "utf-8").trim(), 10);
|
|
357
|
+
const ageDays = (Date.now() / 1000 - epoch) / 86400;
|
|
358
|
+
results.push(warn("Capture health", ageDays < 7, `Last successful transcript ingestion ${ageDays < 1 ? "today" : `${Math.floor(ageDays)} day(s) ago`}`, `Last successful transcript ingestion was ${Math.floor(ageDays)} days ago — capture may be broken. Fix: oh-my-claudecode bind --resume`));
|
|
359
|
+
}
|
|
360
|
+
catch {
|
|
361
|
+
results.push({
|
|
362
|
+
name: "Capture health",
|
|
363
|
+
status: "warn",
|
|
364
|
+
message: "Capture beacon unreadable — run: oh-my-claudecode bind --resume",
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
else if (yithDirExists) {
|
|
369
|
+
results.push({
|
|
370
|
+
name: "Capture health",
|
|
371
|
+
status: "warn",
|
|
372
|
+
message: "Transcript ingestion has never completed — run: oh-my-claudecode bind",
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
// ── Check 14: Transcript retention window ───────────────────────────────────
|
|
376
|
+
if (settingsExists) {
|
|
377
|
+
try {
|
|
378
|
+
const settings = JSON.parse(fs.readFileSync(SETTINGS_PATH, "utf-8"));
|
|
379
|
+
const retention = settings.cleanupPeriodDays;
|
|
380
|
+
results.push(warn("Transcript retention", typeof retention === "number" && retention >= 90, `cleanupPeriodDays: ${String(retention)}`, "cleanupPeriodDays unset/low — Claude Code deletes transcripts after ~30 days; re-run install or set cleanupPeriodDays in ~/.claude/settings.json"));
|
|
381
|
+
}
|
|
382
|
+
catch {
|
|
383
|
+
/* settings.json unparseable, handled by earlier check */
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return results;
|
|
387
|
+
}
|
|
388
|
+
export async function runDoctor(projectDirectory = process.cwd()) {
|
|
389
|
+
console.log("\n╔══════════════════════════════════════════════════════╗");
|
|
390
|
+
console.log("║ oh-my-claudecode — Doctor Diagnostics ║");
|
|
391
|
+
console.log("╚══════════════════════════════════════════════════════╝\n");
|
|
392
|
+
const results = await collectChecks(projectDirectory);
|
|
239
393
|
// ── Print results ────────────────────────────────────────────────────────────
|
|
240
394
|
const icons = { ok: "✓", warn: "⚠", error: "✗" };
|
|
241
395
|
const colors = { ok: "\x1b[32m", warn: "\x1b[33m", error: "\x1b[31m" };
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -18,14 +18,69 @@ program
|
|
|
18
18
|
.version(CLI_VERSION);
|
|
19
19
|
program
|
|
20
20
|
.command("install")
|
|
21
|
-
.description("Interactive setup wizard — installs hooks,
|
|
21
|
+
.description("Interactive setup wizard — installs agents, hooks, slash commands, " +
|
|
22
|
+
"the Yith MCP server, the ingestion cron, and config")
|
|
22
23
|
.option("--no-tui", "Non-interactive mode (accept all defaults)")
|
|
24
|
+
.option("--no-cron", "Skip installing the background ingestion crontab entry")
|
|
25
|
+
.option("--no-retention", "Skip raising Claude Code's transcript retention window")
|
|
26
|
+
.option("--no-model", "Skip the eager embedding-model download (lazy on first use)")
|
|
23
27
|
.action(async (options) => {
|
|
24
28
|
await runInstall({
|
|
25
|
-
|
|
29
|
+
// Commander maps `--no-tui` onto `options.tui === false`.
|
|
30
|
+
noTui: options.tui === false,
|
|
31
|
+
cron: options.cron,
|
|
32
|
+
retention: options.retention,
|
|
33
|
+
model: options.model,
|
|
26
34
|
packageRoot: PACKAGE_ROOT,
|
|
27
35
|
});
|
|
28
36
|
});
|
|
37
|
+
program
|
|
38
|
+
.command("sync")
|
|
39
|
+
.description("Render the Elder God agent definitions into ~/.claude/agents/ — " +
|
|
40
|
+
"applies overrides from ~/.claude/oh-my-claudecode.jsonc. Idempotent.")
|
|
41
|
+
.option("--check", "Report drift without writing; exits 1 when out of sync")
|
|
42
|
+
.option("--quiet", "Suppress output")
|
|
43
|
+
.option("--project <dir>", "Also apply project-level agent overrides into <dir>/.claude/agents/")
|
|
44
|
+
.action(async (options) => {
|
|
45
|
+
const { runSync } = await import("./sync.js");
|
|
46
|
+
const outcome = await runSync({
|
|
47
|
+
check: options.check,
|
|
48
|
+
quiet: options.quiet,
|
|
49
|
+
projectDir: options.project,
|
|
50
|
+
});
|
|
51
|
+
if (options.check && !outcome.inSync) {
|
|
52
|
+
process.exitCode = 1;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
program
|
|
56
|
+
.command("stats")
|
|
57
|
+
.description("Snapshot of archive, agents, hooks, and health — feeds the dashboard")
|
|
58
|
+
.option("--json", "Machine-readable output")
|
|
59
|
+
.action(async (options) => {
|
|
60
|
+
const { runStats } = await import("./stats.js");
|
|
61
|
+
await runStats(options);
|
|
62
|
+
});
|
|
63
|
+
program
|
|
64
|
+
.command("dashboard")
|
|
65
|
+
.description("Full-screen TUI dashboard — stats, analytics, health checks, and " +
|
|
66
|
+
"settings. Requires Bun (OpenTUI renderer).")
|
|
67
|
+
.action(async () => {
|
|
68
|
+
const { runDashboard } = await import("./dashboard.js");
|
|
69
|
+
await runDashboard({ packageRoot: PACKAGE_ROOT });
|
|
70
|
+
});
|
|
71
|
+
program
|
|
72
|
+
.command("lint")
|
|
73
|
+
.description("Type-safety linter — bans `any`, unsafe casts, bare @ts-ignore, " +
|
|
74
|
+
"missing return types. Blocks on errors (exit 1).")
|
|
75
|
+
.argument("[files...]", "TypeScript files to lint")
|
|
76
|
+
.option("--staged", "Lint git-staged .ts files (pre-commit mode)")
|
|
77
|
+
.option("--fix", "Auto-fix safe violations in place")
|
|
78
|
+
.option("--metrics <path>", "Export a metrics JSON snapshot for CI dashboards")
|
|
79
|
+
.option("--json", "Machine-readable output")
|
|
80
|
+
.action(async (files, options) => {
|
|
81
|
+
const { runLint } = await import("./lint.js");
|
|
82
|
+
process.exitCode = await runLint({ files, ...options });
|
|
83
|
+
});
|
|
29
84
|
program
|
|
30
85
|
.command("doctor")
|
|
31
86
|
.description("Health diagnostics — verify installation is complete")
|
|
@@ -140,7 +195,7 @@ program
|
|
|
140
195
|
isTTY: process.stdout.isTTY ?? false,
|
|
141
196
|
});
|
|
142
197
|
try {
|
|
143
|
-
await runBind({
|
|
198
|
+
const finalState = await runBind({
|
|
144
199
|
archive,
|
|
145
200
|
tui,
|
|
146
201
|
force: options.forceAll
|
|
@@ -160,6 +215,20 @@ program
|
|
|
160
215
|
onlyPhases: options.claudeOnly ? ["claude_transcripts"] : undefined,
|
|
161
216
|
projectCwd: options.project,
|
|
162
217
|
});
|
|
218
|
+
// Capture-health beacon: record when transcript ingestion last
|
|
219
|
+
// succeeded. The cthulhu-auto preflight and `doctor` read this to
|
|
220
|
+
// warn when continuous capture has silently stopped working.
|
|
221
|
+
if (finalState.phases.claude_transcripts?.status === "completed") {
|
|
222
|
+
const { writeFileSync } = await import("node:fs");
|
|
223
|
+
const { join } = await import("node:path");
|
|
224
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
|
|
225
|
+
try {
|
|
226
|
+
writeFileSync(join(home, ".oh-my-claudecode", "yith", ".last-bind-success"), `${Math.floor(Date.now() / 1000)}\n`, "utf-8");
|
|
227
|
+
}
|
|
228
|
+
catch {
|
|
229
|
+
/* non-fatal — health beacon only */
|
|
230
|
+
}
|
|
231
|
+
}
|
|
163
232
|
}
|
|
164
233
|
finally {
|
|
165
234
|
await archive.shutdown();
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAErD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,4CAA4C,CAAC;KACzD,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/install.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export declare function runInstall(options: {
|
|
2
2
|
noTui?: boolean;
|
|
3
|
+
/** Install the background ingestion crontab entry (default true). */
|
|
4
|
+
cron?: boolean;
|
|
5
|
+
/** Raise Claude Code's transcript retention window (default true). */
|
|
6
|
+
retention?: boolean;
|
|
7
|
+
/** Eagerly download the local embedding model (default true). */
|
|
8
|
+
model?: boolean;
|
|
3
9
|
packageRoot: string;
|
|
4
10
|
}): Promise<void>;
|
|
5
11
|
//# sourceMappingURL=install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/cli/install.ts"],"names":[],"mappings":"AA0hBA,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmLhB"}
|