diff --git a/.claude/commands/review-pr.md b/.claude/commands/review-pr.md new file mode 100644 index 00000000..4f7f9807 --- /dev/null +++ b/.claude/commands/review-pr.md @@ -0,0 +1,48 @@ +# Review PR Command + +Review a PR against [CONTRIBUTING.md](../../CONTRIBUTING.md) acceptance criteria. + +## Usage + +``` +/review-pr +``` + +## Instructions + +1. Read [CONTRIBUTING.md](../../CONTRIBUTING.md) for current review criteria +2. Extract PR number from argument (supports full URL or just number) +3. Fetch PR details: `gh pr view --repo vinta/awesome-python --json title,body,author,files,url` +4. Fetch PR diff: `gh pr diff --repo vinta/awesome-python` +5. For each project added, fetch repo stats: `gh api repos// --jq '{stars: .stargazers_count, created: .created_at, updated: .pushed_at, language: .language, archived: .archived}'` +6. Review against all criteria in CONTRIBUTING.md + +## Quick Rejection Checks + +Check these rules first - if any fail, recommend rejection: + +- Add more than one project per PR +- Duplicate of existing entry +- Self-promotion (wait for someone else to find it useful and submit) +- Less than 100 GitHub stars AND not justified as a hidden gem +- Project is archived or abandoned (no commits in 12+ months) +- No documentation or unclear use case + +## Output Format + +Provide a simple review: + +1. **Rejection Check** - table with the 3 rules and PASS/FAIL +2. **Recommendation** - APPROVE for further review, or REJECT with reason + +## Closing PRs + +If user asks to close/reject: + +```bash +gh pr close --repo vinta/awesome-python --comment "" +``` + +Keep rejection comments short and reference CONTRIBUTING.md. + +$ARGUMENTS