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 git@github.com: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
export API_URL=http://localhost:3001/api
cherry backfill --api-key=28ea02ee-c6e5-4e5f-b2b6-690c4cd6ca2f # Copy command from http://localhost:3001/user/projectsThe 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
- [Cherry CLI (JavaScript)] 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
- [Cherry App (Ruby on Rails)] Fixing N+1 queries on metrics#index: https://youtu.be/isqa9r0SpsA
- [Cherry App (Ruby on Rails)] Fixing N+1 queries on dashboards#index: https://youtu.be/vcGpfbLuliA
TODOs:
- Remove the "watch" feature from metrics as this is not generally used
- Address TODO comments in the codebase
- Bump
eslintfrom^8.55.0to^10.0.3 - Bump
flowbite-reactfrom^0.7.0to^0.12.17 - Remove the
minimatchoverride inpackage.json(depends on the two tasks above)
- Report a bug via GitHub Issues