The Problem Every Developer Knows
You open a pull request. It sits there for two days. Your teammates are busy. By the time someone reviews it, you've already context-switched three times and forgotten half of what you wrote.
Code review is one of the highest-value activities in software development — and one of the most consistently delayed ones. I wanted to fix that with Hermes Agent doing the heavy lifting.
The result: Hermes PR Reviewer — a Spring Boot application that listens for GitHub PR events and triggers a full agentic review pipeline. Hermes Agent clones the repo, fetches the diff, runs linters, reasons over the output, and posts a structured review back to the PR. No human in the loop. End to end in under 30 seconds.
What I Built
A GitHub App backend with the following pipeline:
GitHub PR opened / updated
↓
Spring Boot webhook server (port 8080)
→ verifies HMAC-SHA256 signature
→ dispatches async pipeline
↓
GitTool: git clone + git diff
↓
LinterTool: eslint / ruff / checkstyle on changed files
↓
Hermes Agent API (port 8642 on EC2)
→ multi-step reasoning over diff + lint output
→ returns structured JSON review
↓
GitHubCommentService: posts verdict + findings to PR
The key thing: Hermes Agent is doing real agentic work here. It's not a single prompt-and-response. It reasons over the diff hunk by hunk, cross-references linter warnings against specific lines, assesses security risk, code quality, and test coverage gaps — then decides a verdict. That multi-step reasoning without hand-holding is exactly what makes it an agent rather than a wrapper.
Tech Stack
- Java 21 + Spring Boot 3.2 — webhook server, async pipeline
- Hermes Agent 0.14 — the core reasoning engine, running on AWS EC2
- OpenRouter — model provider (nvidia/nemotron-3-super-120b-a12b:free)
- GitHub API (Kohsuke SDK) — posting review comments
- OkHttp — calling Hermes Agent's OpenAI-compatible API
How I Used Hermes Agent
Open-Source Repo: https://github.com/67abraham/hermes_agent_pr_reviewer.git
screenshoot:
Team:
@abraham_airco_67








Top comments (0)