Consistent/Automated SemVer and Git Workflows across multiple languages (Ruby, Javascript, Python)

How to achieve a consistent version and Git Workflow when working in multiple languages.

I currently have 20 open source ruby GEM’s KlueLess that I regularly work on.
I’m moving into Javascript Apps, mostly Nuxt/Vue3, but also some packages.
I can see my self also writing a few Python Spiders.

I’m a single developer, and my scenario does not include team members, but of course that should be supported.

In the past I have used Git Flow and most of my pushes are done via hotfixes and I have a hooks/update-version file which takes care of updating my Ruby GEM version numbers whenever a new GEM is released.

My current solution is very efficient for the ruby GEMs, I just do hf 'some message' and a new Hot Fix is created, merged into master, pushed and the patch number is automatically updated both as a git tag and as VERSION constant that shows up in the gemspec

I don’t tend to do PR’s on my own GEMs, I just hotfix straight into master and that works well for me.

I want to keep a simple branching strategy and also use SemVer (Major, Minor & Patch) across Ruby, Javascript, Python while having very simple tooling.

I find that git flow has too many features that I don’t use, and so I am looking at github flow, but the issue around updating package.json versions, gemspec versions and other languages is still in question for me.

I guess I can write my own /hooks template and have a template per scenario (aka language). But I thought there might be an existing tool that is well suited to my use case.

I’ve had a look at GitVersion which seems to be well featured for SemVer but seams aimed at dotnet code bases.