a-kenji/sizelint
Lint your file tree based on file sizes
{ "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”Overview
Section titled “Overview”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.
$ sizelint - usage
Section titled “$ sizelint - usage”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$ sizelint check
Section titled “$ sizelint check”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')$ sizelint rules
Section titled “$ sizelint rules”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$ sizelint init
Section titled “$ sizelint init”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 helpQuick Start
Section titled “Quick Start”Installation
Section titled “Installation”cargo install sizelint --lockedBasic Usage
Section titled “Basic Usage”# Initialize configurationsizelint init
# Check all filessizelint check
# Check specific filessizelint check src/main.rs README.mdConfiguration
Section titled “Configuration”sizelint uses TOML configuration files.
Run sizelint init to create a default configuration:
max_file_size = "10MB"warn_file_size = "5MB"excludes = []check_staged = falsecheck_working_tree = falserespect_gitignore = truefail_on_warn = false
[rules.medium_files]enabled = truedescription = "Base rule that fits many normal repos"priority = 50max_size = "5MB"warn_size = "2MB"includes = []excludes = []
[rules.no_images]enabled = falsedescription = "Warn about image files that might be better handled with LFS"priority = 80includes = ["*.png", "*.jpg", "*.jpeg", "*.gif", "*.bmp"]excludes = []warn_on_match = trueDocumentation
Section titled “Documentation”- [Manual Page]!(docs/sizelint.1.scd) - Reference in scdoc format
Development
Section titled “Development”Development Shell
Section titled “Development Shell”nix developBuilding
Section titled “Building”cargo build --releaseTesting
Section titled “Testing”cargo testcargo clippyLicense
Section titled “License”MIT License - see [LICENSE]!(LICENSE) file for details.