feat: agents add github|webhook, agents sources and remove #65

Merged
jwarykowski merged 8 commits from feat/agent-sources into pro 2026-10-12 12:42:28 +00:00
jwarykowski commented 2026-10-12 06:14:47 +00:00 (Migrated from github.com)

Shepherd's front door to the new sources (drover #24). Stacked on #63.

Changes

  • shepherd agents add github <owner/repo> [--dir] [--label agent] [--name]
  • shepherd agents add webhook <service> [--dir] [--name]. Services: webhook (any), sentry, linear, datadog, alertmanager. It prints the URL to paste and where it goes in that service.
  • shepherd agents sources [--json] and shepherd agents remove <name>.
  • shepherd agents secret <name> [--scheme github] reads the service's signing secret (hidden at a terminal) and passes it on stdin, so the URL takes only signed deliveries. After adding Sentry or Linear, Shepherd says to run it.
  • Adding or removing a source restarts the background service. Without one, the output says to restart.
  • --dir defaults to the current directory.
  • Errors stay in Shepherd's words. "Needs Pro" points at shepherd pro activate.
  • README and help: Pro is "GitHub issues and webhooks" rather than naming Sentry.

Testing

  • go vet, go test ./... and golangci-lint v2.14.0 (0 issues) pass.
  • New tests for the secret (on stdin, never in the arguments), add (webhook and GitHub), the restart and no-service paths, Free, sources and remove. None of the output names drover.
  • With real binaries on Free: agents add webhook sentry says it needs Pro, and agents sources lists the boards.
Shepherd's front door to the new sources (drover #24). Stacked on #63. ## Changes - `shepherd agents add github <owner/repo> [--dir] [--label agent] [--name]` - `shepherd agents add webhook <service> [--dir] [--name]`. Services: `webhook` (any), `sentry`, `linear`, `datadog`, `alertmanager`. It prints the URL to paste and where it goes in that service. - `shepherd agents sources [--json]` and `shepherd agents remove <name>`. - `shepherd agents secret <name> [--scheme github]` reads the service's signing secret (hidden at a terminal) and passes it on stdin, so the URL takes only signed deliveries. After adding Sentry or Linear, Shepherd says to run it. - Adding or removing a source restarts the background service. Without one, the output says to restart. - `--dir` defaults to the current directory. - Errors stay in Shepherd's words. "Needs Pro" points at `shepherd pro activate`. - README and help: Pro is "GitHub issues and webhooks" rather than naming Sentry. ## Testing - `go vet`, `go test ./...` and golangci-lint v2.14.0 (0 issues) pass. - New tests for the secret (on stdin, never in the arguments), add (webhook and GitHub), the restart and no-service paths, Free, sources and remove. None of the output names drover. - With real binaries on Free: `agents add webhook sentry` says it needs Pro, and `agents sources` lists the boards.
Sign in to join this conversation.
No description provided.