This is a submission for the GitHub Copilot CLI Challenge
Code reviews usually happen after a pull request — I wanted to bring them directly into the terminal before pushing code.
What I Built
I built a terminal-based AI PR Reviewer that uses GitHub Copilot to analyze Python files before they’re committed or pushed.
The idea was simple: instead of waiting for a GitHub PR review, what if I could run an AI-powered review directly in my terminal?
The tool:
- Detects staged or modified Python files
- Sends them to Copilot for structured review
- Enforces a strict JSON output format
- Displays issues in a clean, color-coded terminal table
- Optionally generates a PR-ready markdown comment
It’s lightweight, focused, and designed to fit naturally into a developer’s workflow.
I wanted something practical — not just a demo, but something I could actually use before pushing code.
Demo
https://github.com/rhythm-dubey/ai-pr-reviewer
You can review staged files with:
python reviewer.py --staged
The tool analyzes changed Python files and categorizes issues into:
- 🔴 Critical
- 🟡 Warning
- ⚪ Suggestion
My Experience with GitHub Copilot CLI
This project pushed me to explore Copilot beyond inline code suggestions.
Instead of using Copilot just inside an editor, I used it programmatically to:
- Create structured review prompts
- Enforce JSON output formats
- Handle inconsistent model responses
- Debug parsing failures
One of the biggest challenges was ensuring the AI returned strict JSON consistently. I had to carefully design the prompt to strongly enforce JSON output, and even then I implemented fallback parsing and error handling to avoid breaking the CLI experience.
That forced me to think more deeply about prompt design, validation, and defensive programming around unpredictable model outputs.
I also learned that AI integration isn’t just about calling a model — it’s about building reliable guardrails around unpredictable outputs.
Overall, working with Copilot CLI made experimentation fast. It allowed me to prototype quickly, iterate on prompts, and test different review strategies directly from the terminal.
This project started as a challenge entry, but it gave me practical insight into building AI-assisted developer tooling.

Top comments (0)