fslint

Crates.iofslint
lib.rsfslint
version0.1.4
created_at2025-08-02 17:36:30.756341+00
updated_at2025-08-26 19:53:00.684658+00
descriptionLinter for filesystem consistency: names, metadata, permissions and sizes.
homepage
repositoryhttps://github.com/grubyak/fslint
max_upload_size
id1779010
size172,667
(grubyak)

documentation

README

fslint

fslint is a file linter (alpha stage — work in progress) that scans the current directory (or --path) using fslint.json, checking only files matching the include patterns.

rules

See full list of supported linter rules.

installation

$ cargo install fslint

usage

$ fslint --help
Linter for filesystem consistency: names, metadata, permissions and sizes.

Usage: fslint [OPTIONS]

Options:
  -p, --path <PATH>  [default: .]
  -v, --verbose...
  -s, --schema
  -h, --help         Print help
  -V, --version      Print version

config schema

Validate your config against schema.json or generate a local one with:

$ fslint -s > schema.json

To enable schema validation in your editor, add the following to your fslint.json:

"$schema": "https://raw.githubusercontent.com/grubyak/fslint/main/schema.json"

sample config

{
  "$schema": "https://raw.githubusercontent.com/grubyak/fslint/main/schema.json",
  "entries": [
    {
      "include": ["**/*.cr3"],
      "rules": {
        "exif-has-coords": {
          "level": "warn",
          "latitude": true,
          "longitude": true
        },
        "exif-has-capture-datetime": {
          "level": "error",
          "date": true
        }
      }
    },
    {
      // ...
    }
  ]
}

output

$ fslint
/Users/foo/Desktop/not-an-image.cr3
    error exif-has-capture-datetime: exif metadata is missing
    error exif-has-coords: exif metadata is missing

/Users/foo/Desktop/test.cr3
    warn  exif-has-coords: missing latitude

✖ 3 problems (2 errors, 1 warning) -- inspected 2 files, skipped 18031 [130.25ms]

debugging (verbosity)

$ fslint -v    # logs
$ fslint -vv   # more logs
$ fslint -vvv  # max

coffee

If you find this useful, consider buying me a coffee.

buy me a coffee
Commit count: 38

cargo fmt