Thanks to visit codestin.com
Credit goes to github.com

Skip to content

thalhazubair/auto-release-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto Release Tool 🚀

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.

✨ Features

  • 🔢 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

📦 Installation

# Global installation (recommended)
npm install -g auto-release-tool

# Or use npx without installation
npx auto-release-tool

🚀 Quick Start

# 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:4873

📋 Usage

auto-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

🎯 Examples

Basic Version Management

# Just bump the version in package.json
auto-release

# Check against Verdaccio registry
auto-release --registry http://localhost:4873

Interactive Git Workflow

# Bump version + interactive commit
auto-release --commit

# Full workflow: bump + commit + push
auto-release --all

# Test what would happen
auto-release --dry-run --all

Advanced Usage

# Force workflow even if version is current
auto-release --force --all

# Use with custom registry
auto-release --registry https://my-registry.com --commit

🔄 Workflow

  1. Version Check: Compares current version with registry
  2. Version Bump: Automatically increments patch version if needed
  3. Branch Selection: Choose current branch or create new one
  4. File Selection: Interactively choose which files to commit
  5. Commit Message: Custom or default commit message
  6. Push Confirmation: Optional push to GitHub

⚙️ Requirements

  • Node.js >= 16.0.0
  • Git repository
  • package.json file

🏗️ Architecture

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

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if needed
  5. Submit a pull request

📄 License

MIT © [Your Name]

🔗 Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published