Add agentpr and watchpr CLI tools #1

Merged
benvin merged 3 commits from benvin/init into main 2026-08-12 21:51:27 +10:00
Member

Initial commit of the agent-tools repo: two CLI tools that automate orchestrator PR work as unkin-agent.

  • agentpr — create PRs, comment, and whoami, always authenticated as unkin-agent (Vault AppRole -> gitea/creds/unkin-agent -> Gitea API), fixing teas post-as-Ben default.

  • watchpr — poll PRs and alert only on merge/close, a human comment, CI failure, or lost mergeability.

  • cobra multi-binary layout mirroring node-lookup

  • Makefile + nfpm RPM (both binaries + bash/zsh/fish completions) + woodpecker CI publishing to rpm-internal

  • unit tests for parsing, meaningful-change detection, and the Vault+Gitea client

Initial commit of the agent-tools repo: two CLI tools that automate orchestrator PR work as unkin-agent. - **agentpr** — create PRs, comment, and `whoami`, always authenticated as unkin-agent (Vault AppRole -> `gitea/creds/unkin-agent` -> Gitea API), fixing `tea`s post-as-Ben default. - **watchpr** — poll PRs and alert only on merge/close, a human comment, CI failure, or lost mergeability. - cobra multi-binary layout mirroring node-lookup - Makefile + nfpm RPM (both binaries + bash/zsh/fish completions) + woodpecker CI publishing to rpm-internal - unit tests for parsing, meaningful-change detection, and the Vault+Gitea client
unkin-agent added 1 commit 2026-08-12 21:37:10 +10:00
Add agentpr and watchpr CLI tools
ci/woodpecker/pr/build Pipeline failed
ci/woodpecker/pr/test Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline failed
d78644d173
agentpr manages PRs/comments/whoami as unkin-agent (Vault AppRole -> gitea creds
-> Gitea API), fixing tea's post-as-Ben default. watchpr polls PRs and alerts
only on merge/close, human comment, CI failure, or lost mergeability.

- cobra multi-binary layout mirroring node-lookup (cmd/ + internal/)
- Makefile (build, patch|minor|major, completions, rpm), nfpm RPM with both
  binaries + bash/zsh/fish completions, woodpecker CI publishing to rpm-internal
- unit tests for parsing, meaningful-change detection, and the Vault+Gitea client
unkin-agent added 1 commit 2026-08-12 21:41:35 +10:00
ci: pin go 1.25.7 and use module-level go vet
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline was successful
fa8ccac0dd
- go.mod: go 1.26.5 -> 1.25.7 to match the golang:1.25 CI image (node-lookup convention)
- .pre-commit-config: dnephin go-vet runs at repo root (no .go files here since both
  tools live under cmd/); replace with a local 'go vet ./...' hook (CI pre-commit
  image has go)
unkin-agent added 1 commit 2026-08-12 21:46:41 +10:00
lint: check deferred resp.Body.Close error returns
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
8403741902
golangci-lint v2 (errcheck) flagged three unchecked resp.Body.Close()
returns in gitea.go and vault.go. Wrap each deferred Close in a closure
discarding the return, the idiomatic form for a deferred Close whose
error is intentionally ignored.
benvin merged commit 3f03e0d84f into main 2026-08-12 21:51:27 +10:00
benvin deleted branch benvin/init 2026-08-12 21:51:28 +10:00
Sign in to join this conversation.