This is a call for feedback for a small CLI tool I prototyped (it's really just that, not anything production ready).
When managing watches, Elasticsearch assumes, that you put those watches via the API and from then on it is taken care of. However if you want to manage those watches before that you had to write your own set of shell scripts/ansible playbooks/younameit - which many users did.
I have prototyped a very tiny CLI tool, that allows you to manage watches from within a directory, that can easily be managed with git. This tool basically compares the local watches from that directory with the watches stored in the cluster and then checks if a watch has been changed and requires to be updated or deleted. In order to simplify watch creation a jinja based templating language is used, which means it is very easy to have similar watches, which only differ in a single query term and the recipient email address.
If you are interested in this, I'd be happy if you take a look at the github repo at https://github.com/spinscale/lead
Feel free to create github issues to put your feedback into.