awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
okonet avatar

okonet/lint-staged

0
View on GitHub↗
14,669 stars·464 forks·JavaScript·MIT·18 viewswww.npmjs.com/package/lint-staged↗

Lint Staged

lint-staged is a git pre-commit task runner that executes linters and formatters specifically on files staged in git. It functions as a staged file filter and a monorepo task orchestrator, identifying the correct configuration and working directory for files across multiple packages in a repository.

The system automatically adds formatting changes back to the git stage after a successful task run. It uses a mechanism to match files in the git index against glob patterns to determine which tasks to execute and can automatically update git indices after formatting.

The project covers sequential command execution and concurrency control to prevent race conditions. It includes capabilities for git revision analysis, JavaScript-based configuration, and working state protection to prevent data loss during automated tasks.

Features

  • Staged File Processors - Executes commands like linters or formatters exclusively against files currently staged in Git.
  • Commit-Integrated Formatters - Automatically adds formatting changes back to the Git stage after a successful task run.
  • Code Formatting Tools - Automatically applies formatting changes to files during the commit process to maintain consistent style.
  • Staged Modification Integrators - Automatically re-stages files modified by formatters to ensure formatting changes are included in the current commit.
  • Automated Index Modifiers - Automatically adds modifications from formatting tools back to the current commit if tools finish without errors.
  • Staged File Indexers - Identifies modified files by querying the Git index to limit task execution to staged changes only.
  • Monorepo Orchestration Tools - Identifies the correct configuration and working directory for files across multiple packages in a monorepo.
  • Pre-Commit Quality Hooks - Runs linters and formatters only on staged files to ensure code quality before committing to a Git repository.
  • Staged-File Task Runners - Executes linters and formatters specifically on files staged in Git before they are committed.
  • Glob Pattern Selectors - Matches staged files against glob patterns to determine which specific files are passed as arguments to tasks.
  • JavaScript-Configurable Automation Frameworks - Allows defining complex task logic and custom file matching through JavaScript functions instead of static glob patterns.
  • Monorepo Hook Execution - Locates the nearest configuration file for a staged file and executes tasks within that specific package directory.
  • Task Concurrency Control - Executes tasks in parallel or serially to prevent race conditions when multiple tools edit the same files.
  • Sequential Task Execution - Executes a chain of commands in a specific order and halts the pipeline if any single task fails.
  • Working Tree Management - Backs up the repository state and hides unstaged changes to ensure tools only modify intended files.
  • Working Tree Protections - Backs up the repository and hides unstaged changes before running tasks to prevent data loss or accidental commits.
  • Dynamic Configuration Evaluators - Resolves task definitions by executing JavaScript functions that calculate configuration objects at runtime based on staged files.
  • Hierarchical Configuration Lookups - Searches upward from staged files to the nearest configuration file to support independent settings in monorepos.
  • Quality Gates - Prevents buggy or unformatted code from entering the version control system by automating checks before the final commit.
  • Build And Automation - Run linters on staged git files to ensure code quality.
  • Code Quality Tools - Runs linters on staged Git files.

Star history

Star history chart for okonet/lint-stagedStar history chart for okonet/lint-staged

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does okonet/lint-staged do?

lint-staged is a git pre-commit task runner that executes linters and formatters specifically on files staged in git. It functions as a staged file filter and a monorepo task orchestrator, identifying the correct configuration and working directory for files across multiple packages in a repository.

What are the main features of okonet/lint-staged?

The main features of okonet/lint-staged are: Staged File Processors, Commit-Integrated Formatters, Code Formatting Tools, Staged Modification Integrators, Automated Index Modifiers, Staged File Indexers, Monorepo Orchestration Tools, Pre-Commit Quality Hooks.

What are some open-source alternatives to okonet/lint-staged?

Open-source alternatives to okonet/lint-staged include: lint-staged/lint-staged — Lint-staged is a command-line utility designed to automate code quality checks and formatting tasks within a Git… sds/overcommit — Overcommit is a Git hook manager and pre-commit validation framework designed to automate the execution of scripts and… j178/prek — Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or… nicklockwood/swiftformat — SwiftFormat is a tool for the Swift language that functions as a code formatter, linter, and refactoring utility. It… treeverse/lakefs — lakeFS is a data lake versioning system that provides Git-like branching and commits for large datasets stored in… pylint-dev/pylint — Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code…

Open-source alternatives to Lint Staged

Similar open-source projects, ranked by how many features they share with Lint Staged.
  • lint-staged/lint-stagedlint-staged avatar

    lint-staged/lint-staged

    14,460View on GitHub↗

    Lint-staged is a command-line utility designed to automate code quality checks and formatting tasks within a Git repository. It functions as a pre-commit hook runner that executes defined operations exclusively on files currently staged for commit, ensuring that only code meeting project standards is permanently saved. The tool distinguishes itself by providing granular control over the development workflow through file filtering and task orchestration. It uses glob-pattern matching to isolate specific file types and executes sequences of shell commands in a strict order. To maintain reposito

    JavaScriptdeveloper-experienceeslintgit
    View on GitHub↗14,460
  • sds/overcommitsds avatar

    sds/overcommit

    4,008View on GitHub↗

    Overcommit is a Git hook manager and pre-commit validation framework designed to automate the execution of scripts and checks during various Git events. It serves as a workflow automation tool that ensures code quality and project standards are met before changes are committed or pushed to a remote repository. The system distinguishes itself through a comprehensive YAML-based configuration that allows for detailed hook behavior control, including file execution filtering, conditional skipping, and the management of hook dependencies. It provides specialized roles such as a commit message vali

    Ruby
    View on GitHub↗4,008
  • j178/prekj178 avatar

    j178/prek

    6,297View on GitHub↗

    Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or other external runtimes. It executes hooks faster than standard tools through parallel processing and bundled Rust implementations, and includes a built-in hook repository that enables fully offline operation without network access or environment setup. The tool supports both TOML and YAML configuration formats with identical semantics, and can run hooks from existing pre-commit configuration files without modification. Prek distinguishes itself through workspace-aware monorepo

    Rustgitgit-hookspre-commit
    View on GitHub↗6,297
  • nicklockwood/swiftformatnicklockwood avatar

    nicklockwood/SwiftFormat

    8,835View on GitHub↗

    SwiftFormat is a tool for the Swift language that functions as a code formatter, linter, and refactoring utility. It automatically applies consistent style rules and visual formatting to source files to ensure a uniform appearance across a project. The project differentiates itself by providing both a command-line interface for batch processing and an Xcode extension for integration directly into the development environment. It includes specialized capabilities for modernizing legacy API usage, simplifying language constructs, and inferring formatting options by analyzing an existing codebase

    Swift
    View on GitHub↗8,835
See all 30 alternatives to Lint Staged→