| name | gh-release |
| description | Automates version bumping in manifest.json and creating GitHub releases for Home Assistant custom components. Use when releasing a new version of a project. |
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 (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:
./scripts/create-release.sh 0.9.1
This will perform the following actions:
- Ensure the working directory is clean and in the
main branch.
- Find the
manifest.json file in the current directory and its subdirectories.
- Update the
version field in the found manifest.json to 0.9.1.
- Stage the
manifest.json file.
- Commit the change with the message
chore(release): 0.9.1.
- Push the changes to the
main branch.
- 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.