Skip to content

feat: pre-release versioning, VERSIONING.md, publish-release skill#10

Merged
amcheste merged 2 commits into
mainfrom
feature/versioning-skill
Mar 29, 2026
Merged

feat: pre-release versioning, VERSIONING.md, publish-release skill#10
amcheste merged 2 commits into
mainfrom
feature/versioning-skill

Conversation

@amcheste
Copy link
Copy Markdown
Owner

Summary

  • Pre-release version supportbump-version.sh gains a set <version> subcommand so you can set any explicit version including pre-release identifiers (e.g. ./scripts/bump-version.sh set 0.1.0-beta.1)
  • Auto-detect pre-releases in release pipelinerelease.yml now detects tags containing -beta/-rc and publishes them with GitHub's Pre-release flag, so they never show as the "latest" version
  • VERSIONING.md — new document explaining the full scheme: 0.x.x = pre-stable, 1.x.x+ = mainstream, pre-release identifiers, the bump script, and the release gate
  • /publish-release Claude Code skill — stored in claude-skills/publish-release/SKILL.md, symlinked to ~/.claude/skills/ by install-dotfiles.sh. Say "Lets publish v0.1.0-beta.1 mac-dev-setup" in any Claude Code session and it handles the whole flow
  • Skills come out of the boxinstall-dotfiles.sh now installs all skills from claude-skills/ on every fresh machine

After merging

Tag the first beta release:

./scripts/bump-version.sh set 0.1.0-beta.1
git push && git push --tags

Test plan

  • CI passes (shellcheck, formula audit, integration test)
  • bump-version.sh set 0.1.0-beta.1 updates VERSION and CHANGELOG correctly
  • bump-version.sh patch still works as before
  • Release pipeline marks pre-release tags with GitHub Pre-release flag

🤖 Generated with Claude Code

amcheste and others added 2 commits March 29, 2026 14:49
…kill

- bump-version.sh: add 'set <version>' subcommand for explicit versions
  including pre-release identifiers (e.g. set 0.1.0-beta.1)
- release.yml: auto-detect pre-release tags (containing -beta/-rc) and
  publish them with GitHub's Pre-release flag so they don't show as latest
- VERSIONING.md: new file documenting the full versioning scheme, stability
  signals (0.x.x vs 1.x.x), and the bump script commands
- claude-skills/publish-release/SKILL.md: new Claude Code slash command
  (/publish-release) — describe a release in chat and Claude handles the
  VERSION bump, CHANGELOG, commit, tag, and push
- install-dotfiles.sh: symlink claude-skills/ into ~/.claude/skills/ so
  the /publish-release skill is available out of the box on every machine
- CLAUDE.md: document the release skill and reference VERSIONING.md
- README.md: expand versioning section with pre-release examples and link
  to VERSIONING.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
install-dotfiles.sh:
- Skip symlinks already pointing to the correct source (no unnecessary churn)
- Use safe_backup() helper: falls back to timestamp suffix (.20260329120000.bak)
  if a .bak already exists, preventing silent overwrite of previous backups
- Strip trailing slash from skill directory paths before symlinking (bug fix —
  trailing slash could cause Claude Code not to resolve the skill)
- Real user-created skill directories are backed up, not destroyed
- Cleaner "Up to date ✓" output on repeat runs

upgrade.sh:
- Add MCP sync step: runs setup-mcps.sh after each upgrade so new MCP servers
  added to the repo are picked up automatically (setup-mcps.sh is idempotent —
  it skips servers already configured)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@amcheste amcheste merged commit 34d8432 into main Mar 29, 2026
3 checks passed
@amcheste amcheste deleted the feature/versioning-skill branch March 29, 2026 19:18
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