hermes-agent/plugins/disk-cleanup/README.md
Teknium a25c8c6a56 docs(plugins): rename disk-guardian to disk-cleanup + bundled-plugins docs
The original name was cute but non-obvious; disk-cleanup says what it
does. Plugin directory, script, state path, log lines, slash command,
and test module all renamed. No user-visible state exists yet, so no
migration path is needed.

New website page "Built-in Plugins" documents the <repo>/plugins/<name>/
source, how discovery interacts with user/project plugins, the
HERMES_DISABLE_BUNDLED_PLUGINS escape hatch, disk-cleanup's hook
behaviour and deletion rules, and guidance on when a plugin belongs
bundled vs. user-installable. Added to the Features → Core sidebar next
to the main Plugins page, with a cross-reference from plugins.md.
2026-04-20 04:46:45 -07:00

2.1 KiB

disk-cleanup

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.

How it works

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)

Slash command

/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

Safety

  • is_safe_path() rejects anything outside HERMES_HOME or /tmp/hermes-*
  • Windows mounts (/mnt/c etc.) are rejected
  • The state directory $HERMES_HOME/disk-cleanup/ is itself excluded
  • $HERMES_HOME/logs/, memories/, sessions/, skills/, plugins/, and config files are never tracked
  • Backup/restore is scoped to tracked.json — the plugin never touches agent logs
  • Atomic writes: .tmp → backup → rename