0
/ 100
Polished and well engineered. Punching above its star count.
Headless chatbot that detects spam and posts links to it in chatrooms for quick deletion.
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.
- 2Install and run instructions9pt
Add a .env.example listing all required environment variables so contributors know what to set up.
- 3Reproducibility6pt
Add .github/dependabot.yml with at least one package-ecosystem entry so dependencies are updated automatically.
- 4Reproducibility6pt
Use a multi-stage Dockerfile.
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
92
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 documents how to install the project.
README is present.
Licensed under Apache-2.0.
Engineering
80
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.
Test files detected (test).
Lockfile present (requirements.txt). Installs are reproducible.
CI is configured (.github/workflows/build.yml).
Issue or PR templates present.
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)
- 203Forks
- 0Releases
Community
- -Community health
- -authors own >50% of commits
- 493Watchers
Responsiveness
- 2hMedian issue response
- <1hMedian PR merge time
- 100Open issues
Repository files68 root entries
- .circleci
- .githubGood: Code of conduct present.Good: CI is configured (.github/workflows/build.yml).Good: Issue or PR templates present.
- classes
- testGood: Test files detected (test).
- _Git_Windows.py
- .gitattributes
- .gitignoreGood: .gitignore present.
- apigetpost.py
- bad_keywords.txt
- blacklisted_cidrs.yml
- blacklisted_nses.yml
- blacklisted_numbers.txt
- blacklisted_usernames.txt
- blacklisted_websites.txt
- blacklists.py
- bodyfetcher.py
- chatcommands.py
- chatcommunicate.py
- chatexchange_extension.py
- CODEOWNERS
- config.ci
- config.sample
- CONTRIBUTING_PULLREQS.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).Good: Contributing guide describes the PR/review workflow.Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
- datahandling.py
- deletionwatcher.py
- docker-compose.yml
- docker-startup.sh
- DockerfileGood: Environment pinned via Dockerfile.
- editwatcher.py
- excepthook.py
- findspam.py
- flovis.py
- gitmanager.py
- globalvars.py
- helpers.py
- InspectionReference.md
- LICENSE-APACHE
- LICENSE-MIT
- metasmoke_cache.py
- metasmoke.py
- nocrash.py
- number_homoglyphs.py
- parsing.py
- phone_numbers.py
- queue_timings.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.Good: README documents how to run the project.
- recently_scanned_posts.py
- REFDOC.md
- requirements.txtGood: Lockfile present (requirements.txt). Installs are reproducible.Good: Dependency manifest found (requirements.txt).
- rooms.yml
- run_tests.sh
- SECURITY.mdGood: Security policy present.
- socketscience.py
- spamhandling.py
- tasks.py
- tox_classes.ini
- tox_tests.ini
- tox.ini
- user_requirements.txt
- users.yml
- util.py
- watched_asns.yml
- watched_cidrs.yml
- watched_keywords.txt
- watched_nses.yml
- watched_numbers.txt
- ws.py
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/charcoal-se/smokedetector)