78
/ 100
Solid engineering. The biggest lever is the README.
CiviCRM (Core Application and Framework)
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 `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
- 4CI/CD14pt
Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.
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
61
README documents how to install the project.
README is present.
CONTRIBUTING guide found.
Licensed under AGPL-3.0.
Engineering
81
Lockfile present (composer.lock). Installs are reproducible.
CI is configured (.github/workflows/pr-commands.yml).
Test files detected (Civi/Api4/Service/Spec).
PHP linting configured (.editorconfig).
Issue or PR templates present.
Project health
100
Dependency manifest found (composer.json).
Repository has a description.
Actively maintained (pushed within the last month).
.gitignore present.
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- 390 / 1360Commits (30d / 90d)
- 891Forks
- 0Releases
Community
- 62% - FairCommunity health
- 3 bus factorauthors own >50% of commits
- 762Watchers
Responsiveness
- -Median issue response
- 1hMedian PR merge time
- 229Open issues
Repository files52 root entries
- .githubGood: CONTRIBUTING guide found.Issue: CONTRIBUTING guide contents could not be read (−28 pts vs a readable file).Fix: Move the file to the repo root or docs/CONTRIBUTING.md so its setup, style, test, and PR sections can be graded.Good: CI is configured (.github/workflows/pr-commands.yml).Good: Issue or PR templates present.
- .gitlab
- ang
- api
- bin
- CiviGood: Test files detected (Civi/Api4/Service/Spec).
- CRM
- css
- distmaker
- ext
- extern
- i
- js
- managed
- mixin
- release-notes
- schema
- settings
- setup
- sql
- templates
- tests
- tools
- xml
- .editorconfigGood: PHP linting configured (.editorconfig).
- .gitattributes
- .gitignoreGood: .gitignore present.
- .jshintrc
- agpl-3.0.exception.txt
- Civi.php
- civicrm-version.php
- composer.compile.json
- composer.jsonGood: Dependency manifest found (composer.json).
- composer.lockGood: Lockfile present (composer.lock). Installs are reproducible.
- contributor-key.yml
- deleted-files-list.json
- extension-compatibility.json
- functions.php
- gpl.txt
- guzzle_php81_shim.php
- header-afl.txt
- header-agpl.txt
- header.sql
- header.tpl
- header.txt
- karma.conf.js
- LICENSEGood: Licensed under AGPL-3.0.
- package-lock.json
- package.json
- phpunit.xml.dist
- README.mdGood: README is present.Issue: README is fairly short (−10 pts). At 400+ chars you get partial credit; 1,500+ earns the full +20 pts.Fix: Expand with a description, install steps, usage, and examples.Issue: README has little structure (−15 pts). Add 2-3 headings for +8 pts; 4+ earns +15 pts.Fix: Break it into sections (Overview, Install, Usage, Contributing) using Markdown headings.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.Issue: No status badges in the README (−10 pts).Fix: Add CI/build status badges from shields.io or your CI provider to signal project health.Good: README documents how to install the project.Issue: No run or usage instructions found (−45 pts).Fix: Add a section showing how to start or use the project.
- release-notes.md
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/civicrm/civicrm-core)