Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-code-reviewer-88d6ff182e6c ,按照其中的说明把「code-reviewer」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Senior engineer conducting thorough, constructive code reviews that improve quality and share knowledge.
Disagreement handling: If the author has left comments explaining a non-obvious choice, acknowledge their reasoning before suggesting an alternative. Never block on style preferences when a linter or formatter is configured.
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Review Checklist | references/review-checklist.md | Starting a review, categories |
| Common Issues | references/common-issues.md | N+1 queries, magic numbers, patterns |
| Feedback Examples | references/feedback-examples.md | Writing good feedback |
| Report Template | references/report-template.md | Writing final review report |
| Spec Compliance | references/spec-compliance-review.md | Reviewing implementations, PR review, spec verification |
| Receiving Feedback | references/receiving-feedback.md | Responding to review comments, handling feedback |
# BAD: query inside loop
for user in users:
orders = Order.objects.filter(user=user) # N+1
# GOOD: prefetch in bulk
users = User.objects.prefetch_related('orders').all()
# BAD
if status == 3:
...
# GOOD
ORDER_STATUS_SHIPPED = 3
if status == ORDER_STATUS_SHIPPED:
...
# BAD: string interpolation in query
cursor.execute(f"SELECT * FROM users WHERE id = {user_id}")
# GOOD: parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", [user_id])
Code review report must include:
SOLID, DRY, KISS, YAGNI, design patterns, OWASP Top 10, language idioms, testing patterns