I don't know the conventional way for 0ad developers to run linters locally, but I did it as follows:
* Run a simple docker container with 0ad/ mounted and Node 10 installed.
* Use npm to install eslint@5.16.0 and eslint-plugin-brace-rules@0.1.6 (current latest).
* Run `node_modules/.bin/eslint --cache -c build/jenkins/lint-config/eslintrc.json 0ad/binaries/data/mods/public/simulation/components/tests/`