Skip to content

docs: document the versioning / release-please convention#96

Merged
PAMulligan merged 1 commit into
mainfrom
docs/versioning-section
May 31, 2026
Merged

docs: document the versioning / release-please convention#96
PAMulligan merged 1 commit into
mainfrom
docs/versioning-section

Conversation

@PAMulligan
Copy link
Copy Markdown
Collaborator

Closes the "document the 0.0.0 versioning convention" task (v2.0.0 milestone).

Problem

package.json declares "version": "0.0.0". The field's description explains it's intentional (source of truth = git tags + .release-please-manifest.json), but that convention wasn't documented anywhere a contributor looks first.

Changes

  • CONTRIBUTING.md — new Versioning section (right after Commit Message Format): the version field is pinned to 0.0.0 on purpose and must not be hand-edited; the real version lives in git tags + .release-please-manifest.json; release-please's simple release type records the bump in the manifest, not package.json (which is why it stays 0.0.0). Links onward to docs/RELEASING.md for the full flow.
  • README.md — a short pointer next to the docs links (the README has no badge row) so a contributor who notices 0.0.0 is sent straight to the section.

Acceptance criteria

  • Section in CONTRIBUTING.md titled "Versioning" explaining the release-please flow
  • Note in README.md near the badges (none exist) pointing to the section
  • [~] Match wording used by Aurelius and Nerva — see note below

Note on matching Aurelius / Nerva

I checked both. Aurelius documents a "Release Process" using commit-and-tag-version (.versionrc.json), where package.json's version is kept in sync — the opposite of Flavian's 0.0.0 placeholder. Nerva has no versioning section yet. So there's no verbatim wording to match, and matching it literally would be inaccurate (different tool, different package.json behavior). I mirrored Aurelius's structure and "don't hand-edit the version" guidance while accurately describing Flavian's release-please flow. If the three repos later standardize on one tool/wording, this section should be reconciled then.

🤖 Generated with Claude Code

package.json pins `version` to 0.0.0 on purpose, but that convention wasn't
explained anywhere a contributor looks first. Add a "Versioning" section to
CONTRIBUTING.md (after Commit Message Format) covering: don't hand-edit the
package.json version, the source of truth is git tags + the release-please
manifest, and why the `simple` release type leaves package.json at 0.0.0. Add
a short pointer in README.md next to the docs links.

Mirrors the structure and "don't hand-edit the version" guidance of Aurelius's
release section; Flavian's mechanism differs (release-please vs
commit-and-tag-version), so the wording describes the actual release-please
flow. Nerva has no versioning section to match yet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@PAMulligan PAMulligan self-assigned this May 31, 2026
@PAMulligan PAMulligan added the documentation Improvements or additions to documentation label May 31, 2026
@PAMulligan PAMulligan moved this from Todo to Done in PMDS Open Source Roadmap May 31, 2026
@PAMulligan PAMulligan merged commit 89f693a into main May 31, 2026
10 checks passed
@PAMulligan PAMulligan deleted the docs/versioning-section branch May 31, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

Development

Successfully merging this pull request may close these issues.

1 participant