plugins/disk-cleanup/README.md
Auto-tracks and cleans up ephemeral files created during Hermes Agent
sessions — test scripts, temp outputs, cron logs, stale chrome profiles.
Scoped strictly to $HERMES_HOME and /tmp/hermes-*.
Originally contributed by @LVT382009 as a
skill in PR #12212. Ported to the plugin system so the behaviour runs
automatically via post_tool_call and on_session_end hooks — the agent
never needs to remember to call a tool.
| Hook | Behaviour |
|---|---|
post_tool_call | When write_file / terminal / patch creates a file matching test_*, tmp_*, or *.test.* inside HERMES_HOME, track it silently as test / temp / cron-output. |
on_session_end | If any test files were auto-tracked during this turn, run quick cleanup (no prompts). |
Deletion rules (same as the original PR):
| Category | Threshold | Confirmation |
|---|---|---|
test | every session end | Never |
temp | >7 days since tracked | Never |
cron-output | >14 days since tracked | Never |
| empty dirs under HERMES_HOME | always | Never |
research | >30 days, beyond 10 newest | Always (deep only) |
chrome-profile | >14 days since tracked | Always (deep only) |
| files >500 MB | never auto | Always (deep only) |
/disk-cleanup status # breakdown + top-10 largest
/disk-cleanup dry-run # preview without deleting
/disk-cleanup quick # run safe cleanup now
/disk-cleanup deep # quick + list items needing prompt
/disk-cleanup track <path> <category> # manual tracking
/disk-cleanup forget <path> # stop tracking
is_safe_path() rejects anything outside HERMES_HOME or /tmp/hermes-*/mnt/c etc.) are rejected$HERMES_HOME/disk-cleanup/ is itself excluded$HERMES_HOME/logs/, memories/, sessions/, skills/, plugins/,
and config files are never trackedtracked.json — the plugin never touches
agent logs.tmp → backup → rename