Yeah, I know what a linter is, I disagree with need for it, it feels like solving a sprained ankle with an airplane.
Basically this – 95% of our users aren’t software developers, I don’t WANT them to worry about the noise of thinking about these kind of things, about how to write and extend their own rules, etc.
Thus if we reply with “I have a problem, hey, go use this linter extra thing” they have a really bad experience and get the totally wrong impression about whether something is simple or easy or not, and now have all these extra things to juggle in their heads.
So, I’m mostly replying to the idea about whether this fits in core (I believe it doesn’t) and should be be advocating this to users of Ansible (we shouldn’t).
Rather, we should concentrate on improving the things that are hard to use with good, clean, sensible defaults.
Old style variables, when deprecated, will cause deprecation warnings – right now, that’s not done.
I don’t mean to imply what you did was not a good piece of work, I’m just explaining my views on idea of applying it to core (OR) recommending it to users here in future threads.
So how I’d really like to refocus the conversation is, how can we improve stock Ansible to detect things that don’t result in clear errors and make them produce clearer errors – and in what cases should it prescan YAML for obvious problems. I know of a few because they are mentioned on the YAML syntax page.
The other thing I want to do is have errors report what line of YAML they were executing when they hit the error, which is something we can only do at runtime, but would be absolutely great to have.