# Gh Release

> Automates version bumping in manifest.json and creating GitHub releases for Home Assistant custom components. Use when releasing a new version of a project.

- Skill: `tomevault-io/gh-release-5` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/gh-release-5`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/gh-release-5/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/gh-release-5

---


# GitHub Release Skill

## Overview

This skill automates the process of creating a new release for a Home Assistant custom component. It finds the `manifest.json` file, updates the `version`, commits the change, and then creates a GitHub release using the `gh` CLI tool.

## Semantic Versioning (SemVer)

This project follows [Semantic Versioning](https://semver.org/) (SemVer) for releasing versions. SemVer uses a `MAJOR.MINOR.PATCH` format:

- **MAJOR** version when you make incompatible API changes.
- **MINOR** version when you add functionality in a backward compatible manner.
- **PATCH** version when you make backward compatible bug fixes.

Example: `1.0.0` -> `1.1.0` (new feature), `1.1.0` -> `1.1.1` (bug fix), `1.1.1` -> `2.0.0` (breaking change).

## Usage

To use this skill, execute the `create-release.sh` script from the root of your project with the desired new version number as an argument.

**Example:**

```bash
./scripts/create-release.sh 0.9.1
```

This will perform the following actions:

1. Ensure the working directory is clean and in the `main` branch.
2. Find the `manifest.json` file in the current directory and its subdirectories.
3. Update the `version` field in the found `manifest.json` to `0.9.1`.
4. Stage the `manifest.json` file.
5. Commit the change with the message `chore(release): 0.9.1`.
6. Push the changes to the `main` branch.
7. Create a GitHub release named `0.9.1` with auto-generated release notes using `gh release create "0.9.1" --generate-notes`.

## Requirements

- `gh` CLI tool must be installed and authenticated.
- The script should be run from the root of the project repository.
- The script expects to find exactly one `manifest.json` file in the project. If zero or more than one are found, the script will exit with an error.

## Resources

### scripts/

- `create-release.sh`: The main script that performs the release automation.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/allenporter) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

