Semantik
A release version control system.
As silly as it might sound on a first glance, the main goal for this project is to automate the process of version bumping using the semantic versioning system.
Semantik is still under its initial development. It can probably be used by small projects already, but it probably lacks some features for a larger-scale use.
Problem
When a project starts to scale, you'll likely get to a point where you have some CI/CD workflow simultaneously building multiple versions of your app and you might need to determine what is the right version number or build number for each workflow.
On small projects, this most likely can be done manually just before triggering a build. When you start to scale, either by release frequency, developer count or both, this can start to be tricky or simply too tedious.
Solution
Semantik provides a centralized API that is both simple and can be used at virtually any scale.
It allows developers to create an app and manage the version and build numbers with ease, either through the official CLI tool or through any HTTP-capable client (including cURL).
It is being built using Rust for its amazing performance and memory-safety. For persistence, Redis is the database of choice due to its speed and atomicity.
That means it doesn't matter how many builds you are triggering in parallel, it is guaranteed that every single build will have it's own version and build number without any conflict.
Installation
TODO: How to install the CLI locally
CI
TODO: How to use the docker image
Usage
https://semantik.vc/search_index.en.json $MATCHES more matchesTODO: Need to set up demo repositories for GitLab and GitHub with CI workflows.