Skip to content

feat(review): AI-ревью PR — diff через GitHub + RAG (доки+код) - #13

Merged
Sermage merged 1 commit into
feat/help-rag-mcpfrom
feat/pr-ai-review
Jul 18, 2026
Merged

feat(review): AI-ревью PR — diff через GitHub + RAG (доки+код)#13
Sermage merged 1 commit into
feat/help-rag-mcpfrom
feat/pr-ai-review

Conversation

@Sermage

@Sermage Sermage commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Что это

Автоматическое AI-ревью пул-реквеста. Пайплайн:

  • получает diff и изменённые файлы через GitHub (gh);
  • подмешивает RAG по двум индексам — документация и код (CompositeRetrievalEngine);
  • LLM выдаёт структурированный разбор: 🐞 баги · 🏛 архитектура · 💡 рекомендации.

Как устроено (по слоям)

Слой Файлы
domain domain/review.py::PrDiff
app app/pr_review.py::review_pull_request, порты DiffProvider / ReviewPublisher
infra GhDiffProvider, GhReviewPublisher, gh.run_gh, CompositeRetrievalEngine
cli /review <PR> (cli/review_commands.py) — печатает ревью
CI review_pr.py (постит комментарий), .github/workflows/ai-review.yml (self-hosted, on: pull_request)

Второй индекс по коду — CODE_INDEX_PATH (по умолчанию ~/rag-kotlin/index_jarvis_full).

Проверки

Запуск пайплайна вручную

```
python3 review_pr.py # сгенерировать + запостить комментарий
python3 review_pr.py --no-comment # только напечатать
```

Что нужно на стороне репозитория

  1. Self-hosted runner (arm64/macOS) с запущенной Ollama и FAISS-индексами. ✅ настроен
  2. Secret DEEPSEEK_API_KEY (в CI ключ из .env недоступен — он gitignored).

🤖 Generated with Claude Code

https://claude.ai/code/session_01WPCiJi7DVBdV2fjN2x3HMd

Пайплайн автоматического код-ревью пул-реквеста:
- получает diff и изменённые файлы через GitHub (gh);
- подмешивает RAG-контекст по двум индексам — документация и код
  (CompositeRetrievalEngine);
- LLM выдаёт структурированный разбор: баги / архитектура / рекомендации.

Слои:
- domain/review.py::PrDiff; app/pr_review.py::review_pull_request (use case);
- порты app.ports.DiffProvider/ReviewPublisher;
- infra: GhDiffProvider, GhReviewPublisher, gh.run_gh, CompositeRetrievalEngine;
- CLI /review <PR> (печатает); review_pr.py — CI-энтрипойнт (постит комментарий);
- GitHub Action .github/workflows/ai-review.yml (self-hosted, on: pull_request).

Тесты на фейках (18 шт.), pytest зелёный (492 passed). Второй индекс по коду —
CODE_INDEX_PATH (по умолчанию ~/rag-kotlin/index_jarvis_full).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WPCiJi7DVBdV2fjN2x3HMd
@Sermage
Sermage merged commit 78f9603 into feat/help-rag-mcp Jul 18, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant