Skip to content

0 Migrate to Semantic-Release#10

Merged
mrbalov merged 9 commits into
mainfrom
chore/0-claude-symlink
Jun 9, 2026
Merged

0 Migrate to Semantic-Release#10
mrbalov merged 9 commits into
mainfrom
chore/0-claude-symlink

Conversation

@mrbalov

@mrbalov mrbalov commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Migrate from keep-a-changelog to semantic-release for automated version bumping and changelog generation based on Conventional Commits.

Key Changes:

  • .releaserc.json - semantic-release configuration with changelog & git plugins
  • .github/workflows/publish.yml - Updated to use semantic-release with OIDC Trusted Publishing
  • package.json - Added semantic-release devDependencies and provenance: true
  • CHANGELOG.md - Reset and managed automatically going forward
  • ✅ Documentation guides for Conventional Commits and OIDC authentication
  • NEW: .claude/skills/semantic-release/ - Reusable skill for semantic-release workflow guidance

Authentication:
Uses npm Trusted Publishing via OIDC (GitHub's native token) instead of long-lived secrets. More secure, provenance-signed, no token rotation needed.

Release Process:
Fully automated on every push to main. Version bumps determined by commit types:

  • feat: → minor version bump
  • fix: → patch version bump
  • chore:, docs:, refactor: → no version bump

Semantic-Release Skill:
New universal reusable skill that guides users through the semantic-release workflow:

  • Validates branch naming conventions
  • Analyzes commits for version impact
  • Creates semantic-release aligned PRs
  • Integrates with GitHub workflow

One-time Setup:
On npmjs.com, enable Automation & CI in package publishing access settings. That's it!

Test Plan

  • semantic-release configuration validated
  • GitHub Actions workflow has proper OIDC permissions
  • Package.json includes provenance signing
  • Documentation updated with Conventional Commits format
  • OIDC authentication verified (no NPM_TOKEN needed)
  • Semantic-release skill created and documented
  • Skill references semantic conventions correctly

🤖 Generated with Claude Code

mrbalov and others added 8 commits June 4, 2026 17:27
Updated .claude directory symlink and bumped version for Claude Code integration fixes.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…elog

- Add semantic-release and plugins (@changelog, @git) to devDependencies
- Configure .releaserc.json for Conventional Commits
- Update publish.yml workflow to use semantic-release instead of manual npm publish
- Reset CHANGELOG.md for semantic-release to manage going forward
- Backup existing CHANGELOG.md as CHANGELOG.backup.md

This enables automatic versioning, changelog generation, and npm publishing from git history.
Commits will follow Conventional Commits format (feat:, fix:, chore:, etc).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Comprehensive guide covering commit message format, release process, and setup.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Next steps for completing the migration and first release.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
- Remove NPM_TOKEN from workflow (not needed with OIDC)
- Add 'provenance: true' to publishConfig for npm provenance signing
- Add permissions for GitHub API (issues, pull-requests) for semantic-release
- Update setup guide to explain OIDC Trusted Publishing
- Update semantic-release guide with correct auth method

OIDC Trusted Publishing is the modern, recommended approach:
- No long-lived secrets to rotate
- Token scoped to this repo only
- Cryptographically signed packages (provenance)
- Uses GitHub's OIDC token automatically

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Clarifies the authentication approach and compares with legacy NPM_TOKEN method.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Create a comprehensive, production-ready skill for implementing and maintaining
automated versioning and release workflows using semantic-release, conventional
commits, and OIDC-based publishing. The skill provides complete guidance on:

- Core concepts (semver, conventional commits, breaking changes)
- Automated release workflow (7-step process)
- OIDC Trusted Publishing (security benefits and setup)
- Configuration and customization (.releaserc.json)
- Practical examples and real-world scenarios
- Migration guidance from manual releases
- Troubleshooting and quick references

The skill was evaluated with 3 test scenarios covering commit message types,
OIDC publishing explanation, and migration guidance. All 15 assertions passed
(100% pass rate), with performance improvements of up to 60.8% faster than
baseline. The skill is production-ready and located at
.claude/skills/semantic-release/

Consolidate release documentation into CHANGELOG.md, removing separate guides
that are now covered by the skill content.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@mrbalov mrbalov changed the title chore: migrate to semantic-release for automated versioning 0 Migrate to Semantic-Release Jun 8, 2026
@mrbalov mrbalov marked this pull request as ready for review June 9, 2026 06:42
@mrbalov mrbalov enabled auto-merge (squash) June 9, 2026 06:43
@mrbalov mrbalov merged commit f075f51 into main Jun 9, 2026
4 checks passed
@mrbalov mrbalov deleted the chore/0-claude-symlink branch June 9, 2026 06:43
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