Skip to content

docs(readme): add self-updating version badge, de-stale alpha prose - #1349

Merged
piotrswierzy merged 1 commit into
mainfrom
1346-readme-version-badge
Jul 3, 2026
Merged

docs(readme): add self-updating version badge, de-stale alpha prose#1349
piotrswierzy merged 1 commit into
mainfrom
1346-readme-version-badge

Conversation

@piotrswierzy

Copy link
Copy Markdown
Collaborator

What & why

The README badge block (CI / License / Status) had no version badge — a reader couldn't tell which release OpenLinker is on. Hardcoding v0.1.0 would be the wrong fix: it'd go stale the instant the next release cuts and the README is the one place nobody remembers to update (the exact drift class we closed with the release-please work in #1332).

This adds a dynamic shields.io badge that reads the version from the single canonical source, so it can't drift:

[![Version](https://img.shields.io/github/package-json/v/openlinker-project/openlinker?label=version)](./CHANGELOG.md)
  • github/package-json/v reads version from the root package.json — which release-please bumps only when a Release PR merges. So the badge tracks the release line (0.1.0 today; 0.1.1 the moment chore(main): release 0.2.0 #1345 merges) with zero README edits and no hardcoded number in the markdown.
  • Chose package-json/v over github/v/release so it renders correctly right now, independent of when the v0.1.0 GitHub Release is published (the v/release variant shows "no releases" until then).

Two axes handled by churn rate:

  • Version (high-churn) → dynamic badge (above).
  • Maturity (low-churn) → the Status: alpha badge is left untouched — it changes ~twice in the project's life and is correctly hardcoded.

Also de-staled the prose at line 13 — dropped "First public release is in progress" (v0.1.0 is now tagged) and kept it maturity-only/version-agnostic so it can't re-drift.

Diff

README.md only, +2/−1: one new badge line + one prose trim. No app code, no tests, no migration.

Test plan

  • pnpm check:invariants green — incl. scripts/check-repo-urls.mjs (the new shields URL uses the canonical openlinker-project/openlinker slug and trips no repo-URL guard).
  • Status: alpha badge + its #670 link unchanged.
  • No hardcoded version number in the markdown source — the number appears only inside the shields URL, resolved at render time from package.json.
  • Auto-reflects a bump: the badge URL reads root package.json, which release-please updates on Release-PR merge — verify after chore(main): release 0.2.0 #1345 merges (→ 0.1.1) with no README change.

Closes #1346

🤖 Generated with Claude Code

Adds a shields.io `github/package-json/v` badge to the README badge block
that reads the version from the root package.json — release-please bumps
that field on every Release-PR merge, so the badge tracks the release line
(0.1.0 today, 0.1.1 when #1345 merges) with zero README edits and no
hardcoded number in the markdown. Chose package-json/v over v/release so it
renders correctly right now, independent of when the v0.1.0 GitHub Release
is published.

Keeps the low-churn `Status: alpha` badge as-is (maturity axis, not
version) and drops the now-stale "First public release is in progress"
prose so it can't re-drift.

Closes #1346

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Piotr Swierzy <piotr.swierzy@blockydevs.com>
@piotrswierzy
piotrswierzy merged commit a9fd03a into main Jul 3, 2026
7 checks passed
norbert-kulus-blockydevs pushed a commit that referenced this pull request Jul 22, 2026
…1349)

Adds a shields.io `github/package-json/v` badge to the README badge block
that reads the version from the root package.json — release-please bumps
that field on every Release-PR merge, so the badge tracks the release line
(0.1.0 today, 0.1.1 when #1345 merges) with zero README edits and no
hardcoded number in the markdown. Chose package-json/v over v/release so it
renders correctly right now, independent of when the v0.1.0 GitHub Release
is published.

Keeps the low-churn `Status: alpha` badge as-is (maturity axis, not
version) and drops the now-stale "First public release is in progress"
prose so it can't re-drift.

Closes #1346

Signed-off-by: Piotr Swierzy <piotr.swierzy@blockydevs.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[TASK] DX — add a self-updating version badge to the README (don't hardcode the number)

1 participant