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
# 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/projectsSecrets are stored in
config/credentials.yml.enc. To decrypt them you needconfig/master.key(or theRAILS_MASTER_KEYenv var) — ask a maintainer for it.
The parity gem provides shortcuts like production console,
production logs, and development restore production to sync the prod database into dev. It expects a git remote
named after each environment:
heroku git:remote -r production -a cherrypush-productionIn 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