0
/ 100
A well-known project done right. Strong docs and solid engineering throughout.
music21: a Toolkit for Computer-Aided Musical Analysis and Computational Musicology
Top fixes
Highest-impact changes first, ranked by point weight
- 1CI/CD14pt
Add a step like `run: npm test`, `run: pytest`, or `run: tox` to your workflow file.
- 2README12pt
Show a quick-start snippet so contributors can see what using your project looks like.
- 3Install and run instructions9pt
Add a .env.example listing all required environment variables so contributors know what to set up.
- 4Reproducibility6pt
Add a Dockerfile, .nvmrc, or .python-version to pin the runtime version and make the environment reproducible.
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
84
Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.
→ Add setup instructions, code style notes, and how to run tests.
README is present.
README documents how to install the project.
Licensed under BSD-3-Clause.
Engineering
88
Lockfile present (requirements.txt). Installs are reproducible.
CI is configured (.github/workflows/maincheck.yml).
Test files detected (music21/mei/test).
Linter or formatter configured (.editorconfig).
Issue or PR templates present.
Project health
91
.gitignore present.
Dependency manifest found (pyproject.toml).
Repository has a description.
Actively maintained (pushed within the last month).
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- -Commits (30d / 90d)
- 439Forks
- 49Releaseslatest 10y ago
Community
- -Community health
- -authors own >50% of commits
- 2,517Watchers
Responsiveness
- 151d 2hMedian issue response
- 3hMedian PR merge time
- 150Open issues
Repository files21 root entries
- .agents
- .claude
- .codex
- .devcontainer
- .githubGood: CI is configured (.github/workflows/maincheck.yml).Good: Issue or PR templates present.
- .ideaIssue: Build artifacts or local files may be committed (.idea/dictionaries) (−40 pts).Fix: Remove them and add to .gitignore.
- dist
- documentation
- music21Good: Test files detected (music21/mei/test).
- .coveragerc
- .editorconfigGood: Linter or formatter configured (.editorconfig).
- .gitignoreGood: .gitignore present.
- .pylintrc
- AGENTS.md
- CLAUDE.md
- CONTRIBUTING.mdIssue: Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.Fix: Add setup instructions, code style notes, and how to run tests.Issue: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them.Issue: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).Issue: Contributing guide lacks a PR workflow section (−8 pts).Fix: Explain how to fork, branch, and open a pull request so contributors know what to expect.Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
- LICENSEGood: Licensed under BSD-3-Clause.
- pyproject.tomlGood: Dependency manifest found (pyproject.toml).
- README.mdGood: README is present.Good: README is well structured with multiple sections.Good: README includes screenshots or visuals. Great for first impressions.Issue: README has no code examples (−15 pts).Fix: Show a quick-start snippet so contributors can see what using your project looks like.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.
- requirements.txtGood: Lockfile present (requirements.txt). Installs are reproducible.
- uv.lock
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/cuthbertlab/music21)