Hey HN, I made Fossil because I've been coding with Claude Code for 6+ months and the same problem keeps showing up in every project.
Claude loves writing "Phase 2" comments, `// TODO: implement` with `return True` underneath, and after a few rounds of refactoring there's a ton of dead code that nothing calls. The annoying part - the agent sometimes finds that old dead code while building something new, hooks into it, and now you have bugs from code that was never meant to run.
Fossil builds a call graph using tree-sitter (15 languages) and finds what's unreachable. It uses Rapid Type Analysis for virtual call resolution and MinHash+LSH for clone detection. Framework-aware so it won't flag React lifecycle methods or Django views.
It also runs as an MCP server so Claude/Cursor can use it directly:
claude mcp add fossil fossil-mcp
It's early and I'm sure there are edge cases I haven't hit yet. Currently strongest on Python, TypeScript, and Rust -- thinner coverage for some languages.
Built in Rust, #![forbid(unsafe_code)],MIT/Apache-2.0.
Would love feedback, especially on false positive rates.
yfedoseev•1h ago
Claude loves writing "Phase 2" comments, `// TODO: implement` with `return True` underneath, and after a few rounds of refactoring there's a ton of dead code that nothing calls. The annoying part - the agent sometimes finds that old dead code while building something new, hooks into it, and now you have bugs from code that was never meant to run.
Fossil builds a call graph using tree-sitter (15 languages) and finds what's unreachable. It uses Rapid Type Analysis for virtual call resolution and MinHash+LSH for clone detection. Framework-aware so it won't flag React lifecycle methods or Django views.
It also runs as an MCP server so Claude/Cursor can use it directly: claude mcp add fossil fossil-mcp
It's early and I'm sure there are edge cases I haven't hit yet. Currently strongest on Python, TypeScript, and Rust -- thinner coverage for some languages.
Built in Rust, #![forbid(unsafe_code)],MIT/Apache-2.0.
Would love feedback, especially on false positive rates.
ticulatedspline•1h ago