Shippie is an extendable code-review agent. It runs an agent loop that reads your diff, explores the codebase with real developer tools, and posts focused review comments β picking up issues a human reviewer would, such as:
- Exposed secrets
- Slow or inefficient code
- Potential bugs or unhandled edge cases
Shippie can also act as a Model Context Protocol (MCP) client to reach external tools like browser automation, observability and documentation.
code-review-gpt-3.mp4
- A prebuilt review workflow, not a bespoke CLI β the agent loop runs on flue + pi.
- Runs anywhere: Node, Cloudflare, GitHub Actions, GitLab CI.
- Functions as a human code reviewer, using flue's built-in tools instead of a hand-rolled tool registry.
- Provider-agnostic: Anthropic, OpenAI, OpenRouter, and Cloudflare Workers AI out of the box.
- Acts as an MCP client for integration with external tools.
Run npx shippie init to scaffold the workflow below, then add your provider API key as a repo secret. Or add it manually β it needs a full checkout (fetch-depth: 0), PR write permissions, and a provider API key.
# .github/workflows/shippie.yml
name: Shippie
on:
pull_request:
permissions:
pull-requests: write
contents: read
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: mattzcarey/shippie@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}See Action Options for all inputs (MODEL, THINKING_LEVEL, IGNORE, CUSTOM_INSTRUCTIONS, MCP_SERVERS, and the provider keys).
Run the review workflow locally with no server. Local mode reviews your staged changes (git diff --cached) and writes results to .shippie/review/local_*.md:
npx shippie reviewComment /shippie review on a pull request to run shippie on demand β either via a GitHub Actions workflow (no server) or a deployed webhook channel. See Run Shippie on demand.
See the setup instructions for more docs on how to set up shippie in your CI/CD pipeline and run it locally.
- Setup - Get shippie running in CI and locally
- AI Provider Configuration - Configure Anthropic, OpenAI, OpenRouter, and Cloudflare Workers AI
- Action Options - GitHub Action configuration options
- Model Context Protocol (MCP) - Give shippie access to external tools
- Rules Files - Inject project context via
AGENTS.md/CLAUDE.mdand Agent Skills - Subagent Tool - Delegate work to flue subagents with the
tasktool - On-demand /shippie - Run shippie by commenting
/shippie(Actions or webhook)
This repo targets Node >= 22.19 with npm.
-
Clone the repository:
git clone https://github.com/mattzcarey/shippie.git cd shippie -
Install dependencies:
npm install
-
Set up your API key:
- Copy
.env.exampleto.env. - Set the provider key you want to use, e.g.
ANTHROPIC_API_KEY(orOPENAI_API_KEY,OPENROUTER_API_KEY,CLOUDFLARE_API_KEY+CLOUDFLARE_ACCOUNT_ID).
- Copy
-
Run the review workflow:
npm run review
Useful commands:
npm run devβ run flue in dev modenpm run buildβ build a publishable Node server todist/server.mjs(run it withnpm run start, thenPOST /workflows/review?wait=result)npm run checkβ lint with oxlint + check formatting with oxfmtnpm run check:typesβ typecheck with tscnpm testβ run tests
See
package.jsonfor the full list of scripts.
Thanks to our wonderful contributors!
Have a look at the discussion tab for the latest chat and ideas. I am actively working on the items in todo.md.