Automate Your Git Releases
Create Git tags following semantic versioning standards with ease. Tagy automates version bumping, tag creation, and release management - all from your command line.
# Install globally
npm i tagy -g
# Create a patch release (1.0.0 → 1.0.1)
tagy --patch
# Create a minor release (1.0.0 → 1.1.0)
tagy --minor
# Create a major release (1.0.0 → 2.0.0)
tagy --major
Get Started in Seconds
Install Tagy globally and start automating your release workflow immediately
Installation
npm i tagy -g
Install Tagy globally to use it in any project directory. Once installed, you can start creating releases immediately.
Basic Usage
# Navigate to your project
cd my-project
# Create a patch release
tagy --patch
# Check current version
tagy --info
Tagy automatically updates your package.json version, creates a Git tag, and pushes it to your remote repository.
Powerful Release Management Features
Everything you need to automate your release workflow and follow semantic versioning best practices
Semantic Versioning
Follow semantic versioning standards with patch, minor, and major release commands.
Auto Version Bump
Automatically updates package.json version and creates Git commits with proper messages.
Multiple File Updates
Update version numbers in multiple files using regex patterns and custom replacement rules.
GitHub Releases
Automatically create GitHub releases with the --auto-release flag for seamless deployment.
Flexible Configuration
Customize tag prefixes, soft tagging, and define custom versioning rules via package.json.
Rollback Support
Use --reverse to remove the last tag and revert to the previous version when needed.
Command Reference
Complete guide to all available Tagy commands and options
Version Commands
Patch Release
tagy --patch
tagy -p
# Example: 1.0.0 → 1.0.1
For backward-compatible bug fixes
Minor Release
tagy --minor
tagy -m
# Example: 1.0.0 → 1.1.0
For new backward-compatible features
Major Release
tagy --major
# Example: 1.0.0 → 2.0.0
For breaking changes
Utility Commands
Custom Version
tagy --custom 2.1.0
# Set a specific version
Manually define semantic version
Project Info
tagy --info
# Shows current version and status
Get project version information
Rollback
tagy --reverse
# Removes last tag and reverts
Remove last tag and revert to previous
Soft Tagging
tagy --soft --patch
# Creates version without Git tag
Update version without committing changes
Advanced Configuration
Customize Tagy's behavior to fit your project's specific needs
Package.json Configuration
{
"name": "my-project",
"version": "1.0.0",
"tagy": {
"tagPrefix": "v",
"soft": false,
"auto-release": true,
"replace": [
{
"files": "src/version.js",
"from": "version: '\\d+\\.\\d+\\.\\d+'",
"to": "version: '__VERSION__'"
},
{
"files": "README.md",
"from": "Version \\d+\\.\\d+\\.\\d+",
"to": "Version __VERSION__"
}
]
}
}
Configuration Options
tagPrefix
Add prefix to version tags (e.g., "v1.0.0")
"tagPrefix": "v"
soft
Create version without Git tag by default
"soft": true
auto-release
Automatically create GitHub releases
"auto-release": true
replace
Update version in multiple files using regex
"replace": [
{
"files": "style.css",
"from": "Version: \\d+\\.\\d+\\.\\d+",
"to": "Version: __VERSION__"
}
]
Custom Scripts
Execute custom logic before creating releases with tagy.js scripts
Custom tagy.js Script
// tagy.js - Custom pre-release script
"keyword">const fs = require('fs');
"keyword">const path = require('path');
module.exports = "keyword">function(version, data) {
console.log(`Creating release ${version}`);
// Update changelog
"keyword">const changelog = `## ${version} - ${"keyword">new Date().toISOString().split('T')[0]}
- New features and improvements
${fs.readFileSync('CHANGELOG.md', 'utf8')}`;
fs.writeFileSync('CHANGELOG.md', changelog);
// Update documentation
"keyword">const readme = fs.readFileSync('README.md', 'utf8');
"keyword">const updatedReadme = readme.replace(
/Version: \d+\.\d+\.\d+/g,
`Version: ${version}`
);
fs.writeFileSync('README.md', updatedReadme);
console.log('Pre-release tasks completed');
};
Script Capabilities
Changelog Updates
Automatically update changelog files with new version information and release notes.
Build Processes
Run build commands, compile assets, or execute tests before creating the release.
Multi-file Updates
Update version numbers across multiple files with custom logic and patterns.
Perfect for Every Project
Tagy adapts to your workflow whether you're building libraries, applications, or managing multiple projects
NPM Libraries
Perfect for managing NPM package releases with automatic version bumping and publishing workflows.
Web Applications
Streamline deployment pipelines by automating version tagging for web applications and services.
CLI Tools
Manage releases for command-line tools and utilities with consistent versioning across platforms.
Team Projects
Standardize release processes across team members with consistent tagging and versioning rules.
Microservices
Coordinate versioning across multiple microservices with automated tagging and release coordination.
CI/CD Integration
Integrate with CI/CD pipelines to trigger deployments and automate release documentation.
Ready to Automate Your Releases?
Join developers worldwide who trust Tagy to manage their release workflows. Start using it today and transform how you handle versioning.
npm i tagy -g
Pro Tip: Using npx ensures you always get the latest version without cluttering your global packages.
Need help? Check out the GitHub issues for support and feature requests.