Repository Analysis

colbymchenry/codegraph

Pre-indexed code knowledge graph for Claude Code, Codex, Gemini, Cursor, OpenCode, AntiGravity, Kiro, and Hermes Agent — fewer tokens, fewer tool calls, 100% local

1.9 Likely human-written View on GitHub
1.9
Adjusted Score
1.9
Raw Score
100%
Time Factor
2026-05-30
Last Push
34,262
Stars
TypeScript
Language
78,600
Lines of Code
242
Files
91
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 3MEDIUM 11LOW 77

Pattern Findings

91 matches across 9 categories. Click a row to expand file-level details.

Decorative Section Separators10 hits · 40 pts
SeverityFileLineSnippet
MEDIUM__tests__/integration/full-pipeline.test.ts89 // ── init ──────────────────────────────────────────────────────
MEDIUM__tests__/integration/full-pipeline.test.ts95 // ── indexAll ────────────────────────────────────────────────
MEDIUM__tests__/integration/full-pipeline.test.ts104 // ── resolveReferences ────────────────────────────────────────
MEDIUM__tests__/integration/full-pipeline.test.ts117 // ── searchNodes ──────────────────────────────────────────────
MEDIUM__tests__/integration/full-pipeline.test.ts126 // ── getCallers / getCallees ──────────────────────────────────
MEDIUM__tests__/integration/full-pipeline.test.ts135 // ── buildContext ─────────────────────────────────────────────
MEDIUM__tests__/integration/full-pipeline.test.ts143 // ── sync (add + modify + remove in one pass) ─────────────────
MEDIUMsrc/resolution/frameworks/react-native.ts65// ─── Native-side extraction ─────────────────────────────────────────────────
MEDIUMsrc/resolution/frameworks/react-native.ts238// ─── Map building ───────────────────────────────────────────────────────────
MEDIUMsrc/resolution/frameworks/react-native.ts354// ─── Resolver ───────────────────────────────────────────────────────────────
Verbosity Indicators19 hits · 28 pts
SeverityFileLineSnippet
LOWsrc/context/index.ts412 // Step 1: Extract potential symbol names from query
LOWsrc/context/index.ts416 // Step 2: Look up exact matches for extracted symbols
LOWsrc/context/index.ts501 // Step 3: Run text search for natural language term matching
LOWsrc/context/index.ts550 // Step 4: Merge results, taking the max score when duplicates appear
LOWsrc/mcp/tools.ts2052 // Step 1: Find relevant context with generous parameters.
LOWsrc/mcp/tools.ts2099 // Step 2: Group nodes by file, score by relevance
LOWsrc/mcp/tools.ts2206 // Step 3: Build relationship map
LOWsrc/mcp/tools.ts2249 // Step 4: Read contiguous file sections
LOWsrc/installer/index.ts94 // Step 1: which agent targets? Asked FIRST so the user knows what
LOWsrc/installer/index.ts105 // Step 2: install the codegraph npm package on PATH (always offered;
LOWsrc/installer/index.ts131 // Step 3: where the per-agent config files should land.
LOWsrc/installer/index.ts162 // Step 4: auto-allow permissions (only meaningful for Claude;
LOWsrc/installer/index.ts183 // Step 5: per-target install loop.
LOWsrc/installer/index.ts205 // Step 6: for local install, initialize the project.
LOWsrc/installer/index.ts308 // Step 1: which location — asked FIRST, the one decision the user
LOWsrc/installer/index.ts332 // Step 2: which agents. Default is every agent, so the user doesn't
LOWsrc/installer/index.ts347 // Step 3: sweep + per-agent feedback.
LOWsrc/installer/index.ts363 // Step 4: for local uninstall, the index dir is separate — point at
LOWsrc/installer/index.ts369 // Step 5: summary.
Over-Commented Block26 hits · 26 pts
SeverityFileLineSnippet
LOWinstall.sh1#!/bin/sh
LOW__tests__/watcher.test.ts181 watcher.stop();
LOWscripts/build-bundle.sh1#!/usr/bin/env bash
LOWscripts/build-bundle.sh61
LOWscripts/npm-shim.js1#!/usr/bin/env node
LOWscripts/pack-npm.sh1#!/usr/bin/env bash
LOWscripts/agent-eval/run-arms.sh1#!/usr/bin/env bash
LOWscripts/agent-eval/itrun.sh1#!/usr/bin/env bash
LOWscripts/agent-eval/itrun.sh81done
LOWscripts/agent-eval/audit.sh1#!/usr/bin/env bash
LOWscripts/add-lang/bench.sh1#!/usr/bin/env bash
LOW.github/workflows/release.yml1name: Release
LOW.github/workflows/release.yml21 contents: write # create the GitHub Release + tag, push the CHANGELOG promote
LOW.github/workflows/release.yml41 # RELEASE_PAT secret with: contents:write on this repo, no other
LOWsrc/context/index.ts581 // Deprioritize test files early so they don't take multi-term boost slots
LOWsrc/mcp/tools.ts721
LOWsrc/mcp/tools.ts1181 });
LOWsrc/mcp/tools.ts1201 // codegraph_context with explore/node even when the context response
LOWsrc/mcp/tools.ts1541 // nodes, so try a few from×to candidate pairs until a usable path turns up.
LOWsrc/mcp/tools.ts1561 // EndBlocker for a gov-module flow may rank 8th in FTS but share the
LOWsrc/mcp/tools.ts1681 // where the missing dynamic-dispatch flow usually lives. Concrete
LOWsrc/mcp/tools.ts2461 // Each range carries an `importance` score so we can rank clusters
LOWsrc/sync/watcher.ts181 });
LOWsrc/extraction/tree-sitter.ts361 this.extractVariable(node);
LOWsrc/extraction/tree-sitter.ts381 // Check for function calls
LOWsrc/extraction/languages/luau.ts1import { getNodeText, getChildByField } from '../tree-sitter-helpers';
Hyper-Verbose Identifiers24 hits · 24 pts
SeverityFileLineSnippet
LOWsrc/mcp/tools.ts238function exploreLineNumbersEnabled(): boolean {
LOWsrc/resolution/import-resolver.ts321function loadCppIncludeDirsFromCompileDB(projectRoot: string): string[] | null {
LOWsrc/resolution/import-resolver.ts430function loadCppIncludeDirsHeuristic(projectRoot: string): string[] {
LOWsrc/resolution/import-resolver.ts1091function resolveJavaImportedReference(
LOWsrc/resolution/import-resolver.ts1165function resolveGoCrossPackageReference(
LOWsrc/resolution/name-matcher.ts304function inferJavaFieldReceiverType(
LOWsrc/resolution/swift-objc-bridge.ts76export function objcSelectorForSwiftMethod(
LOWsrc/resolution/swift-objc-bridge.ts160export function objcAccessorsForSwiftProperty(
LOWsrc/resolution/swift-objc-bridge.ts196export function swiftBaseNamesForObjcSelector(selector: string): string[] {
LOWsrc/resolution/frameworks/rust.ts14function getCachedCargoWorkspaceCrateMap(context: ResolutionContext): Map<string, string> {
LOWsrc/resolution/frameworks/nestjs.ts532function collectRouterModuleRegistrations(safe: string, out: Map<string, string>): void {
LOWsrc/resolution/frameworks/fabric.ts84function deriveComponentNameFromManager(className: string): string {
LOWsrc/resolution/frameworks/fabric.ts145function extractLegacyViewManagerNodes(filePath: string, source: string): Node[] {
LOWsrc/resolution/frameworks/fabric.ts225function extractJvmViewManagerNodes(filePath: string, source: string): Node[] {
LOWsrc/resolution/frameworks/index.ts114export function registerFrameworkResolver(resolver: FrameworkResolver): void {
LOWsrc/resolution/frameworks/cargo-workspace.ts224export function getCargoWorkspaceCrateMap(context: ResolutionContext): Map<string, string> {
LOWsrc/resolution/frameworks/java.ts411function extractSpringValueBindings(
LOWsrc/sync/worktree.ts64export function detectWorktreeIndexMismatch(
LOWsrc/installer/targets/shared.ts135export function replaceOrAppendMarkedSection(
LOWsrc/installer/targets/claude.ts275function isLegacyCodegraphHookCommand(command: unknown): boolean {
LOWsrc/extraction/grammars.ts344export function getUnavailableGrammarErrors(): Partial<Record<Language, string>> {
LOWsrc/extraction/wasm-runtime-flags.ts63export function processHasWasmRuntimeFlags(
LOWsrc/extraction/wasm-runtime-flags.ts92export function relaunchWithWasmRuntimeFlagsIfNeeded(scriptPath: string): void {
LOWsrc/extraction/languages/c-cpp.ts5function extractCppQualifiedMethodName(node: SyntaxNode, source: string): string | undefined {
Cross-Language Confusion (JS/TS)3 hits · 15 pts
SeverityFileLineSnippet
HIGH__tests__/extraction.test.ts1390 print(name);
HIGH__tests__/graph.test.ts43 print(): void;
HIGH__tests__/graph.test.ts62 print(): void {
Fake / Example Data5 hits · 5 pts
SeverityFileLineSnippet
LOW__tests__/extraction.test.ts3418 git(libDir, 'config', 'user.email', 'test@test.com');
LOW__tests__/extraction.test.ts3428 git(mainDir, 'config', 'user.email', 'test@test.com');
LOW__tests__/extraction.test.ts3470 git(root, 'config', 'user.email', 'test@test.com');
LOW__tests__/extraction.test.ts3479 git(path.join(root, 'sub_repo1'), 'config', 'user.email', 'test@test.com');
LOW__tests__/sync.test.ts168 git('config', 'user.email', 'test@test.com');
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippet
LOWscripts/build-bundle.sh12# Usage:
LOWscripts/local-install.sh6# Usage:
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMscripts/agent-eval/itrun.sh67# Busy signals. The robust one is the spinner's elapsed-time-in-parens, which
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOW__tests__/extraction.test.ts3729 private def helper(): Unit = {}