🊐 Cosmosys: Stellar Release Management

DevOpsCLIPythonRelease ManagementAutomationGitCI/CD

Key Features 🚀

  • 🌈 Multiple Color Schemes: Customize your CLI experience with built-in and custom color themes.
  • ðŸŽĻ ASCII Art Logo: Add a touch of personality to your release process with customizable ASCII art.
  • 🔧 Modular Release Flow: Configure your release steps to match your project's needs.
  • ðŸ–Ĩïļ Cross-Platform Compatibility: Works seamlessly on Windows, macOS, and Linux.
  • 🏷ïļ Version Management: Automatically handle version bumping and tagging.
  • 🐙 Git Integration: Commit changes, create tags, and push to remote repositories.
  • 🔍 Customizable Pre-Release Checks: Ensure your project is ready for release with configurable checks.
  • 📝 Release Notes Generation: Automatically generate and manage release notes.
  • 📜 Changelog Management: Keep your changelog up-to-date with each release.
  • 🔗 CI/CD Integration: Easily integrate with popular CI/CD platforms.
  • ðŸ§Đ Plugin System: Extend functionality with custom plugins.
  • 🏜ïļ Dry-Run Mode: Test your release process without making any changes.
  • â†Đïļ Rollback Functionality: Safely undo changes if something goes wrong.
  • 🌐 Multi-Language Support: Manage releases for projects in different programming languages.

Why Choose Cosmosys? ðŸĪ”

  1. Flexibility: Cosmosys adapts to your project's unique requirements, supporting various languages and frameworks.
  2. Consistency: Ensure a standardized release process across all your projects.
  3. Automation: Reduce manual work and potential for errors with automated release steps.
  4. Customization: Tailor the release process, themes, and plugins to fit your team's workflow.
  5. Developer-Friendly: Designed with developers in mind, Cosmosys integrates seamlessly with your existing tools and practices.

Getting Started 🚀

Installation

Cosmosys can be easily installed using pip or Poetry:

1# Using pip
2pip install cosmosys
3
4# Using Poetry
5poetry add cosmosys

Quick Start

  1. Initialize a new Cosmosys configuration:

    1cosmosys config --init
  2. Customize your cosmosys.toml file to fit your project's needs.

  3. Run your first release:

    1cosmosys release

Customization and Extensibility 🛠ïļ

Cosmosys is designed to be highly customizable:

  • Themes: Choose from built-in themes or create your own to match your project's branding.
  • Plugins: Extend Cosmosys's functionality with custom plugins to integrate with your tools and workflows.
  • Release Steps: Define and order your release steps to create the perfect release process for your project.
View on GitHub