Skip to content

Getting started

Build it

sh
cargo build --release

The binary lands at target/release/slopometer.

Run it

sh
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-wrapper

Findings 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

sh
slopometer . --json

Nothing 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.

Dual licensed under MIT or Apache-2.0.