
Deploy github-buddy
Supercharge your github with automated reviews, pull requests and context.
Agentfield Control Plane
Postgres
Just deployed
/var/lib/postgresql/data
control-plane
Just deployed
github-buddy
Just deployed
SWE-AF
Just deployed
pr-af
Just deployed
Deploy and Host github-buddy on Railway
github-buddy is a webhook-driven GitHub agent that turns your repository into a conversational workspace. It reviews pull requests, implements issues into draft PRs, fixes failing CI, answers @github-buddy questions in comment threads, and triages new issues — all by routing each event to the right specialist agent and posting the result back where the conversation started.
About Hosting github-buddy
Hosting github-buddy means running a small Python service that receives GitHub webhooks on a public HTTPS endpoint, validates each delivery against a shared secret, and dispatches the work — either in-process (explain, CI summarization, issue triage, command routing) or out to sibling specialist agents (PR-AF for deep reviews, SWE-AF for issue-to-PR coding). The service is stateless, runs from a single Dockerfile, exposes a /health endpoint, and reads its configuration from environment variables. Railway provisions the container, the public URL you point your GitHub webhook at, and the always-on runtime so the bot stays responsive to repo activity.
Common Use Cases
- Automatically review every opened or updated pull request and post a real GitHub review (approve / request changes / comment) with inline, line-anchored feedback.
- Turn an issue into a ready-for-review pull request by commenting
github buddy implement— including a post-PR CI gate that fix-loops failures. - Use
@github-buddyin any PR thread to ask for an explanation, get a plain-English breakdown of why CI failed, or rungithub buddy resolveto mergemainin, fix failing checks, and address reviewer comments in one shot.
Dependencies for github-buddy Hosting
- An AgentField control plane the bot can register with and route cross-agent calls through. Deployable as a sibling Railway service from the same template family.
- A GitHub repository (or organization) with a webhook configured to send events to the deployed
/webhookURL, plus a personal access token or GitHub App credentials so the bot can read PRs and post comments. - An LLM provider API key for the small in-process reasoners (command dispatch, explain, CI summarization, issue classification). OpenRouter is the default; any LiteLLM-compatible provider works.
- Optional but recommended: companion deployments of PR-AF and SWE-AF on the same Railway project so the
reviewandimplement/resolvepaths execute end-to-end instead of returning "no downstream agent available."
Deployment Dependencies
- Source repository: github.com/Agent-Field/github-buddy
- Sibling reviewer agent: github.com/Agent-Field/pr-af
- Sibling coding agent: github.com/Agent-Field/SWE-AF
Implementation Details
Only three environment variables need to be set when deploying — everything else ships with sensible defaults you can override later if you want to.
| Variable | Purpose |
|---|---|
OPENROUTER_API_KEY | LLM provider key used by the conversational reasoners (command dispatch, explain, CI summarization, issue triage). |
GH_TOKEN | GitHub token with pull_requests:read+write, issues:read+write, contents:read, actions:read. |
GITHUB_WEBHOOK_SECRET | Shared secret used to validate the X-Hub-Signature-256 header on every incoming webhook. |
Once the service is up, github-buddy will sit idle until GitHub starts delivering webhooks to it. Configure a webhook on the target repository (Settings → Webhooks → Add webhook) or organization with these exact settings:
- Payload URL:
https:///webhook— the public Railway domain assigned to this service, with/webhookappended. - Content type:
application/json. - Secret: the same value you set for
GITHUB_WEBHOOK_SECRETabove. Every incoming delivery is HMAC-verified against this; mismatches are rejected at the door. - SSL verification: Enable. Railway provides a valid certificate on the public domain, so there's no reason to disable it.
- Which events would you like to trigger this webhook?: select "Send me everything". github-buddy filters every delivery itself, so picking individual events is unnecessary and adding new event handlers later won't require revisiting the webhook config.
- Active: checked.
Click Add webhook (or Update webhook if you're editing an existing one). GitHub immediately sends a ping event, which github-buddy answers 200 OK; you can confirm this in the webhook's "Recent Deliveries" tab.
Healthcheck path is /health; the service binds to whatever PORT Railway injects at runtime, so no manual port configuration is needed.
Why Deploy github-buddy on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying github-buddy on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
Postgres
pgvector/pgvector:pg17control-plane
agentfield/control-plane:v0.1.84github-buddy
Agent-Field/github-buddyOPENROUTER_API_KEY
GITHUB_WEBHOOK_SECRET
SWE-AF
Agent-Field/SWE-AFGH_TOKEN
github token (classic or org level token)
pr-af
Agent-Field/pr-af