Skip to content

chore(conventions): switch product-repo tag form to bare SemVer numerals#20

Merged
blackbrowed-labs merged 1 commit into
devfrom
chore/bare-semver-conventions
May 13, 2026
Merged

chore(conventions): switch product-repo tag form to bare SemVer numerals#20
blackbrowed-labs merged 1 commit into
devfrom
chore/bare-semver-conventions

Conversation

@larsweiser
Copy link
Copy Markdown
Collaborator

Summary

Aligns docs/PRODUCT_REPO_CONVENTIONS.md with the bare-numeral SemVer
tag form per the SemVer 2.0.0 FAQ:

v1.2.3 is not a semantic version. […] the canonical form has no
v prefix.

Mirrors thalura-plugin#5
(already merged) which applied the same change to thalura-plugin's
release.yml. thalura-plugin shipped 0.1.0 on 2026-05-13; the
conventions doc was the only canonical artefact still mandating the
legacy vX.Y.Z form.

What changed

Docs-only — single file, docs/PRODUCT_REPO_CONVENTIONS.md (+33/-29).

  • §2 — tag-format bullets rewritten to X.Y.Z with SemVer FAQ link
  • §3.1 — CHANGELOG heading example + paragraph (canonical named first)
  • §3.2 — "rename to" instruction updated
  • §4 — YAML top-comment + trigger glob ('v*''[0-9]+.[0-9]+.[0-9]+*')
  • §4 — "notes on workflow" bullet (canonical named first)
  • §7.1 / §7.2 — UI + CLI release procedures
  • §8.1 / §8.2 / §8.4 / §8.5 — failure-mode examples; §8.5 inverted

Explicitly preserved

  • awk extractor body + error message at lines 145–158 — keeps the
    two-form tolerance (\\[v"tag"\\]) for backwards compatibility
    with legacy ## [v0.1.0] headings.
  • actions/checkout@v6 reference — action-version pin, not a
    tag-form example.

Website pipeline impact

None. The release loader is tag-form-agnostic end-to-end — tagName
flows verbatim from GitHub REST → src/lib/github-api.ts:120
src/content.config.ts:186src/pages/produkte/[slug].astro:124
(version-chip). No v-prefix manipulation anywhere in src/ or
scripts/. Both 0.1.0 and v0.1.0 round-trip identically.

Verification

grep -c 'vX\.Y\.Z' docs/PRODUCT_REPO_CONVENTIONS.md   # 1 (awk comment, preserved)
grep -c "'v\*'" docs/PRODUCT_REPO_CONVENTIONS.md       # 0
grep -c "'\[0-9\]+\.\[0-9\]+\.\[0-9\]+\*'" docs/PRODUCT_REPO_CONVENTIONS.md  # 1
grep -c 'semver.org/spec/v2.0.0.html' docs/PRODUCT_REPO_CONVENTIONS.md      # 2
grep -c 'seen=1; next' docs/PRODUCT_REPO_CONVENTIONS.md                     # 1 (awk untouched)

Test plan

  • Visual review of the §-by-§ diff in this PR.
  • After merge to dev + rollout to main: pipeline-test-fixture
    will be updated in the GitHub UI to mirror this convention as
    the live end-to-end integration test (Lars-driven).

🤖 Generated with Claude Code

Align with SemVer 2.0.0 FAQ
(https://semver.org/spec/v2.0.0.html#is-v123-a-semantic-version) — the
canonical version form has no `v` prefix. Update §2 tag format, §3
CHANGELOG heading style, §4 workflow YAML trigger glob, §7 release
procedures (UI + CLI), and §8 failure-mode examples.

The `awk` extractor in §4 still accepts both `## [0.1.0]` (canonical)
and `## [v0.1.0]` (legacy) heading styles for backwards compatibility.

Mirrors blackbrowed-labs/thalura-plugin#5 (already merged) which
applied the same change to thalura-plugin's release.yml. The reference
implementation at blackbrowed-labs/pipeline-test-fixture should be
updated separately if it still uses the v-prefix.

Co-Authored-By: Claude <noreply@anthropic.com>
@blackbrowed-labs blackbrowed-labs merged commit d72c098 into dev May 13, 2026
@blackbrowed-labs blackbrowed-labs deleted the chore/bare-semver-conventions branch May 13, 2026 12:38
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.

2 participants