integrationFeed git-agent's structured conventional commits directly into semantic-release
semantic-release automates the entire package release workflow: version bumping, changelog generation, git tagging, and npm/GitHub publishing. It relies on the Conventional Commits specification to determine version bumps from commit history. git-agent generates strict, specification-compliant Conventional Commits — including correct type, scope, and BREAKING CHANGE footers — so semantic-release accurately determines the next version. The combination eliminates manual version management and ensures every release has a complete, categorised changelog.
Benefits
- Accurate version bumps: git-agent's correct feat/fix/BREAKING CHANGE classification drives precise semantic-release decisions
- Fully categorised changelogs: every commit type (feat, fix, perf, refactor) maps to the right changelog section
- Eliminate manual version declarations: no more package.json version bumps or git tag management
- CI-ready: git-agent's output format is designed for consumption by release automation tools
Setup steps
- Install git-agent locally and configure it to generate Conventional Commits
- Install semantic-release and configure the release branches in your release config
- Add a CI pipeline step that runs semantic-release on push to the main branch
- Verify the integration by making a feat commit and checking that the next push triggers a minor release
FAQ
Does semantic-release work with git-agent's free shared gateway?Yes. git-agent generates the commit messages locally; semantic-release reads them from the git log. The shared gateway only affects commit message generation, not how semantic-release parses them.
Can I use git-agent with semantic-release in a non-JavaScript project?Yes. semantic-release supports any language via plugins, and git-agent is language-agnostic. The Conventional Commits format is the same regardless of the project's language.
How does git-agent handle BREAKING CHANGE footers for semantic-release?When git-agent detects a breaking change in the diff (e.g., removed public API, changed function signature), it automatically includes the BREAKING CHANGE footer in the generated commit message, which semantic-release uses to trigger a major version bump.