Changepacks is a Command Line Interface (CLI) tool designed to streamline versioning and changelog management across multiple programming languages. It supports Node.js, Python, Rust, and Dart, providing developers with a unified approach to handle version updates efficiently.
Key Features:
Multi-Language Support: Changepacks natively manages projects in Node.js, Python, Rust, and Dart.
Unified Version Management: Ensures consistent versioning across different package managers.
Automated Updates: Smartly bumps versions based on detected project changes.
CLI Interface: Offers a straightforward command-line experience for ease of use.
Project Detection: Automatically identifies projects in your workspace.
Status Tracking: Helps track which projects require version updates.
Audience & Benefit:
Ideal for developers working on multi-language projects, Changepacks offers a consistent and efficient workflow. It simplifies changelog management and ensures that all project versions are aligned across different technologies.
Changepacks can be installed via winget, making it easy to integrate into your development environment.
This tool is perfect for developers seeking to maintain a cohesive versioning strategy across diverse projects, enhancing productivity and reducing the complexity of managing multiple languages.
README
changepacks š¦
A unified version management and changelog tool for multi-language projects.
Overview
changepacks is a CLI tool that helps you efficiently manage versioning and changelogs across different programming languages and package managers. It provides a unified interface for managing versions in Node.js, Python, Rust, and Dart projects.
Features
š Multi-language Support: Native support for Node.js, Python, Rust, and Dart
š Unified Version Management: Consistent versioning across different package managers
š Automated Updates: Smart version bumping based on project changes
ā” CLI Interface: Simple and intuitive command-line interface
šÆ Project Detection: Automatic detection of projects in your workspace
š Status Tracking: Track which projects need version updates
changepacks publish --dry-run # Preview what would be published without actually publishing
changepacks publish --yes # Skip confirmation prompts
changepacks publish --format json # Output results in JSON format
changepacks publish --remote # Use remote branch for change detection
The publish command will:
Discover all projects in your workspace
Show which projects will be published
Execute the publish command for each project (using language-specific defaults or custom commands from config)
Default publish commands by language:
Node.js: npm publish
Python: uv publish
Rust: cargo publish
Dart: dart pub publish
Check Config
View the loaded changepacks config (from .changepacks/config.json):
changepacks config
This prints the merged and defaulted configuration, for example: