Most of them generally relied on either a system keeping track of versions, or were invoked via git comments or keywords mentioned in pr titles/descriptions/etc.
I wanted something that worked a bit more seamlessly, configured through code, and without introducing too many dependencies into my pipeline.
There's a corresponding GitHub Action that can be dropped into your jobs as well.
Didn't necessarily need to exist, but it was a fun project to do, and something I've used in my work a bit.