Exorcist: I made the ghosts of legacy Java code explain themselves (and tried to stop them lying)
Description and use
Exorcist automatically identifies the author of each Java class, generates line‑by‑line explanations, detects code smells, and proposes safe refactorings—all locally.
Problem
Legacy Java codebases contain hidden code smells and undocumented decisions that are hard to discover and refactor.
Outcome
Exorcist can read a Git repo, identify the main author per class, generate first‑person explanations with line citations, list code smells, and produce safe refactor diffs—all locally, without writing to disk.
Workflow
- summon
<repo>– list classes with ghost info - possess
<Class>– ghost explains class with line citations - confess – ghost lists code smells with line numbers
- exorcise – ghost proposes refactoring as a diff
- epitaph – ASCII tombstone
Evidence
Exorcist is a terminal app that reads a Git repository, works out who really wrote each Java class, and lets the ghost of its main author explain the class in first person, confess its sins line by line, and propose a refactoring as a diff.
Reading the whole history takes under five seconds
The first confess run invented an IOException in two items (with the right line numbers, wrong content) and repeated one sin twice.
The first exorcise produced a diff that doesn't compile.
- Record date: 2026-11-01T04:58:53.052Z