sverklo
C
Overall Health
thedotmack/claude-mem
https://github.com/thedotmack/claude-mem
2026-04-19 00:18:57
C
Dead code
18% orphan symbols (126/692)
A
Circular deps
0 cycles detected
F
Coupling
max fan-in: 128 (src/utils/logger.ts)
F
Security
284 concerns found

Overview

  • 379 files indexed
  • 1664 code symbols extracted
  • 17968 symbol references tracked
  • 0 active memories (0 core, 0 stale)
  • Languages: typescript (353), javascript (24), python (2)

God Nodes (most-referenced symbols)

These are the symbols your codebase depends on most. Changes here have the largest blast radius.

  • createSDKSession — 56 references
  • Server — 54 references
  • updateFolderClaudeMdFiles — 40 references
  • getSessionById — 37 references
  • stripMemoryTagsFromPrompt — 36 references
  • shouldFallbackToClaude — 33 references
  • getProjectName — 32 references
  • isDirectChild — 29 references
  • isWorkerUnavailableError — 29 references
  • isProjectExcluded — 26 references

Hub Files (highest PageRank)

Core architectural files — imported by many others.

  • src/utils/logger.ts (1.00)
  • src/shared/SettingsDefaultsManager.ts (0.12)
  • src/shared/paths.ts (0.12)
  • src/services/sqlite/SessionStore.ts (0.07)
  • src/services/domain/ModeManager.ts (0.07)
  • src/utils/transcript-parser.ts (0.05)
  • src/shared/hook-constants.ts (0.05)
  • src/supervisor/process-registry.ts (0.05)
  • src/npx-cli/utils/paths.ts (0.04)
  • src/shared/worker-utils.ts (0.04)

Orphans (potential dead code)

Named functions with zero detected references. Could be dead code, public API exports, or referenced dynamically.

  • createProcessRegistrysrc/supervisor/process-registry.ts:251
  • claudeMemDataDirectorysrc/npx-cli/utils/paths.ts:58
  • HEALTHCHECKTIMEOUT_MSsrc/shared/worker-utils.ts:10
  • fetchWithTimeoutsrc/shared/worker-utils.ts:31
  • buildWorkerUrlsrc/shared/worker-utils.ts:92
  • Supervisorsrc/supervisor/index.ts:25
  • getDatabasesrc/services/sqlite/Database.ts:332
  • asyncHandlersrc/services/server/ErrorHandler.ts:96
  • BaseRouteHandlersrc/services/worker/http/BaseRouteHandler.ts:16
  • detectStaleGeneratorsrc/services/worker/SessionManager.ts:57

Coupling (high-PageRank files)

  • src/utils/logger.ts (1.00)
  • src/shared/SettingsDefaultsManager.ts (0.12)
  • src/shared/paths.ts (0.12)

Security Issues (284 found)

Critical (4)

  • Command injection risksrc/services/infrastructure/ProcessManager.ts:469
  • execSync(taskkill /PID ${pid} /T /F, { timeout: HOOKTIMEOUTS.POWERSHELLCOMMAND, stdio: 'ignore', windowsHide: true }
  • Command injection risksrc/services/infrastructure/ProcessManager.ts:627
  • execSync(taskkill /PID ${pid} /T /F, { timeout: HOOKTIMEOUTS.POWERSHELLCOMMAND, stdio: 'ignore', windowsHide: true }
  • Command injection risksrc/npx-cli/commands/ide-detection.ts:39
  • execSync(${whichCommand} ${command}, { stdio: 'pipe' });
  • Command injection risksrc/npx-cli/commands/install.ts:370
  • execSync(node "${smartInstallPath}", {

High (2)

  • SQL injection (template literal)src/services/sqlite/SessionStore.ts:589
  • const tableInfo = this.db.query(PRAGMA table_info(${table})).all() as TableColumnInfo[];
  • SQL injection (template literal)src/services/sqlite/migrations/runner.ts:561
  • const tableInfo = this.db.query(PRAGMA table_info(${table})).all() as TableColumnInfo[];

Low (278)

  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:274
  • console.log( Configured MCP server in ${target === 'user' ? '~/.cursor' : '.cursor'}/mcp.json);
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:275
  • console.log( Server path: ${mcpServerPath});
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:293
  • console.log(\nInstalling Claude-Mem Cursor hooks (${target} level)...\n);
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:331
  • console.log( Using Bun runtime: ${bunPath});
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:356
  • console.log( Created hooks.json (unified CLI mode));
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:357
  • console.log( Worker service: ${workerServicePath});
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:364
  • console.log(`
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:400
  • console.log( Generating initial context...);
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:415
  • console.log( Generated initial context from existing memory);
  • Excessive console.logsrc/services/integrations/CursorHooksInstaller.ts:439
  • console.log( Created placeholder context file (will populate after first session));
  • ...and 268 more

Suggested Next Steps

  • Before refactoring createSDKSession, run sverklo_impact to see the 56 call sites
  • src/utils/logger.ts is your most-imported file — changes here cascade widely
  • 15+ potential orphans detected — audit for dead code

Trend

Last 2 audits: C → C (stable →)