Simple automation scripts for CodeMie Code releases following KISS principles.
The release.sh script automates the complete release process:
# Release specific version ./scripts/release.sh 0.0.3 # Auto-increment patch version (0.0.2 → 0.0.3) ./scripts/release.sh # Preview what would be done (dry run) ./scripts/release.sh --dry-run # Preview specific version ./scripts/release.sh 0.0.3 --dry-run # Show help ./scripts/release.sh --helpThe script follows the release process defined in the release-manager documentation:
- Pre-flight checks: Validates git status and existing tags
- Version determination: Auto-increments patch version or uses provided version
- Version update: Updates
package.jsonandpackage-lock.json - Git operations: Commits changes, creates annotated tag, pushes to origin
- GitHub release: Creates GitHub release with auto-generated notes (if
ghCLI available)
git- Version control operationsnpm- Package version managementgh(optional) - GitHub release creation
If gh CLI is not available, the script will provide a manual link to create the GitHub release.
Based on CLAUDE.md, the complete release flow is:
# From CLAUDE.md: git tag -a v0.0.1 -m "Release version 0.0.1" # Create release tag git push origin v0.0.1 # Push tag to trigger publishThe script automates this by:
- Using
npm versionto update package files - Creating proper commit message with Claude Code attribution
- Creating annotated git tag
- Pushing both commit and tag
- Creating GitHub release (triggers npm publish workflow)
The script includes basic error handling:
- Warns about uncommitted changes (allows override)
- Checks for existing tags (allows override)
- Validates git repository state
- Uses
set -eto exit on errors
Following KISS principles, this script:
- Is a single file with no dependencies
- Uses basic bash constructs
- Provides clear output and prompts
- Handles the most common release scenarios
- Can be extended easily if needed
The release-manager agent can run this script instead of individual git commands, making releases more reliable and consistent.