# Release Command Create a new version tag and optionally push it to the remote. ## Arguments - `major` - Increment major version (e.g., v0.1.1 -> v1.0.0) - `minor` - Increment minor version (e.g., v0.1.1 -> v0.2.0) - (default) - Increment patch version (e.g., v0.1.1 -> v0.1.2) - `--push` - Push the tag to remote after creating ## Instructions 1. Get the latest version tag: ```bash git tag -l 'v*' --sort=-v:refname | head -1 ``` 2. If no tags exist, start with v0.1.0 as the base (next will be v0.1.1) 3. Parse the version and increment based on the argument: - Extract major, minor, patch from the tag (e.g., v1.2.3 -> 1, 2, 3) - If argument is `major`: increment major, reset minor and patch to 0 - If argument is `minor`: increment minor, reset patch to 0 - Otherwise (default): increment patch 4. Create the new tag: ```bash git tag -a v{VERSION} -m "Release v{VERSION}" ``` 5. Show the created tag and recent commits since the last tag 6. If `--push` was specified, push the tag: ```bash git push origin v{VERSION} ``` 7. Display the new version and instructions for pushing if not auto-pushed $ARGUMENTS