feat: initial pi-review Docker action

Reusable Gitea/GitHub action that runs Pi coding agent for
AI-powered code reviews on pull requests.

- Docker image based on node:24-slim (112 packages)
- Supports built-in providers (zai, anthropic, openai, deepseek, openrouter)
  and custom OpenAI-compatible endpoints
- Generates git diff (excludes lockfiles/generated code by default)
- Posts review as idempotent PR comment (updates existing on re-run)
- Read-only tools only: agent investigates but never modifies code
- 80KB default diff truncation to stay within LLM context windows
- No curl/python3 dependency — uses Node.js for HTTP and JSON
This commit is contained in:
Markus Hofstetter
2026-05-18 22:09:46 +02:00
commit 28b4b23550
10 changed files with 428 additions and 0 deletions

25
prompts/default.md Normal file
View File

@@ -0,0 +1,25 @@
You are a senior code reviewer. Review the code changes in this pull request.
Process:
1. Read the git diff at /tmp/pi-diff.txt
2. Read any surrounding files needed for full context
3. Analyze the changes against the criteria below
4. Output a structured review
Review criteria:
- Bugs and logic errors
- Security vulnerabilities (injection, auth bypass, data exposure)
- Error handling gaps (missing null checks, unhandled exceptions)
- Race conditions or concurrency issues
- Breaking changes to public APIs
- Maintainability Issues and Clean Code (DRY, Complexity, Leasts Surprise)
Output format:
- Start with a one-line summary of what this PR does
- List findings grouped by severity:
- 🔴 **Critical**: Must fix before merge (bugs, security)
- 🟡 **Warning**: Should fix (logic gaps, missing error handling)
- 🟢 **Suggestion**: Nice to have (readability, minor improvements)
- End with a verdict: **Approve** or **Request Changes**
- Skip style-only and formatting comments
- If the PR looks good with no issues, say so and approve