diff --git a/graph/configurations/pr-reviewer-agent-definition-and-dispatcher-system-b79abd.md b/graph/configurations/pr-reviewer-agent-definition-and-dispatcher-system-b79abd.md new file mode 100644 index 00000000000..f60f0b68cde --- /dev/null +++ b/graph/configurations/pr-reviewer-agent-definition-and-dispatcher-system-b79abd.md @@ -0,0 +1,47 @@ +--- +id: b79abde1-7076-4448-aa8e-65a08f354d93 +type: configuration +title: "PR Reviewer Agent Definition and Dispatcher System" +tags: [pr-reviewer, claude-scheduled, gitea, automation, code-review, configuration, systemd, dotfiles] +importance: 0.9 +confidence: 0.8 +created: "2026-03-02T21:57:02.397771+00:00" +updated: "2026-03-02T21:57:02.397771+00:00" +--- + +# PR Reviewer Agent Definition and Dispatcher System + +Built a complete automated PR review system using Claude Code. + +## Components + +### 1. Agent Definition +- File: `~/.claude/agents/pr-reviewer.md` +- Read-only agent that: + - Fetches PR diff via gitea-mcp + - Reads project CLAUDE.md for conventions + - Checks cognitive memory for context + - Evaluates correctness, security, and style + - Posts formal Gitea PR review via `create_pull_request_review` + +### 2. Dispatcher Script +- File: `~/dotfiles/claude-scheduled/pr-reviewer-dispatcher.sh` +- Symlinked to: `~/.config/claude-scheduled/` +- Polls all tracked repos for open PRs without `ai-reviewed` labels +- Spawns reviewer agents per PR +- Updates labels after review +- Sends Discord notifications + +### 3. Task Config +- Location: `~/dotfiles/claude-scheduled/tasks/pr-reviewer/` +- Symlinked to: `~/.config/claude-scheduled/tasks/pr-reviewer/` +- `settings.json`: $1/PR budget, sonnet model, max 5 PRs +- `prompt-template.md`: review instructions +- `mcp.json.template`: MCP server config template +- `repos.json`: symlinked from issue-worker's copy + +### 4. Systemd Timer/Service +- Files: `~/dotfiles/systemd/claude-pr-reviewer.{timer,service}` +- Symlinked to: `~/.config/systemd/user/` +- Schedule: every 30 min, Mon-Fri 9am-5pm +- Timer not yet enabled — waiting for first real PR test