I’ve started using my setver bash tool for easy semver versioning of components and projects. One of the design decisions I made back then, is that I would always have a VERSION.md version file in the root of my project. This file only contains the current version number. This version is also stored in the composer.json (PHP), package.json (JS) files and git tags, but I wanted a system that also works for my bash projects. In the end, it turns out that was a clever decision.