Crates.io | fslint |
lib.rs | fslint |
version | 0.1.4 |
created_at | 2025-08-02 17:36:30.756341+00 |
updated_at | 2025-08-26 19:53:00.684658+00 |
description | Linter for filesystem consistency: names, metadata, permissions and sizes. |
homepage | |
repository | https://github.com/grubyak/fslint |
max_upload_size | |
id | 1779010 |
size | 172,667 |
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.
See full list of supported linter rules.
$ cargo install fslint
$ 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
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"
{
"$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
}
}
},
{
// ...
}
]
}
$ 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]
$ fslint -v # logs
$ fslint -vv # more logs
$ fslint -vvv # max
If you find this useful, consider buying me a coffee.