Refuses to guess
Pure-static tools must make a binary alive/dead call and eat the false
positive when unsure. Necro adds a third maybe tier and quarantines
ambiguous code with reasons instead of falsely killing it.
Every analysis axis already has a strong incumbent — but no free, local tool combines them with fix reasoning across languages. Necro targets that gap:
free + local + multi-axis + LLM-assisted-fix + polyglot.
Refuses to guess
Pure-static tools must make a binary alive/dead call and eat the false
positive when unsure. Necro adds a third maybe tier and quarantines
ambiguous code with reasons instead of falsely killing it.
Evidence chains
Every finding ships its reasoning — static references, package exports, dynamic-import taint — so you audit the verdict instead of trusting blind.
The `test-only` verdict
Code that’s production-dead but kept warm by tests gets its own verdict — a signal no incumbent surfaces cleanly.
Semantic, not textual
Dead-code detection runs on the TypeScript compiler API (via ts-morph), following re-exports, type-only imports, and barrel files.
Install from npm, or run it with no install at all:
# global installnpm install -g @manehorizons/necro
# scan your project (or: npx -y @manehorizons/necro scan src/)necro scan src/You’ll get tiered findings, each with an evidence chain — see the Quickstart to read the output.