# Semantic Release

> Automate versioning and package publishing with semantic-release. Use when a user asks to automate npm publishing, generate changelogs, handle semantic versioning in CI, or automate GitHub releases.

- Skill: `eliferjunior/semantic-release` (Agent Skill)
- Install (CLI): `npx skillmds@latest add eliferjunior/semantic-release`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eliferjunior/semantic-release/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: eliferjunior (https://skillmd.com/u/eliferjunior)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/eliferjunior/semantic-release

---


# semantic-release

## Overview
semantic-release automates the release workflow: determine version bump from commit messages, generate changelog, create Git tag, publish to npm, create GitHub release.

## Instructions

### Step 1: Setup
```bash
npm install -D semantic-release @semantic-release/changelog @semantic-release/git
```

### Step 2: Configure
```json
// .releaserc.json — Release configuration
{
  "branches": ["main"],
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    ["@semantic-release/changelog", { "changelogFile": "CHANGELOG.md" }],
    "@semantic-release/npm",
    ["@semantic-release/git", { "assets": ["CHANGELOG.md", "package.json"] }],
    "@semantic-release/github"
  ]
}
```

### Step 3: CI Integration
Add to your CI pipeline (GitHub Actions, GitLab CI, etc.) to run on every push to main. Requires GITHUB_TOKEN and NPM_TOKEN secrets.

## Guidelines
- Requires conventional commits — feat = minor, fix = patch, BREAKING CHANGE = major.
- Use with commitlint + husky to enforce commit format.
- Works with monorepos using semantic-release-monorepo plugin.

