|
| 1 | +# asyncreview |
| 2 | + |
| 3 | +AI-powered GitHub PR/Issue reviews from the command line using Recursive Language Models (RLM). |
| 4 | + |
| 5 | +## Quick Start |
| 6 | + |
| 7 | +```bash |
| 8 | +# Review a PR |
| 9 | +npx asyncreview review --url https://github.com/org/repo/pull/123 -q "Any security concerns?" |
| 10 | + |
| 11 | +# With JSON output for scripting |
| 12 | +npx asyncreview review --url https://github.com/org/repo/pull/123 -q "What does this PR do?" --quiet --output json |
| 13 | +``` |
| 14 | + |
| 15 | +## Requirements |
| 16 | + |
| 17 | +- **Node.js 18+** |
| 18 | +- **Python 3.11+** (auto-detected) |
| 19 | +- **Gemini API Key** (prompted if not set) |
| 20 | + |
| 21 | +## API Key |
| 22 | + |
| 23 | +The Gemini API key can be provided in three ways (in order of priority): |
| 24 | + |
| 25 | +1. `--api <key>` flag |
| 26 | +2. `GEMINI_API_KEY` environment variable |
| 27 | +3. Interactive prompt (if neither above is set) |
| 28 | + |
| 29 | +```bash |
| 30 | +# Using --api flag |
| 31 | +npx asyncreview review --url <url> -q "Review this" --api YOUR_API_KEY |
| 32 | + |
| 33 | +# Using environment variable |
| 34 | +export GEMINI_API_KEY=your_key |
| 35 | +npx asyncreview review --url <url> -q "Review this" |
| 36 | +``` |
| 37 | + |
| 38 | +## Options |
| 39 | + |
| 40 | +| Option | Description | |
| 41 | +|--------|-------------| |
| 42 | +| `-u, --url <url>` | GitHub PR or Issue URL (required) | |
| 43 | +| `-q, --question <question>` | Question to ask (required) | |
| 44 | +| `-o, --output <format>` | Output format: `text`, `markdown`, `json` (default: text) | |
| 45 | +| `--quiet` | Suppress progress output | |
| 46 | +| `-m, --model <model>` | Model to use (default: gemini-3-pro-preview) | |
| 47 | +| `--api <key>` | Gemini API key | |
| 48 | + |
| 49 | +## Examples |
| 50 | + |
| 51 | +```bash |
| 52 | +# Quick PR summary |
| 53 | +npx asyncreview review -u https://github.com/vercel/next.js/pull/1234 -q "Summarize the changes" |
| 54 | + |
| 55 | +# Security review |
| 56 | +npx asyncreview review -u https://github.com/org/repo/pull/123 -q "Any security vulnerabilities?" |
| 57 | + |
| 58 | +# Markdown output for docs |
| 59 | +npx asyncreview review -u https://github.com/org/repo/pull/123 -q "Document these changes" -o markdown |
| 60 | + |
| 61 | +# Scripting with JSON |
| 62 | +npx asyncreview review -u https://github.com/org/repo/pull/123 -q "Review" --quiet -o json | jq .answer |
| 63 | +``` |
| 64 | + |
| 65 | +## License |
| 66 | + |
| 67 | +MIT |
0 commit comments