I plan with Claude Code a lot and I have hundreds of plan files: one-off fixes to infrastructure migrations I've iterated on for weeks or longer, many with subplans and rejected alternatives alongside it. They're useful documents, but completely unnavigable. Filenames are generated, so a-couple-of-things-splendid-tarjan.md doesn't help me to know if work is complete or pending, whether I still care, or if a plan replaced it.
pentimento reads the plans directory and writes a small frontmatter block into each file: status from a Progress section, a parent, and a project.
Sample output:
$ pentimento tree auth-rollout --ancestors
platform
`-- Redesign the auth API
auth-redesign complete abandoned [auth, security] 2026-08-05 5w
`-- Roll out the new auth API
auth-rollout partial active [auth, security] 2026-08-25 2w
|-- Remove the old auth API
| auth-cleanup not-started queued [auth, security] 2026-08-30 2w
`-- Document the new auth API
auth-docs not-started unset 2026-09-02 1w
I plan with Claude Code a lot and I have hundreds of plan files: one-off fixes to infrastructure migrations I've iterated on for weeks or longer, many with subplans and rejected alternatives alongside it. They're useful documents, but completely unnavigable. Filenames are generated, so a-couple-of-things-splendid-tarjan.md doesn't help me to know if work is complete or pending, whether I still care, or if a plan replaced it.
pentimento reads the plans directory and writes a small frontmatter block into each file: status from a Progress section, a parent, and a project.
Sample output:
[flagged]