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

40
.editorconfig Normal file
View File

@@ -0,0 +1,40 @@
# Editor configuration, see http://editorconfig.org
root = true
[*]
indent_size = 2
indent_style = space
charset = utf-8
end_of_line = lf
max_line_length = 120
insert_final_newline = true
trim_trailing_whitespace = true
[*.java]
# Mutige können die Ausnahme für .java entfernen :)
indent_size = 4
indent_style = space
[*.xml]
# automatisches Umbrechen/Trimmen kann die Semantik vom Inhalt ändern
max_line_length = off
trim_trailing_whitespace = false
# Kompatibilität zu maven-dependency-plugin/maven-release-plugin... und damit zu jgitflow
[pom.xml]
indent_size = 4
indent_style = space
[*.md]
indent_size = 4
max_line_length = off
trim_trailing_whitespace = false
[*.{bat,ps1}]
end_of_line = crlf
[api/src/test/resources/AerzteDocMergerTest/expected/*.txt]
trim_trailing_whitespace = false
[api/src/test/resources/DocMergerTest/expected/*.txt]
trim_trailing_whitespace = false