Neptune is a set of guidelines and tools to help developers and users to implement a versioning scheme based on SemVer.
The following documents are available:
- Contributing to Neptune-Versioned Libraries is a guide to help library contributors to follow the Neptune versioning scheme.
- Maintaining Neptune-Versioned Libraries is a guideline to help library developers maintain a library following the Neptune versioning scheme.
- Neptune Library Release Announcements is a anex to the previous guideline on how to make release announcements.
- Using Neptune-Versioned Libraries is a guideline for users of Neptune based libraries, to help them know how and when to upgrade.
- Maintaining Neptune-Versioned Applications is a guideline for application developers (and ultimately users too) to help them maintain applications using the Neptune versioning scheme.
- Neptune Metadata File
documents how different tools can use metadata attached to projects via a
.neptune.yml
file.
The repository includes different tools that help developers and maintainers to
follow the neptune versioning scheme as effortless as possible. Most tools can
be configured on a per-project basis by adding a .neptune.yml
file
to the root of the project.
The current tools provided by neptune are:
Fetches repositories for a selected GitHub organization and builds an HTML overview of applications and libraries that shows which version of each library is used in each application.
Automates all the tasks required to make a release abiding to the neptune specification, including some sanity checks. Tasks include:
- Autodetection of what type of release is being done (major, minor, patch)
- Merging of features and bugfixes into higher versions
- Creation of releases, including their tags, release notes and github releases