73
/ 100
Good shape overall. A few tweaks would push it into the top tier.
Your Spotify + YouTube Music library & daily mixes. Stream or download in lossless FLAC. Free and open source forever.
Top fixes
Highest-impact changes first, ranked by point weight
- 1Tests18pt
Wire your tests to a documented command (e.g. a test script in your build config) so the suite is reproducible.
- 2CI/CD14pt
Add a step like `run: npm test`, `run: pytest`, or `run: tox` to your workflow file.
- 3CI/CD14pt
Add a lint step to catch style issues automatically.
- 4CI/CD14pt
Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
Working through the fixes? Let every push regrade itself.
The free GitHub App rescans this repo on every push and posts the grade as a commit check, so the score climbs without coming back to rescan by hand.
Scorecard
Every check, grouped by category and sorted worst-first
Documentation
85
Contributing guidance is in the README, not a dedicated CONTRIBUTING.md (−20 pts).
→ Moving it to a CONTRIBUTING.md makes it easier to find and keeps the README focused. A dedicated file earns +47 pts base.
README documents how to install the project.
README is present.
Licensed under GPL-3.0.
Engineering
54
No Java/Kotlin linter configured.
→ Add Checkstyle or Spotless for Java formatting, or ktlint/Detekt for Kotlin. Run it via Maven/Gradle or as a CI step.
No issue or PR templates found (−100 pts).
→ Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.
CI is configured (.github/workflows/tests.yml).
Lockfile present (package-lock.json). Installs are reproducible.
Test files detected (app/src/androidTest/kotlin/com/stash/app/amzgate/FFmpegDecryptionKeyGateTest.kt).
Project health
100
Dependency manifest found (build.gradle.kts).
Repository has a description.
Actively maintained (pushed within the last month).
.gitignore present.
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- 237 / 1264Commits (30d / 90d)
- 21Forks
- 98Releaseslatest 3mo ago
Community
- 57% - FairCommunity health
- 1 bus factorlowauthor own >50% of commits
- 641Watchers
Responsiveness
- 13hMedian issue response
- <1hMedian PR merge time
- 70Open issues
Repository files26 root entries
- .githubGood: CI is configured (.github/workflows/tests.yml).
- appGood: Test files detected (app/src/androidTest/kotlin/com/stash/app/amzgate/FFmpegDecryptionKeyGateTest.kt).
- build-logic
- core
- data
- design
- docs
- feature
- gradle
- infra
- spike
- .gitignoreGood: .gitignore present.
- build.gradle.ktsGood: Dependency manifest found (build.gradle.kts).
- DESIGN-RESEARCH.md
- gradle.properties
- gradlew
- gradlew.bat
- home-screen.html
- library-browse.html
- LICENSEGood: Licensed under GPL-3.0.
- now-playing-mockup.html
- package-lock.jsonGood: Lockfile present (package-lock.json). Installs are reproducible.
- package.json
- README.mdGood: README is present.Good: README is well structured with multiple sections.Good: README includes screenshots or visuals. Great for first impressions.Good: README has code examples.Good: README links to a live demo or deployed app.Good: README includes status badges.Good: README documents how to install the project.Good: README documents how to run the project.
- SECURITY.mdGood: Security policy present.
- settings.gradle.kts
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/rawnaldclark/stash)