A clean, modular CLI tool for automated version management and git workflow. Handles version bumping, interactive commits, and GitHub pushes with a focus on simplicity and control.
- 🔢 Automatic version bumping (patch versions)
- 🌐 Registry support (npm, Verdaccio, custom registries)
- 🌿 Interactive Git workflow (branch, commit, push)
- 📁 Smart file selection for commits
- 🔍 Dry-run mode for testing
- ⚡ Force mode for edge cases
- 🏗️ Clean ES6 modular architecture
# Global installation (recommended)
npm install -g auto-release-tool
# Or use npx without installation
npx auto-release-tool# Basic version bump
auto-release
# Interactive commit and push
auto-release --all
# Dry run to see what would happen
auto-release --dry-run --all
# Use with custom registry (e.g., Verdaccio)
auto-release --registry http://localhost:4873auto-release [options]
Options:
--commit, -c Commit changes to git (interactive)
--push Push changes to GitHub repository
--all, -a Do everything: commit + push
--dry-run, -d Show what would be done without making changes
--force, -f Force workflow even if version is already newer
--registry URL Use custom npm registry for version checking
--help, -h Show help message
# Just bump the version in package.json
auto-release
# Check against Verdaccio registry
auto-release --registry http://localhost:4873# Bump version + interactive commit
auto-release --commit
# Full workflow: bump + commit + push
auto-release --all
# Test what would happen
auto-release --dry-run --all# Force workflow even if version is current
auto-release --force --all
# Use with custom registry
auto-release --registry https://my-registry.com --commit- Version Check: Compares current version with registry
- Version Bump: Automatically increments patch version if needed
- Branch Selection: Choose current branch or create new one
- File Selection: Interactively choose which files to commit
- Commit Message: Custom or default commit message
- Push Confirmation: Optional push to GitHub
- Node.js >= 16.0.0
- Git repository
- package.json file
Built with clean, modular ES6 architecture:
src/
├── cli/ # Command line parsing
├── core/ # Core functionality
│ ├── git-workflow.js # Git operations
│ ├── package-manager.js # package.json handling
│ └── version-manager.js # Version checking & bumping
└── utils/ # Utilities
├── exec.js # Command execution
├── input.js # User input
└── logger.js # Logging
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if needed
- Submit a pull request
MIT © [Your Name]