Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

a-kenji/sizelint

Lint your file tree based on file sizes

a-kenji/sizelint.json
{
"createdAt": "2025-07-16T21:39:17Z",
"defaultBranch": "main",
"description": " Lint your file tree based on file sizes ",
"fullName": "a-kenji/sizelint",
"homepage": "",
"language": "Rust",
"name": "sizelint",
"pushedAt": "2025-11-01T14:18:08Z",
"stargazersCount": 15,
"topics": [
"ci-cd",
"cli",
"code-quality",
"developer-tools",
"file-size",
"formatter",
"linter",
"pre-commit"
],
"updatedAt": "2025-11-12T12:50:32Z",
"url": "https://github.com/a-kenji/sizelint"
}

$ sizelint - lint your working tree based on file sizes

Section titled “$ sizelint - lint your working tree based on file sizes”

Built with Nix Crates

  • [$ sizelint - lint your working tree based on file sizes]!(#sizelint-lint-your-working-tree-based-on-file-sizes)
    • [$ sizelint - usage]!(#-sizelint---usage)
      • [$ sizelint check]!(#-sizelint-check)
      • [$ sizelint rules]!(#-sizelint-rules)
      • [$ sizelint init]!(#-sizelint-init)
    • [Configuration]!(#configuration)
    • [Documentation]!(#documentation)
    • [Development]!(#development)
    • [License]!(#license)

sizelint is a fast, configurable file size linter that helps prevent large files from entering your Git repository. It can be used as a standalone tool, pre-commit hook, or as part of your CI/CD pipeline.

Lint your working tree based on file size
Usage: sizelint [OPTIONS] <COMMAND>
Commands:
check Check files for size violations
init Initialize sizelint configuration
rules Rule management
completions Generate shell completions
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <FILE>
Configuration file path
-v, --verbose
Verbose output
--log-level <LOG_LEVEL>
Log level
[default: info]
Possible values:
- trace: Trace level logging
- debug: Debug level logging
- info: Info level logging
- warn: Warning level logging
- error: Error level logging
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
Check files for size violations
Usage: sizelint check [OPTIONS] [PATHS]...
Arguments:
[PATHS]...
Paths to check
Options:
-c, --config <FILE>
Configuration file path
-f, --format <FORMAT>
Output format
[default: human]
Possible values:
- human: Human-readable output
- json: JSON output
- summary: Summary only
--staged
Check only staged files (git diff --staged)
--working-tree
Check working tree files
-q, --quiet
Quiet mode (only show violations)
--fail-on-warn
Treat warnings as errors
-h, --help
Print help (see a summary with '-h')
Rule management
Usage: sizelint rules <COMMAND>
Commands:
list List available rules
describe Show rule documentation
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
Initialize sizelint configuration
Usage: sizelint init [OPTIONS]
Options:
-f, --force Force overwrite existing configuration
--stdout Print the default configuration to stdout
--edit Open configuration file in editor after creation
-h, --help Print help
Terminal window
cargo install sizelint --locked
Terminal window
# Initialize configuration
sizelint init
# Check all files
sizelint check
# Check specific files
sizelint check src/main.rs README.md

sizelint uses TOML configuration files.

Run sizelint init to create a default configuration:

max_file_size = "10MB"
warn_file_size = "5MB"
excludes = []
check_staged = false
check_working_tree = false
respect_gitignore = true
fail_on_warn = false
[rules.medium_files]
enabled = true
description = "Base rule that fits many normal repos"
priority = 50
max_size = "5MB"
warn_size = "2MB"
includes = []
excludes = []
[rules.no_images]
enabled = false
description = "Warn about image files that might be better handled with LFS"
priority = 80
includes = ["*.png", "*.jpg", "*.jpeg", "*.gif", "*.bmp"]
excludes = []
warn_on_match = true
  • [Manual Page]!(docs/sizelint.1.scd) - Reference in scdoc format
Terminal window
nix develop
Terminal window
cargo build --release
Terminal window
cargo test
cargo clippy

MIT License - see [LICENSE]!(LICENSE) file for details.