whitaker-installer
Installer CLI for Whitaker Dylint lint libraries.
Whitaker is a collection of opinionated Dylint lints for Rust. This installer
builds, links, and stages the lint libraries for local use, avoiding the need
to rebuild from source on each cargo dylint invocation. It also ensures the
pinned Rust toolchain and required components are installed via rustup.
Installation
Usage
Install the default lint suite
This builds and stages the aggregated suite containing all standard lints.
Install with experimental lints
At present, there are no experimental lints, so this flag is reserved for future lint previews.
Install specific lints
Install all individual lint crates
List installed lints
Output as JSON for scripting:
Preview without building
Available Lints
Whitaker lints are divided into two categories:
- Standard lints are stable, well-tested, and included in the default suite. They are recommended for general use.
- Experimental lints are newer or more aggressive checks that may produce
false positives or undergo breaking changes. They require the
--experimentalflag to install.
Standard Lints
These lints are included when running whitaker-installer without flags:
| Lint | Description |
|---|---|
bumpy_road_function |
Detect multiple complexity clusters in functions |
conditional_max_n_branches |
Limit boolean branches in conditionals |
function_attrs_follow_docs |
Doc comments must precede other attributes |
module_max_lines |
Warn when modules exceed line threshold |
module_must_have_inner_docs |
Require inner doc comments on modules |
no_expect_outside_tests |
Forbid .expect() outside test contexts |
no_std_fs_operations |
Enforce capability-based filesystem access |
no_unwrap_or_else_panic |
Deny panicking unwrap_or_else fallbacks |
Experimental Lints
There are currently no experimental lints. The --experimental flag remains
available for future releases that add preview lints.
Using the Installed Lints
After installation, set DYLINT_LIBRARY_PATH to the staged directory and run
cargo dylint:
The installer generates wrapper scripts and provides shell configuration snippets to simplify this setup.
The wrappers are:
whitaker— runscargo dylintwith the staged library path.whitaker-ls— lists installed Whitaker suite libraries for the staged path.
Licence
ISC