Follows is a list of items that should be present in the minimum viable product of a custom linter. Not implementing any of the following items will result in a linter that is not as useful as it could be. All items will be implemented eventually.
- Lint authors should only need to use the stable compiler. They may use nightly but are not required to.
- Lints should be easy to write, install, and use.
- Code suggestions should be able to be provided and applied automatically (if the lint implementation indicates it should be).
- Lint groups should exist and be trivial to create.
- It should be possible to deprecate a lint.
- Lints should be able to be documented. The form of documentation is not specified.
- Lints should be versioned. This will be in the form of using whatever functionality the registry provides, whether that is crates.io or some other registry.