Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Google Gemini CLI code review with Gemini 2.5 Pro, 1M token context, CI/CD integration
.claude/skills/alinaqi-gemini-review/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 434% | 0% |
Use Google's Gemini CLI for code review with Gemini 2.5 Pro - featuring a massive 1M token context window that can analyze entire repositories at once.
Sources: Gemini CLI | Code Review Extension | Gemini Code Assist | GitHub Action
| Feature | Benefit | |---------|---------| | Gemini 2.5 Pro | State-of-the-art reasoning for code | | 1M token context | Entire repositories fit - no chunking needed | | Free tier | 1,000 requests/day with Google account | | Consistent output | Clean formatting, predictable structure | | GitHub native | Gemini Code Assist app for auto PR reviews |
| Benchmark | Score | Notes | |-----------|-------|-------| | SWE-Bench Verified | 63.8% | Agentic coding benchmark | | Qodo PR Benchmark | 56.3% | PR review quality | | LiveCodeBench v5 | 70.4% | Code generation | | WebDev Arena | #1 | Web development |
bash# Check Node.js version (requires 20+) node --version # Install Node.js 20 if needed # macOS brew install node@20 # Or via nvm nvm install 20 nvm use 20
bash# Via npm (recommended) npm install -g @google/gemini-cli # Via Homebrew (macOS) brew install gemini-cli # Or run without installing npx @google/gemini-cli # Verify installation gemini --version
bash# Requires Gemini CLI v0.4.0+ gemini extensions install https://github.com/gemini-cli-extensions/code-review # Verify extension gemini extensions list
Free tier: 1,000 requests/day, 60 requests/min
bash# Run gemini and follow browser login gemini # Select: "Login with Google Account" # Opens browser for OAuth
This gives you access to Gemini 2.5 Pro with the full 1M token context window.
Free tier: 100 requests/day
bash# Get API key from https://aistudio.google.com/apikey # Set environment variable export GEMINI_API_KEY="your-api-key" # Or add to shell profile echo 'export GEMINI_API_KEY="your-api-key"' >> ~/.zshrc # Run Gemini gemini
bash# For Google Cloud projects export GOOGLE_API_KEY="your-api-key" export GOOGLE_GENAI_USE_VERTEXAI=true export GOOGLE_CLOUD_PROJECT="your-project-id" gemini
bash# Start Gemini CLI gemini # Run code review on current branch /code-review
The extension analyzes:
bash# In interactive mode gemini # Then ask: > Review the changes in this branch for bugs and security issues > Analyze src/api/users.ts for potential vulnerabilities > What are the code quality issues in the last 3 commits?
bash# Simple prompt execution gemini -p "Review the code changes for bugs and security issues" # With JSON output (for parsing) gemini -p "Review the changes" --output-format json # Stream JSON events (real-time) gemini -p "Review and fix issues" --output-format stream-json # Specify model gemini -m gemini-2.5-pro -p "Deep code review of this PR"
bash# Get diff and review git diff origin/main...HEAD > diff.txt gemini -p "Review this code diff for: 1. Security vulnerabilities 2. Performance issues 3. Code quality problems 4. Missing error handling Diff: $(cat diff.txt) " --output-format json > review.json
bash# Track token usage and costs gemini -p "Review changes" --session-summary metrics.json # View metrics cat metrics.json
Install from GitHub Marketplace:
Commands in PR comments:
/gemini review # Request code review
/gemini summary # Get PR summary
/gemini help # Show available commandsQuota:
yaml# .github/workflows/gemini-review.yml name: Gemini Code Review on: pull_request: types: [opened, synchronize] jobs: review: runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install Gemini CLI run: npm install -g @google/gemini-cli - name: Run Review env: GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} run: | # Get diff git diff origin/${{ github.base_ref }}...HEAD > diff.txt # Run Gemini review gemini -p "Review this pull request diff for bugs, security issues, and code quality problems. Be specific about file names and line numbers. $(cat diff.txt)" > review.md - name: Post Review Comment uses: actions/github-script@v7 with: script: | const fs = require('fs'); const review = fs.readFileSync('review.md', 'utf8'); github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body: `## 🤖 Gemini Code Review\n\n${review}` });
yaml# .github/workflows/gemini-review.yml name: Gemini Code Review on: pull_request: types: [opened, synchronize] issue_comment: types: [created] jobs: review: runs-on: ubuntu-latest permissions: contents: read pull-requests: write issues: write steps: - uses: actions/checkout@v4 - name: Run Gemini CLI uses: google-github-actions/run-gemini-cli@v1 with: gemini_api_key: ${{ secrets.GEMINI_API_KEY }} prompt: "Review this pull request for code quality, security issues, and potential bugs."
On-demand commands in comments:
@gemini-cli /review
@gemini-cli explain this code change
@gemini-cli write unit tests for this componentyaml# .gitlab-ci.yml gemini-review: image: node:20 stage: review script: - npm install -g @google/gemini-cli - | gemini -p "Review the merge request changes for bugs, security issues, and code quality" > review.md - cat review.md artifacts: paths: - review.md rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" variables: GEMINI_API_KEY: $GEMINI_API_KEY
bash# ~/.gemini/settings.json { "model": "gemini-2.5-pro", "theme": "dark", "sandbox": true }
Create a GEMINI.md file in your project root for project-specific context:
markdown# Project Context for Gemini ## Tech Stack - TypeScript with strict mode - React 18 with hooks - FastAPI backend - PostgreSQL database ## Code Review Focus Areas 1. Type safety - ensure proper TypeScript types 2. React hooks rules - check for dependency array issues 3. SQL injection - verify parameterized queries 4. Authentication - check all endpoints have proper auth ## Conventions - Use camelCase for variables - Use PascalCase for components - All API errors should use AppError class
bash# Interactive gemini # Start interactive mode /code-review # Run code review extension # Headless gemini -p "prompt" # Single prompt, exit gemini -p "prompt" --output-format json # JSON output gemini -m gemini-2.5-flash -p "prompt" # Use faster model # Extensions gemini extensions list # List installed gemini extensions install URL # Install extension gemini extensions update # Update all # Key Flags --output-format json # Structured output --output-format stream-json # Real-time events --session-summary FILE # Track metrics -m MODEL # Select model
| Aspect | Claude | Codex CLI | Gemini CLI | |--------|--------|-----------|------------| | Setup | None (built-in) | npm + OpenAI API | npm + Google Account | | Model | Claude | GPT-5.2-Codex | Gemini 2.5 Pro | | Context | Conversation | Fresh per review | 1M tokens (huge!) | | Free Tier | N/A | Limited | 1,000/day | | Best For | Quick reviews | High accuracy | Large codebases | | GitHub Native | No | @codex | Gemini Code Assist |
| Scenario | Recommended Engine | |----------|-------------------| | Quick in-flow review | Claude | | Critical security review | Codex (88% detection) | | Large codebase (100+ files) | Gemini (1M context) | | Free automated reviews | Gemini | | Multiple perspectives | All three (dual/triple engine) |
| Issue | Solution | |-------|----------| | gemini: command not found | npm install -g @google/gemini-cli | | Node.js version error | Upgrade to Node.js 20+ | | Authentication failed | Re-run gemini and login again | | Extension not found | gemini extensions install https://github.com/gemini-cli-extensions/code-review | | Rate limited | Wait or upgrade to Vertex AI | | Hangs in CI | Ensure DEBUG env var is not set |
Other measured skills in the registry, with their headline benchmark lift.