0
/ 100
Popular for its size, but the engineering basics lag behind the interest.
Self-hosted private chat: no cloud, no telemetry, no Big Tech. Discord alternative that runs on your own machine.
A low grade is a to-do list, not a judgment of your code
Most gaps here are documentation, tests, and setup, not the code itself. Closing your top 3 gaps alone would lift this repo to A (95).
See your top fixesTop fixes
Highest-impact changes first, ranked by point weight
- 1Tests18pt
Add automated tests. They prove the code works and give contributors confidence to make changes.
- 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
88
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 is present.
README documents how to install the project.
Licensed under AGPL-3.0.
Engineering
36
No tests detected anywhere in the repository.
→ Add automated tests. They prove the code works and give contributors confidence to make changes.
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/translations-autovalidate.yml).
Lockfile present (package-lock.json). Installs are reproducible.
Linter or formatter configured (.editorconfig).
Project health
100
Dependency manifest found (package.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
- -Commits (30d / 90d)
- 54Forks
- 117Releaseslatest 5mo ago
Community
- -Community health
- -authors own >50% of commits
- 474Watchers
Responsiveness
- 2hMedian issue response
- 3hMedian PR merge time
- 22Open issues
Repository files38 root entries
- .githubGood: CI is configured (.github/workflows/translations-autovalidate.yml).
- docs
- haven-push-relay
- installer
- plugins
- public
- scripts
- src
- themes
- website
- .dockerignore
- .editorconfigGood: Linter or formatter configured (.editorconfig).
- .env.example
- .gitattributes
- .gitignoreGood: .gitignore present.
- CHANGELOG.md
- desktop-directive.md
- docker-compose.yml
- docker-entrypoint.sh
- DockerfileGood: Environment pinned via Dockerfile.
- donor-order.json
- donors.json
- GUIDE.md
- Install Haven.bat
- Install Haven.ps1
- install-node.ps1
- install.sh
- LICENSEGood: Licensed under AGPL-3.0.
- master-setup.iss
- package-lock.jsonGood: Lockfile present (package-lock.json). Installs are reproducible.
- package.jsonGood: Dependency manifest found (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.
- server.js
- setup-ssl.ps1
- setup.iss
- Start Haven.bat
- start.sh
- zeabur.yaml
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/ancsemi/haven)