72
/ 100
Solid foundation. Invest in docs and CI to grow from here.
A component to run AI model on esphome
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
If your CI lives elsewhere (a private repo that builds this one) or this project is itself a CI/CD tool, mark this check Not Applicable. Otherwise add a GitHub Actions workflow that runs tests on each push. It takes 15 minutes and reassures contributors their changes won't break things.
- 3README12pt
Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
- 4Install and run instructions9pt
Add a .env.example listing all required environment variables so contributors know what to set up.
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
74
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 is present.
README documents how to install the project.
Licensed under MIT.
Engineering
62
No CI configuration detected in this repository.
→ If your CI lives elsewhere (a private repo that builds this one) or this project is itself a CI/CD tool, mark this check Not Applicable. Otherwise add a GitHub Actions workflow that runs tests on each push. It takes 15 minutes and reassures contributors their changes won't break things.
Test files detected (tests).
Lockfile present (components/data_collector/data_extractor/requirements.txt). Installs are reproducible.
Linter or formatter configured (.editorconfig).
Issue or PR templates present.
Project health
96
Dependency manifest found (pyproject.toml).
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)
- 8Forks
- 0Releases
Community
- 57% - FairCommunity health
- 1 bus factorlowauthor own >50% of commits
- 55Watchers
Responsiveness
- 16hMedian issue response
- <1hMedian PR merge time
- 0Open issues
Repository files41 root entries
- .ai
- .githubGood: Issue or PR templates present.
- .greptile
- boards
- componentsGood: Lockfile present (components/data_collector/data_extractor/requirements.txt). Installs are reproducible.Good: Environment pinned via components/data_collector/server/Dockerfile.
- docs
- draw_regions
- models
- script
- testsGood: Test files detected (tests).
- tools
- wiki
- .clang-format
- .clang-tidy
- .editorconfigGood: Linter or formatter configured (.editorconfig).
- .flake8
- .gitignoreGood: .gitignore present.
- .pre-commit-config.yaml
- .yamllint
- camera_options.yaml
- camera_webserver.yaml
- CODEOWNERS
- config_analog_reader_test.yaml
- config_ssocr_test.yaml
- config.yaml
- debug_board.yaml
- esp32_camera.yaml
- fuzz_parallel.py
- globals.yaml
- lan.yaml
- licence.mdGood: Licensed under MIT.
- logger.yaml
- pyproject.tomlGood: Dependency manifest found (pyproject.toml).
- README.mdGood: README is present.Good: README is well structured with multiple sections.Issue: No screenshots or images in the README (−20 pts).Fix: Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.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.
- secrets.yaml.example
- SECURITY.mdGood: Security policy present.
- sensor_others.yaml
- switch_others.yaml
- time.yaml
- todo.md
- wifi.yaml
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/nliaudat/esphome_ai_component)