sverklo
F
Overall Health
rowboatlabs/rowboat
https://github.com/rowboatlabs/rowboat
2026-04-19 00:13:41
F
Dead code
47% orphan symbols (1135/2423)
F
Circular deps
18 cycles detected
D
Coupling
max fan-in: 46 (apps/x/packages/core/src/config/config.ts)
F
Security
300 concerns found

Overview

  • 857 files indexed
  • 3746 code symbols extracted
  • 17467 symbol references tracked
  • 0 active memories (0 core, 0 stale)
  • Languages: typescript (828), python (15), javascript (14)

God Nodes (most-referenced symbols)

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

  • add — 80 references
  • BadRequestError — 78 references
  • authorize — 69 references
  • NotFoundError — 57 references
  • readFile — 48 references
  • writeFile — 44 references
  • authCheck — 43 references
  • getConfig — 41 references
  • update — 31 references
  • Button — 24 references

Hub Files (highest PageRank)

Core architectural files — imported by many others.

  • apps/x/packages/core/src/config/config.ts (1.00)
  • apps/rowboat/app/lib/types/workflow_types.ts (0.46)
  • apps/rowboat/app/actions/auth.actions.ts (0.43)
  • apps/rowboat/src/application/policies/usage-quota.policy.interface.ts (0.36)
  • apps/rowboat/src/application/policies/project-action-authorization.policy.ts (0.35)
  • apps/rowboat/app/lib/feature_flags.ts (0.35)
  • apps/rowboat/app/lib/auth0.ts (0.25)
  • apps/rowboat/app/lib/types/types.ts (0.20)
  • apps/rowboat/src/application/repositories/project-members.repository.interface.ts (0.19)
  • apps/cli/src/config/config.ts (0.19)

Orphans (potential dead code)

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

  • Formapps/rowboat/app/projects/[projectId]/sources/new/form.tsx:12
  • createUrlsDataSourceapps/rowboat/app/projects/[projectId]/sources/new/form.tsx:58
  • createFilesDataSourceapps/rowboat/app/projects/[projectId]/sources/new/form.tsx:88
  • createTextDataSourceapps/rowboat/app/projects/[projectId]/sources/new/form.tsx:103
  • InMemoryMessageQueueapps/cli/src/application/lib/message-queue.ts:14
  • FSAgentsRepoapps/cli/src/agents/repo.ts:19
  • AgentRuntimeapps/cli/src/agents/runtime.ts:30
  • RunLoggerapps/cli/src/agents/runtime.ts:152
  • StreamStepMessageBuilderapps/cli/src/agents/runtime.ts:183
  • normaliseAskHumanToolCallapps/cli/src/agents/runtime.ts:240

Coupling (high-PageRank files)

  • apps/x/packages/core/src/config/config.ts (1.00)
  • apps/rowboat/app/lib/types/workflow_types.ts (0.46)
  • apps/rowboat/app/actions/auth.actions.ts (0.43)
  • apps/rowboat/src/application/policies/usage-quota.policy.interface.ts (0.36)
  • apps/rowboat/src/application/policies/project-action-authorization.policy.ts (0.35)

Circular Dependencies (18 cycles)

  1. apps/x/packages/core/src/account/account.ts -> apps/x/packages/core/src/di/container.ts -> apps/x/packages/core/src/models/repo.ts -> apps/x/packages/core/src/models/models.ts -> apps/x/packages/core/src/account/account.ts
  2. apps/x/packages/core/src/auth/tokens.ts -> apps/x/packages/core/src/di/container.ts -> apps/x/packages/core/src/models/repo.ts -> apps/x/packages/core/src/models/models.ts -> apps/x/packages/core/src/models/gateway.ts -> apps/x/packages/core/src/auth/tokens.ts
  3. apps/x/packages/core/src/agents/runtime.ts -> apps/x/packages/core/src/application/lib/exec-tool.ts -> apps/x/packages/core/src/application/lib/builtin-tools.ts -> apps/x/packages/core/src/mcp/mcp.ts -> apps/x/packages/core/src/di/container.ts -> apps/x/packages/core/src/agents/runtime.ts
  4. apps/x/packages/core/src/agents/runtime.ts -> apps/x/packages/core/src/application/lib/exec-tool.ts -> apps/x/packages/core/src/application/lib/builtin-tools.ts -> apps/x/packages/core/src/di/container.ts -> apps/x/packages/core/src/agents/runtime.ts
  5. apps/x/packages/core/src/agents/runtime.ts -> apps/x/packages/core/src/di/container.ts -> apps/x/packages/core/src/agents/runtime.ts
  6. apps/rowboat/src/application/lib/agents-runtime/agent-handoffs.ts -> apps/rowboat/src/application/lib/agents-runtime/agents.ts -> apps/rowboat/src/application/lib/agents-runtime/agent-handoffs.ts
  7. apps/rowboat/src/application/lib/agents-runtime/agents.ts -> apps/rowboat/src/application/lib/agents-runtime/pipeline-state-manager.ts -> apps/rowboat/src/application/lib/agents-runtime/agents.ts
  8. apps/x/apps/main/src/ipc.ts -> apps/x/apps/main/src/oauth-handler.ts -> apps/x/apps/main/src/ipc.ts
  9. apps/cli/src/models/models.ts -> apps/cli/src/models/repo.ts -> apps/cli/src/models/models.ts
  10. apps/cli/src/di/container.ts -> apps/cli/src/models/repo.ts -> apps/cli/src/models/models.ts -> apps/cli/src/di/container.ts
  11. apps/cli/src/di/container.ts -> apps/cli/src/runs/repo.ts -> apps/cli/src/runs/runs.ts -> apps/cli/src/di/container.ts
  12. apps/cli/src/runs/repo.ts -> apps/cli/src/runs/runs.ts -> apps/cli/src/runs/repo.ts
  13. apps/cli/src/agents/runtime.ts -> apps/cli/src/application/lib/exec-tool.ts -> apps/cli/src/application/lib/builtin-tools.ts -> apps/cli/src/mcp/mcp.ts -> apps/cli/src/di/container.ts -> apps/cli/src/runs/repo.ts -> apps/cli/src/runs/runs.ts -> apps/cli/src/agents/runtime.ts
  14. apps/cli/src/agents/runtime.ts -> apps/cli/src/application/lib/exec-tool.ts -> apps/cli/src/application/lib/builtin-tools.ts -> apps/cli/src/di/container.ts -> apps/cli/src/runs/repo.ts -> apps/cli/src/runs/runs.ts -> apps/cli/src/agents/runtime.ts
  15. apps/cli/src/agents/runtime.ts -> apps/cli/src/di/container.ts -> apps/cli/src/runs/repo.ts -> apps/cli/src/runs/runs.ts -> apps/cli/src/agents/runtime.ts
  16. apps/cli/src/agents/runtime.ts -> apps/cli/src/runs/repo.ts -> apps/cli/src/runs/runs.ts -> apps/cli/src/agents/runtime.ts
  17. apps/rowboat/app/projects/[projectId]/copilot/app.tsx -> apps/rowboat/app/projects/[projectId]/copilot/components/messages.tsx -> apps/rowboat/app/projects/[projectId]/copilot/components/actions.tsx -> apps/rowboat/app/projects/[projectId]/copilot/app.tsx
  18. apps/rowboat/app/lib/components/input-field.tsx -> apps/rowboat/app/projects/[projectId]/workflow/workflow_editor.tsx -> apps/rowboat/app/projects/[projectId]/config/components/voice.tsx -> apps/rowboat/app/projects/[projectId]/config/components/project.tsx -> apps/rowboat/app/lib/components/input-field.tsx

Security Issues (300 found)

Critical (3)

  • Hardcoded secretapps/cli/src/models/models.ts:62
  • apiKey: "rowboatx",
  • Command injection riskapps/x/packages/core/src/application/lib/builtin-tools.ts:538
  • const output = execSync(rg ${rgArgs}, {
  • Command injection riskapps/x/packages/core/src/application/lib/builtin-tools.ts:575
  • const output = execSync(grep ${grepArgs}, {

High (1)

  • new Function() usageapps/x/packages/core/src/application/lib/builtin-tools.ts:32
  • const _importDynamic = new Function('mod', 'return import(mod)') as (mod: string) => Promise<any>;

Low (296)

  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:24
  • console.log('configureTwilioNumber - Received params:', params);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:31
  • console.log('Twilio numbers for this account:', numbers);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:50
  • console.log('configureTwilioNumber - Saved config result:', savedConfig);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:64
  • console.log('saveTwilioConfig - Incoming params:', {
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:78
  • console.log('saveTwilioConfig - All active configs in DB:', allConfigs);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:85
  • console.log('saveTwilioConfig - Existing config search by project:', {
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:102
  • console.log('saveTwilioConfig - Config to save:', configToSave);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:114
  • console.log('saveTwilioConfig - Updating existing config:', existingConfig._id);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:119
  • console.log('saveTwilioConfig - Update result:', result);
  • Excessive console.logapps/rowboat/app/actions/twilio.actions.ts:121
  • console.log('saveTwilioConfig - No existing config found, creating new');
  • ...and 286 more

Suggested Next Steps

  • Before refactoring add, run sverklo_impact to see the 80 call sites
  • apps/x/packages/core/src/config/config.ts is your most-imported file — changes here cascade widely
  • 15+ potential orphans detected — audit for dead code