
What happened
depgraph targets eight rules including unused-export, duplicate-code, import-cycle and god-package across Go, TypeScript, JavaScript and Python, and is a single cgo-free Go binary built on tree-sitter.
Why it matters
Existing linters only see inside a file or package, so debt left by AI agents that rewrite dozens of files a day slips past review, and depgraph checks the whole repository instead.
What to watch
The roadmap adds a local provider that starts an installed Neo4j as a child process, session-level time-series analysis of dependency growth, and an MCP server mode for direct graph queries.
WHO IT HITSThis lands on developers and reviewers running AI coding agents like Claude Code on repositories, who need to catch accumulating structural debt before it merges, and on teams that already operate Neo4j.
Summaries like this, every morning.
The tool was built around a specific observation about AI coding agents: code they write compiles, type-checks, lints and passes tests, yet the repository gradually degrades. The patterns named are concrete — a function rewritten under a new name instead of being searched for, exports orphaned mid-refactor, lower layers importing upper ones, and a shared package everything depends on. None of these produce an error, because go vet, tsc --noUnusedLocals and eslint look inside a single file or package.
Choosing a graph database follows from the shape of the problem. Dependencies are nodes and relationships, so the rules become queries; the god-package rule, for instance, adds a condition that the package also depends on three or more in-repo packages, so stable domain models that many packages import but that import nothing are not flagged. The cycle rule was rewritten from enumerating all cycles of length 2 to 8, whose runtime grows exponentially on dense graphs, to finding one shortest return path per import edge, and the new query was checked against the old one on 25 random graphs.
Two design choices show how the tool is meant to be used. Neo4j is started and torn down by depgraph itself, with a watchdog child process that removes the container whether the parent exits normally, panics, or is killed with SIGKILL; integration tests verify this on real container runtimes in CI on both Docker and Podman. And through claude-hook-gate, depgraph fails a session that added findings compared with the session-start baseline, so an agent cannot finish while it has increased debt. The author reports that scanning depgraph's own repository surfaced a genuine duplicate between the import-resolution and parsing layers, which was extracted into a shared package.
Pick your industry and the AI tools you use, and get news related to your work every day.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.
GENSHI AI said it adopted necoder in-house — a free, AGPL-3.0 Rust editor that Daichi Nagashima began building…

Xin Liu and co-authors surveyed 291 open-weight LLM repositories and found 20 of 38 untied gated and hybrid ch…

In a bicycle-route decision test on an Nvidia DGX Spark, TypeSafe AI's Jev finished first against Ollaya runni…

Anthropic published research, code and a technical spec on GitHub for FlashProve, an open source system that g…

Databricks MLflow is now a supported destination for native OpenTelemetry export from the Claude Platform, cov…

The team ran an AI-only hierarchy across 3 repositories (AI Hub, SlideshowSuite, FastFiler), producing 516 com…
