Skip to content

feat: herdr plugin that opens gitui in a new tab and reports session changes - #1

Merged
alexeyco merged 1 commit into
masterfrom
feat/gitui-plugin
Oct 13, 2026
Merged

alexeyco merged 1 commit into
masterfrom
feat/gitui-plugin

Conversation

@alexeyco

Copy link
Copy Markdown
Owner

Summary

New plugin: the gitui.open action opens gitui in a new herdr tab rooted at the repository (argv-exec, straight into the TUI). The plugin takes read-only git snapshots before and after the session and, when something changed, delivers a short English summary to the agent in the focused pane: created commits, amend/rebase vs reset, branch switch (including detached HEAD), push (via ahead-count decrease), and staged/unstaged/untracked deltas. Nothing changed — nothing is sent.

Undeliverable summaries are kept under HERDR_PLUGIN_STATE_DIR/sessions/ (7-day prune), prompts are capped at 64 KiB. Error and no-agent paths hold the pane until Enter. Git state is never mutated; gitui is resolved from PATH with an install hint on failure.

Docs mirror herdr-revdiff: README, docs/how-it-works.md (behavioral spec), docs/development.md, AGENTS, CONTRIBUTING, CHANGELOG, SECURITY; CI (version-sync, MSRV, lint, prettier, test matrix) and a 4-target release workflow.

Testing

  • cargo fmt --check
  • cargo clippy --all-targets --locked -- -D warnings
  • cargo test --locked — 70 tests (unit + hermetic e2e with stub herdr/gitui and real git repos)
  • cargo build --release --locked
  • npx --yes prettier@3.9.6 --check "**/*.md"
  • Manual smoke on herdr 0.9.3: commit in gitui → gitui session summary: prompt delivered to the caller agent, tab auto-closed; non-git dir → error held until Enter

@alexeyco alexeyco self-assigned this Oct 13, 2026
@alexeyco
alexeyco merged commit be21bd4 into master Oct 13, 2026
5 checks passed
@alexeyco
alexeyco deleted the feat/gitui-plugin branch October 16, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant