77
/ 100
Good shape overall. A few tweaks would push it into the top tier.
Core implementations of an open-source secure key
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 a lint step to catch style issues automatically.
- 3CI/CD14pt
Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
- 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
82
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 Apache-2.0.
Engineering
64
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.
Test files detected (test-via-pcsc/admin_test.go).
CI is configured (.github/workflows/tests.yml).
Lockfile present (go.sum). Installs are reproducible.
Project health
100
Dependency manifest found (go.mod).
Repository has a description.
Actively maintained (pushed within the last month).
.gitignore present.
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- 30 / 222Commits (30d / 90d)
- 46Forks
- 0Releases
Community
- 37% - WeakCommunity health
- -authors own >50% of commits
- 409Watchers
Responsiveness
- 11hMedian issue response
- <1hMedian PR merge time
- 3Open issues
Repository files29 root entries
- .githubGood: CI is configured (.github/workflows/tests.yml).
- applets
- cmake
- fuzzer
- fuzzing
- include
- interfaces
- scripts
- src
- test
- test-realGood: Code of conduct present.
- test-via-pcscGood: Test files detected (test-via-pcsc/admin_test.go).Good: Environment pinned via test-via-pcsc/Dockerfile.
- virt-card
- .clang-format
- .coveralls.yml
- .gitignoreGood: .gitignore present.
- .gitmodules
- AGENTS.md
- canokey-crypto
- CMakeLists.txt
- DESIGN.md
- FIDO2 Conformance Testing.json
- go.modGood: Dependency manifest found (go.mod).
- go.sumGood: Lockfile present (go.sum). Installs are reproducible.
- LICENSEGood: Licensed under Apache-2.0.
- littlefs
- llvm-gcov.sh
- 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.
- tinycbor
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/canokeys/canokey-core)