48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
# Deep Review — Phase 1: Scope discovery
|
||
|
||
> Supporting reference for `deep-code-reviewer.md`. Read on demand when scope analysis non-trivial.
|
||
|
||
## Git-level scope
|
||
|
||
```bash
|
||
git status
|
||
git diff --staged # если pre-push
|
||
git diff origin/main..HEAD # если post-push, до merge
|
||
git log origin/main..HEAD --stat # сколько коммитов, кто author
|
||
git rev-parse --abbrev-ref HEAD # не main ли это
|
||
```
|
||
|
||
## Forgejo PR metadata (curl + token из $FORGEJO_TOKEN env)
|
||
|
||
```bash
|
||
# Все вызовы используют $FORGEJO_URL и $FORGEJO_TOKEN
|
||
H="Authorization: token $FORGEJO_TOKEN"
|
||
REPO="$FORGEJO_URL/api/v1/repos/lekss361/gendesign"
|
||
|
||
# PR metadata: title, body, labels, base, head SHA, mergeable, state, draft
|
||
curl -sH "$H" "$REPO/pulls/<N>" | jq '{title,state,mergeable,draft,head:.head.sha,labels:[.labels[].name]}'
|
||
|
||
# Full file list (даже большой PR)
|
||
curl -sH "$H" "$REPO/pulls/<N>/files?limit=50" | jq '.[] | {filename,status,additions,deletions}'
|
||
|
||
# Diff целиком
|
||
curl -sH "$H" "$REPO/pulls/<N>.diff"
|
||
|
||
# Reviews (что уже сказали bot / lekss361)
|
||
curl -sH "$H" "$REPO/pulls/<N>/reviews" | jq '.[] | {user:.user.login,state,body:.body[0:200]}'
|
||
|
||
# Commits в ветке PR
|
||
curl -sH "$H" "$REPO/pulls/<N>/commits" | jq '.[] | {sha:.sha[0:7],message:.commit.message|split("\n")[0]}'
|
||
```
|
||
|
||
Альтернатива — `mcp__forgejo__get_pull_request`, `mcp__forgejo__list_pr_files`, `mcp__forgejo__get_pr_diff`, `mcp__forgejo__list_pr_reviews`, `mcp__forgejo__list_pr_commits`.
|
||
|
||
## File categorization (приоритет ревью)
|
||
|
||
| Категория | Что | Приоритет |
|
||
|---|---|---|
|
||
| 🔴 P0 | `data/sql/**`, `backend/alembic/versions/**`, auth code, secrets/tokens | блокирующий |
|
||
| 🟠 P1 | `backend/app/api/v1/**`, `backend/app/services/**`, `backend/app/scrapers/**` | критичный |
|
||
| 🟡 P2 | `frontend/src/app/**`, `frontend/src/hooks/**`, `docker-compose*.yml`, `Caddyfile`, `.github/workflows/**`, `.forgejo/workflows/**` | важный |
|
||
| 🟢 P3 | `frontend/src/components/**` UI-only, tests, CLAUDE.md | стандартный |
|
||
| ⚪ skip | lock-файлы, генеренные TS типы (`api-types.ts`), `*.md` без правил | смотреть только если связано с P0-P2 |
|