Plan — badge + security parity with random-ai-prompt (2026-07-21)
Goal. Bring papermc-despawned-items up to the same README badge wall and
supply-chain / quality tooling as the sibling project
random-ai-prompt, adapted from
that project's JavaScript/Node stack to this one's Kotlin/Gradle/Paper stack.
What the reference has that we lacked
Reference README carries ~22 badges backed by real infra: CI, CodeQL, OpenSSF
Scorecard, Codecov, SonarCloud (quality gate + tech debt), CodeFactor, docs deploy,
plus the GitHub social/activity badges. We had 5 (CI, version, last-commit, docs,
license) and only ci.yml + docs.yml + dependabot.yml.
JS → Kotlin adaptations
| Reference (Node) | Here (Kotlin/Gradle) |
|---|---|
| Node ≥24 badge | Java 21 badge (+ Paper 1.21.x badge) |
package-json/v version | github/v/tag (already correct) |
Codecov flag=node engine coverage | single Kover coverage (Kover already gates the build) |
CodeQL javascript-typescript | CodeQL java-kotlin, build-mode manual (Gradle compile) |
| Netlify deploy badge | GitHub Pages docs-deploy badge (docs.yml) |
| SonarCloud (JS) | SonarQube Cloud (Kotlin), scoped to src, Kover XML coverage import |
| CodeFactor | CodeFactor (language-agnostic — unchanged) |
Phases
- README badge block — full wall, Kotlin-adapted, + commented-out Hangar/Modrinth usage badges (ready to enable once the plugin is published there).
- Security workflows —
scorecard.yml(verbatim from reference; language-agnostic),codeql.yml(java-kotlin),codeql/codeql-config.yml. Dependabot already covers gradle + actions. - Coverage → Codecov —
koverXmlReportstep + Codecov upload inci.yml. - SonarQube Cloud —
sonar-project.properties(Kotlin,srconly, Kover coverage import) + a token-guarded scan step inci.yml. - Docs — parity check only. Subnav/chrome already deploy correctly (confirmed by owner); no injection fix needed.
- Naming fix + release — fix the bare
DespawnedItemsinSECURITY.md; verify./gradlew build; commit ondev(changelog + PATCHVERSIONbump); release via PR.
Needs the owner (external, cannot be done from the repo)
Badges that stay grey/red until these are done:
- Codecov — enable the Codecov GitHub app on the repo; add
CODECOV_TOKENsecret. - SonarQube Cloud — import the project under org
1fairyfox; confirm the realprojectKey/organization(SonarCloud mints its own — see the reference's warning); addSONAR_TOKENsecret. Until the secret exists the scan step self-skips. - CodeFactor — add the repo at codefactor.io (no config file needed).
- OpenSSF Scorecard — optional
SCORECARD_TOKENPAT to score the Branch-Protection check (falls back to the default token). - Hangar/Modrinth — publish the plugin, then uncomment the usage badges.