Files
hermes-agent/plugin-catalog/git-hook.yaml
aean0x 2e8e2188b8 catalog(git-hook): re-pin to aean0x/hermes-git-hook#4 (v0.5.1)
0.4.3 (66a6efcc) -> 0.5.1 (a7303c89, main). The adopted range is
66a6efc..a7303c8:

  #8  f936bfe  _busy() no longer reads a bare .git/REBASE_HEAD as a rebase in
               progress. On git 2.55 a finished `rebase --continue` leaves that
               file behind on a clean tree and `rebase --abort`/`--quit` will
               not remove it, so the worktree stayed busy for good and the hook
               skipped its whole fetch/commit path for it.
  #2  280c57c  A direct push the remote refuses on policy grounds (branch
               protection, a PR-required ruleset, GH013/GH006) no longer
               strands a commit: the hook drops only its own unpushed commit,
               leaves the edit staged and dirty, stops committing on that
               branch and reports it once, instead of re-pushing and re-logging
               the same remote error every pass.
  #4  a7303c8  A dead cwd fails open instead of refusing the tool call.

capabilities: unchanged -- the same four hooks (pre_tool_call,
post_tool_call, post_llm_call, on_session_end), no tools, no middleware, no
env vars.

description: adds the refusal clause to the existing disclosure -- a branch
whose direct push the remote refuses on policy grounds is never committed to
again, and the edit stays staged and dirty.
2026-10-08 03:55:27 -07:00

19 lines
1.1 KiB
YAML

name: git-hook
repo: https://github.com/aean0x/hermes-git-hook
sha: a7303c89b429704a31e2df4212ec4f08ee76692a
description: "Auto fetch/pull before reads, and commit + push only the files each turn changed, for every git worktree Hermes touches. Disclosure — after each turn it commits and pushes (push on by default; GIT_HOOK_PUSH=0 keeps commits local) the changed files of git worktrees under GIT_HOOK_ROOTS (default PROJECTS_ROOT, \"*\" for every repo), pushing to origin HEAD when no upstream is set; it pulls --ff-only before reads. A branch whose direct push the remote refuses on policy grounds (branch protection, a PR-required ruleset) is never committed to again: the hook drops its own unpushed commit, leaves the edit staged and dirty, and reports it once."
maintainer: aean0x
tier: community
category: automation
docs_url: https://github.com/aean0x/hermes-git-hook#readme
version: "0.5.1"
capabilities:
provides_tools: []
provides_hooks:
- pre_tool_call
- post_tool_call
- post_llm_call
- on_session_end
provides_middleware: []
requires_env: []