# 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
