Skip to content

mooltiverse/nyx

Repository files navigation

.github/workflows/workflow.yml Javadoc Go Documentation License Contributor Covenant

Security Rating Vulnerabilities Coverage Codecov

Documentation

Nyx is a powerful, flexible and extremely configurable semantic release tool. You can put release management on auto pilot regardless of the kind of project, languages, tools and technologies or you can control any aspect of release management manually. Preset configuration values let you get started in minutes without digging into detailed settings.

Nyx is the all in one tool that gives you integrated support for:

Want to embed the libraries into your own project instead? You're covered as they are published just for that. See the available libraries for more.

Browse the documentation for more. Check out the quick start guide to get Nyx running in minutes or see the developer guide if you're interested in using the libraries.

The project is open source and hosted on GitHub.

Getting started in 30 seconds

  1. download the binary package for your distribution from the latest release assets
  2. put the binary somewhere visible within the PATH and (optionally) rename it to nyx (or nyx.exe on Windows)
  3. open a shell, cd into your project folder and run:
$ nyx --preset=simple --summary infer
branch           = main
bump             =
core version     = true
latest version   = false
new release      = false
new version      = false
scheme           = SEMVER
timestamp        = 1692276827782
current version  = 1.2.3
previous version = 1.2.3
prime version    = 1.2.3

This will not apply any change to your repository (as the infer command doesn't) but will give you a taste of what Nyx finds out. Here 1.2.3 is the version that Nyx has inferred from the commit history and will be the one it will tag and release with if you use other commands, like nyx --preset=simple publish.

The simple preset is a streamlined configuration suitable for mainline only projects but you can replace it with your own configuration or override its values selectively.

From here:

  • run nyx --help for the synopsis or jump to the documentation
  • tune your configuration or tweak command line arguments according to your needs
  • try your configuration using the --dry-run mode
  • embed Nyx into your build scripts and automation environments

Downloads and availability

Binaries

Available for all platforms in the latest release assets.

Docker images

Build tools plugin

Libraries

Documentation

Articles

Reports and metrics

  • security: Security Rating, Vulnerabilities
  • code quality: Code Smells, Bugs, Technical Debt, Reliability Rating
  • code coverage: Coverage, Codecov flaky

Badge

If you like Nyx please consider showing the badge on your project page by inserting this snippet:

[![](https://img.shields.io/badge/powered%20by-Nyx-blue)](https://github.com/mooltiverse/nyx)