Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

dermestes

Named after Dermestes, the hide beetles museums use to clean a specimen down to bare skeleton: everything that is not structure goes.

dermestes finds abstractions in Python code that have not earned their keep, and reports them as deletion candidates an agent can act on: an ABC or Protocol with one implementation, a function with one caller, a parameter nobody varies.

It is deterministic and offline. It never imports or runs your code, never rewrites it, and prints nothing when there is nothing to report.

For your CLAUDE.md

### `dermestes` — over-abstraction

- `dermestes` lists abstractions your change introduced that have a single
  user (an ABC with one implementation, a function with one caller).
- Each finding ends in a `suggest:` line. Apply it and run the tests, or keep
  it with `# dermestes: keep <reason>` in the definition's header.