Ensure array is correctly read.
Ensure errors in subprocesses are detected and abort the script.
`shopt -s lastpipe` is used to avoid the following complex pattern:
mapfile -t array < <(command-that-may-fail)
pid=$!
wait $pid || exit 1
* Generate description and metadata for rules with no language, so that they get indexed.
* Index rules with different types in language specializations.
* Improve validation to reject new rules with no language specialization (i.e. only a predefined set of such rules is allowed because they were imported from Jira and kept for historical purposes).
* Write smaller JSON files, reduce their size by 30%.
* Improve test coverage of CLI application.