Skip to content

docs: write down branch and release conventions - #61

Merged
handamade merged 1 commit into
mainfrom
docs/branch-and-release-conventions
Jul 31, 2026
Merged

docs: write down branch and release conventions#61
handamade merged 1 commit into
mainfrom
docs/branch-and-release-conventions

Conversation

@handamade

Copy link
Copy Markdown
Owner

Docs only — no source, no changeset (nothing consumer-visible ships).

CLAUDE.md had one line on versioning and nothing on branches, so there was no rule for which of six naming conventions to reach for. The repo had drifted to 18 remote branches — all merged — and four unreleased changesets, which is how D53 stayed merged-but-unpublished across three decisions.

What's recorded

The conventions that were already implicit (branch naming, one-branch-one-PR, changeset per change, cut a release when the queue is non-empty), plus four traps this repo has actually hit and that cost real time to rediscover:

Trap Why it bites
git branch --merged Squash-merge means merged commits never appear on main by hash. Use git cherry -v main <branch>.
gh pr merge --auto Exits 0 and prints nothing while leaving auto-merge off. Must be read back.
changeset tag Creates tags locally, never pushes them. The 0.8.0 tags were missing from the remote until pushed by hand.
pnpm vr Cannot pass outside CI, and a local macOS run silently writes junk -darwin.png baselines.

Also bumps the decision-log range from D42 to D56, and adds a warning to check the highest number in use before claiming the next — two parallel sessions collided on D54/D55 this week.

🤖 Generated with Claude Code

CLAUDE.md carried one line on versioning ("changesets; pnpm release") and
nothing on branches. The repo had drifted to 18 remote branches across six
naming conventions and four unreleased changesets, with D53 merged but
unpublished across three decisions.

Records the rules that were already implicit, plus four traps this repo has
actually hit:

- squash-merge makes `git branch --merged` useless; use `git cherry`
- `gh pr merge --auto` exits 0 without arming auto-merge
- `changeset tag` creates tags but never pushes them
- `pnpm vr` cannot pass outside CI, and a local run writes junk baselines

Also bumps the decision-log range to D56 and warns to check the highest
number in use first — two parallel sessions collided on D54/D55.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
psi Ready Ready Preview Jul 31, 2026 8:21pm

@handamade
handamade enabled auto-merge (squash) July 31, 2026 20:20
@handamade
handamade merged commit de67a60 into main Jul 31, 2026
3 checks passed
@handamade
handamade deleted the docs/branch-and-release-conventions branch July 31, 2026 20:26
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.

1 participant