Cherry allows you to track your technical debt with minimal setup. You configure the codebase patterns you want to track once. Cherry will then run on every commit and report the stats to your dashboard. It's that simple.
# clone the project
git clone [email protected]:cherrypush/cherry.git
cd cherry
# install dependencies
bundle install
npm install
# setup database
docker compose up -d
rails db:setup
# setup local env vars
cp .rbenv-vars.template .rbenv-vars
# launch the server
bin/dev
# populate the database
npm install -g cherrypush
API_URL=http://localhost:3001/api cherry push --api-key=00000000-0000-0000-0000-000000000000
The env vars step above assumes you're using the rbenv-vars plugin. If you don't have it installed, check their docs here or use an alternative method to load your environment variables.
In addition to the above-mentioned docs, a great way to get started is to watch some of the live sessions below. This should give you insights on how to navigate the codebase and start contributing.
Cherry CLI (JavaScript):
- Add support for array of globs: https://youtu.be/zPrVUFDcQ5Y
- Sort results of cherry run: https://youtu.be/ZjJqDBLbM-E
Cherry App (Ruby on Rails):
- Add a new API endpoint + controller tests: https://youtu.be/vh1bCTe16Bs
- Fixing N+1 queries on metrics#index: https://youtu.be/isqa9r0SpsA
- Fixing N+1 queries on dashboards#index: https://youtu.be/vcGpfbLuliA
And here's a list of tasks that are great for first-time contributors:
- Remove the "watch" feature from metrics as this is not generally used
- Address TODO comments in the codebase
- Report a bug via GitHub Issues
- Or shoot me a private message on x.com/fwuensche