0
/ 100
Good shape overall. A few tweaks would push it into the top tier.
Knock-Knock: A Fun, Live View of Multi-Protocol Internet Break-in Attempts
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 `pull_request:` to the workflow `on:` triggers.
- 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
72
No CONTRIBUTING.md found (−47 pts base + up to −53 pts more for content).
→ Add a CONTRIBUTING.md telling newcomers how to get involved. Include setup, code style, test, and PR instructions.
README documents how to install the project.
README is present.
Licensed under MIT.
Engineering
61
No linter or formatter config found.
→ Add a linter config such as .eslintrc.json, .prettierrc, ruff.toml, or .golangci.yml to enforce consistent code style.
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/docker-publish.yml).
Test files detected (extras/tests).
Lockfile present (requirements.txt). Installs are reproducible.
Project health
100
Dependency manifest found (requirements.txt).
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)
- 6Forks
- 6Releaseslatest 3mo ago
Community
- -Community health
- -authors own >50% of commits
- 183Watchers
Responsiveness
- 3hMedian issue response
- <1hMedian PR merge time
- 0Open issues
Repository files38 root entries
- .claude
- .githubGood: CI is configured (.github/workflows/docker-publish.yml).Good: Dependabot covers 3 ecosystems (pip, docker, github-actions). Dependencies stay current.
- contrib
- data
- docs
- extrasGood: Test files detected (extras/tests).
- honeypots
- pix
- protocols
- static
- systemd
- tests
- .dockerignore
- .env.example
- .gitignoreGood: .gitignore present.
- .gitleaks.toml
- CLAUDE.md
- constants.py
- dbtool.py
- docker-compose.override.yml.example
- docker-compose.yml
- DockerfileGood: Environment pinned via Dockerfile.
- index.html
- INSTALL.md
- internet-background-radiation.html
- ip_ban.py
- LICENSEGood: Licensed under MIT.
- main.py
- monitor.py
- protocol_api.py
- 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.Issue: No run or usage instructions found (−45 pts).Fix: Add a section showing how to start or use the project.
- requirements.txtGood: Lockfile present (requirements.txt). Installs are reproducible.Good: Dependency manifest found (requirements.txt).
- restart.sh
- robots.txt
- SECURITY.mdGood: Security policy present.
- sitemap.xml
- stats.py
- summary.html
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/djkurlander/knock-knock)