Package Exports
- shippie
- shippie/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (shippie) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Shippie 🚢 (formerly Code Review GPT)
Helps you ship faster
Shippie uses Large Language Models to review code in your CI/CD pipeline. It should pick up on common issues such as:
- Exposed secrets
- Slow or inefficient code
- Potential bugs or unhandled edge cases
It can also be run locally in your command line to review staged files.
npx shippie review
Demo
https://github.com/mattzcarey/shippie/assets/77928207/92029baf-f691-465f-8d15-e1363fcb808e
Ethos 💭
- Beautiful CLI tool written in typescript and bun
- Vertically integrated into your CI/CD pipeline
- Functions as a human code reviewer, using a small set of optimised tools
- Acts as a Model Context Protocol (MCP) client for integration with external tools such as browser use, infrastructure deployments, observability monitoring.
Setup Instructions 💫
See the setup instructions for more docs on how to set up shippie in your CI/CD pipeline and use it locally.
Additional Documentation
- Rules Files - How to use rules files to get the most out of Shippie
- AI Provider Configuration - Configure different AI providers
- Action Options - GitHub Action configuration options
- Model Context Protocol (MCP) - Give Shippie access to external tools
Development 🔧
Clone the repository:
git clone https://github.com/mattzcarey/shippie.git cd shippie
Install dependencies (we use bun but you can use npm or pnpm if you prefer):
bun i
Set up the API key:
- Rename the
.env.example
file to.env
. - Open the
.env
file and replaceYOUR_API_KEY
with your actual OPENAI API key.
- Rename the
Run the application:
bun start
See the package.json file for all the npm commands you can run.
- Make a PR 🎉
We use release-please on this project. If you want to create a new release from your PR, please make sure your PR title follows the Conventional Commits format. The release-please bot will automatically create a new release for you when your PR is merged.
- fix: which represents bug fixes, and correlates to a patch version.
- feat: which represents a new feature, and correlates to a SemVer minor.
- feat!:, or fix!:, refactor!:, etc., which represent a breaking change (indicated by the !) and will result in a major version.
Contributors 🙏
Thanks to our wonderful contributors!
Roadmap 🌏
Have a look at the discussion tab for the latest chat and ideas. I am actively working on the items in todo.md.