Currently, arc lint will construct the ArcanistLintEngine (and add all ArcanistLinter instances) before actually performing the linting. An unfortunate result of this is that the user will require all external linters to be installed, even if they have not modified any files which requires those linters.
For example, suppose that a user modifies README.txt and executes arc diff. Suppose that the repository is configured to lint *.json files with ArcanistJSONLintLinter (which requires the external jsonlint binary to be installed). In this case, arc diff will fail if the user does not have ArcanistJSONLintLinter installed, even though it should not technically be required.