46
/ 100
The fundamentals need work — start with test coverage and CI.
GitOps-driven Infrastructure as Code for my homelab
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 C (72).
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
76
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 WTFPL.
Engineering
18
No tests detected anywhere in the repository.
→ Add automated tests. They prove the code works and give contributors confidence to make changes.
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.
No dependency lockfile found (−70 pts).
→ Commit the lockfile for this project's package manager so installs produce the same dependency versions everywhere.
CI is configured (.github/workflows/ansible-playbooks.yml).
Project health
68
No dependency manifest detected at root.
→ Add a manifest (package.json, pyproject.toml, Cargo.toml, go.mod, etc.) so others can install dependencies in one command.
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)
- 51Forks
- 0Releases
Community
- 42% - WeakCommunity health
- 1 bus factorlowauthor own >50% of commits
- 781Watchers
Responsiveness
- 42d 14hMedian issue response
- 1d 9hMedian PR merge time
- 4Open issues
Repository files19 root entries
- .githubGood: CI is configured (.github/workflows/ansible-playbooks.yml).
- .renovate
- .taskfiles
- .vscode
- ansible
- dockerGood: Environment pinned via docker/ai/compose.yaml.
- kubernetes
- nixos
- packer
- terraform
- .gitattributes
- .gitignoreGood: .gitignore present.
- .gitleaks.toml
- .pre-commit-config.yaml
- .sops.yaml
- .yamllint.yml
- LICENSEGood: Licensed under WTFPL.
- README.mdGood: README is present.Good: README is well structured with multiple sections.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.Good: README includes status badges.Good: README documents how to install the project.Good: README documents how to run the project.
- Taskfile.yaml
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/mafyuh/iac)