releascribe is a Dart-based CLI tool for automating software release management. It integrates with version control systems to generate changelogs, determine project versions, and apply versioning changes based on commit categories defined in a JSON file.
Ensure Dart SDK is installed, then use Dart's package manager to install releascribe globally:
dart pub global activate releascribe_clireleascribe release [-r <path_to_release_info_file>]-r, --release-info-file <path>: Path to a JSON file defining commit categories and their semantic versioning increments and output files.
Create release-info.json:
{
"output": [
{"path": "CHANGELOG.md", "overwrite": false},
{"path": "release-notes.txt", "overwrite": true}
],
"changelog": [
{"type": "fix", "description": "🐛 Bug Fixes", "increment": "patch"},
{"type": "feat", "description": "✨ Features", "increment": "minor"},
{"type": "refactor", "description": "♻️ Code Refactoring", "increment": "patch"},
{"type": "perf", "description": "⚡️ Performance Improvements", "increment": "patch"},
{"type": "test", "description": "🧪 Tests", "increment": "patch"},
{"type": "docs", "description": "📝 Documentation", "increment": "patch"},
{"type": "build", "description": "🧱 Build System", "increment": "patch"},
{"type": "ci", "description": "🎞️ Continuous Integration", "increment": "patch"},
{"type": "chore", "description": "🧹 Chores", "increment": "patch"}
]
}Generate a changelog and update versioning information:
releascribe release -r release-info.json- Ensure Dart SDK and
releascribe_cliare correctly installed and accessible. - Customize
release-info.jsonto match your project's commit categories and versioning conventions.