DiffPal
Open-source AI pull request review that runs in your CI.
DiffPal is for teams that want AI review feedback without adopting a mandatory hosted review service. Bring Codex, Copilot, OpenCode, another supported provider, or any ACP-compatible agent, and keep one review workflow across GitHub, GitLab, and Azure DevOps.
Quickstart · Documentation · Live Demo · Security · GitHub
What Users Get
| Output | Where it shows up |
|---|---|
| PR/MR summary | GitHub reviews, GitLab summaries, Azure PR threads |
| Actionable findings | Inline comments, discussions, or PR threads on changed lines |
| Machine-readable artifacts | Findings JSON, summary Markdown, SARIF, and Code Quality reports |
| Optional merge gates | CI exit status, checks, commit statuses, or PR statuses |
Why DiffPal
- Runs in your CI: review happens in the workflow you already control.
- Provider choice: use the default Codex copy-paste setup, another supported provider, or an ACP-compatible agent with the same DiffPal workflow.
- Repository-owned configuration: review policy, instructions, artifacts, and gates live with the codebase.
- No mandatory hosted service: DiffPal standardizes review output without requiring a hosted DiffPal review platform.
Minimal GitHub Quickstart
Generate a GitHub Actions config with the default Codex API-key recipe:
npx -y @diffpal/diffpal@latest init --wizard --setup codex-api-key --platform github
Add OPENAI_API_KEY as a repository secret, then download the workflow:
OPENAI_API_KEY is a provider credential. DiffPal runs in your CI and sends
review input to the provider you configure, so keep this secret out of
untrusted fork PR jobs.
mkdir -p .github/workflows
curl -fsSL \
https://raw.githubusercontent.com/diffpal/diffpal/main/examples/ci/github-actions/codex-api-key.yml \
-o .github/workflows/diffpal.yml
Open a same-repository pull request. After the first successful run, expect a
DiffPal Review Summary, inline findings when actionable issues exist, and
the retained diffpal-review artifact containing
.artifacts/diffpal/findings.json.
For full setup details, provider alternatives, and fork PR guidance, use the GitHub quickstart.
Review Before Committing
Run the latest published CLI directly:
npx -y @diffpal/diffpal@latest --profile local review uncommitted
The command changes the provider task: the backend inspects the uncommitted state in its workspace snapshot with its own tools. DiffPal does not construct a second Git snapshot or pass changed files one by one. See the CLI reference.
Coding-Agent Plugin
DiffPal includes an instruction-only plugin for Codex, Claude Code, Grok Build, GitHub Copilot CLI, Cursor, OpenCode, and Agent Plugins 1.0.0 clients. Its three skills configure separate local and CI profiles, run review with explicit provider/publishing boundaries, and merge safe CI automation for GitHub, GitLab, Azure, or custom runners.
See the plugin guide for host installation and the exact setup, review, and CI skill names.
Supported Integrations
| Host | Native outputs | Guide |
|---|---|---|
| GitHub Actions | PR review summary, file-level review comments, SARIF | GitHub Actions |
| GitLab CI | MR summary, discussions, Code Quality, SARIF, status | GitLab CI |
| Azure Pipelines | PR summary thread, PR threads, PR status | Azure Pipelines |
| Custom CI/CD | Artifact-only review, or publishing through a supported code host | Custom CI/CD |
GitHub users can also install the DiffPal Review action. Azure users can install the DiffPal Review extension.
Documentation By Goal
| Goal | Start here |
|---|---|
| Run the first GitHub review | GitHub quickstart |
| Confirm the first run worked | Verify First Review |
| Improve a working setup | Next Steps |
| Understand the concepts | Concepts and Glossary |
| Choose a provider or ACP agent | Providers |
| Set up GitLab, Azure, or custom CI | Integrations |
| Secure secrets and fork PRs | Secrets and fork PRs |
| Tune review policy | Configuration reference |
| Consume artifacts or schemas | Artifacts and findings schema |
| Debug setup problems | Troubleshooting |
| Get quick answers | FAQ |
| Compare DiffPal to alternatives | Comparison guide |
Project Status
DiffPal is under active development. The public docs describe the current supported workflow and integration surface.
Contributing
Contributions are welcome. Start with CONTRIBUTING.md for local setup, verification commands, and repository conventions.
License
DiffPal is released under the MIT License.