Getting started
Build it
cargo build --releaseThe binary lands at target/release/slopometer.
Run it
slopometer .A path is optional and defaults to the current directory. A single file works too, and analyzes only that file.
slopometer .
52 files, 11591 lines, configuration from built-in defaults
score 98/100, graded excellent (90 to 100)
categories
rust 99 ###################.
doc 100 ####################
filler 95 ###################.
pass --explain for the densities behind these scores
findings
crates/slopometer-core/src/index.rs 1 finding
LOW crates/slopometer-core/src/index.rs:232:12 4 single-statement functions
filler/repeated-wrapperFindings are grouped by file and labelled with their severity. Each line keeps its full path:line:column, so editors and terminals can jump straight to it.
Exit codes
Findings never fail the run. The command exits non-zero only when it could not analyze at all: a missing path, or invalid configuration.
That is deliberate. Gating a pipeline on a subjective score is a decision for the project, not for the tool, and a score that fails a build starts getting argued with rather than acted on.
Machine-readable output
slopometer . --jsonNothing but the report reaches standard output in that mode, so piping into a parser always works. The JSON carries every figure unconditionally, including the ones the terminal report hides behind --explain.