4 releases
| 0.1.4 | Aug 26, 2025 |
|---|---|
| 0.1.3 | Aug 17, 2025 |
| 0.1.2 | Aug 15, 2025 |
| 0.1.1 | Aug 2, 2025 |
#555 in Filesystem
196 downloads per month
86KB
1.5K
SLoC
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.
Dependencies
~15–27MB
~369K SLoC