أدوات تقوم بتحليل وفحص وإعادة تنسيق الكود المصدري تلقائياً للحفاظ على معايير نمطية متسقة للمشاريع.
Pre-commit is a framework for managing and executing automated tasks during the version control commit process. It functions as a configuration-driven utility that enforces project standards by running linters, formatters, and security scanners on staged files before they are committed to a repository. The system uses a centralized manifest to orchestrate these tasks, ensuring consistent developer tooling across teams. It distinguishes itself by provisioning isolated environments for each tool, which prevents dependency conflicts and ensures that all required versions are present. The framewo
Pre-commit is a framework that manages git pre-commit hooks with declarative configuration, multi-language tool support, and a large community hook repository, making it the definitive tool for enforcing code quality before commits.
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
Lint-staged is a command-line utility that runs your configured linters and formatters exclusively on files staged for commit, giving you granular control over code quality as part of a pre-commit workflow; it supports any language through shell commands and includes auto-fix, though it depends on a separate hook manager like husky to set up the actual git hook.
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
Prek is a Rust-based Git hook manager that runs linters and formatters as pre-commit hooks with parallel execution and offline support, matching the intent with built-in hook repository, declarative TOML/YAML config, and compatibility with existing pre-commit setups.
Lefthook is a Git hook manager and workflow automation tool designed to execute user-defined scripts during version control events. It automates the execution of linters, tests, and formatters to validate changes and maintain code quality before commits or pushes. The project distinguishes itself through a parallel execution model that runs multiple shell commands concurrently to reduce latency. It supports complex configuration management, including the ability to merge global, remote, and local settings and synchronize configurations from external repositories to standardize development env
Lefthook is a dedicated Git hook manager that automates running linters, formatters, and tests during commits or pushes — it supports declarative configuration, parallel execution, and custom scripts, giving you exactly the multi-language pre-commit enforcement you're looking for.
Husky is a Git hook manager that automates the installation and execution of version control lifecycle events within a project repository. It functions by redirecting standard version control event triggers to a centralized configuration directory, allowing teams to standardize development workflows and enforce code quality without requiring manual setup on every machine. The tool enables custom workflow automation by triggering shell scripts during operations such as committing or pushing code. It distinguishes itself by integrating directly into package manager lifecycles, ensuring that aut
Husky is a Git hook manager that lets you run arbitrary scripts—including linters and formatters—on pre-commit events, which fits your need for automating code quality checks, though it does not include a built-in community hook repository or auto-fix functionality.
Lefthook is a Git hook manager and workflow automator that uses a configuration-driven approach to manage scripts triggered by version control events. It functions as a parallel task runner, executing multiple scripts simultaneously to reduce the time required for pre-commit or pre-push checks. The project provides a containerized hook runner to ensure consistent dependencies and toolsets across different developer machines. It also supports monorepo orchestration by executing scripts within specific subdirectories and managing complex project structures. The system includes capabilities for
Lefthook is a declarative Git hook manager and parallel task runner that can orchestrate linters and formatters before commits, fitting the pre-commit hook manager category, though it lacks a built-in community hook repository.
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 sequentia
lint-staged runs linters and formatters specifically on files staged in git, integrating as a pre-commit hook to enforce code quality before each commit—it fits your search for an auto-fix and multi-language orchestrator, though it lacks a built-in community hook repository.
Combination of multiple linters to run as a GitHub Action or standalone
super-linter combines dozens of linters and formatters into a single runner that can be invoked as a GitHub Action or standalone script, so it fits the need for an automated pre-commit / pre-run hook that enforces code quality across multiple languages.
Spotless is a multi-language formatting orchestrator and Gradle plugin that automates code styling across various programming languages within a single build pipeline. It functions as a coordinator for multiple third-party formatters, a code style linting tool, and a system for inserting and updating standardized license headers. The project distinguishes itself through git-integrated style enforcement, using pre-push hooks and git references to apply formatting only to modified files or lines. It supports shared build configurations, allowing formatting rules to be distributed and loaded acr
Spotless is a multi-language formatting orchestrator with git hook integration that automatically enforces code style on modified files, fitting the need for a pre-commit hook tool for formatting, though it focuses on formatting rather than general linting and lacks a community hook repository for arbitrary linters.
This project is a dependency manager plugin that automates the management and synchronization of version control hooks. By integrating directly into project dependency configuration files, it ensures that automated tasks and validation rules are consistently applied across local development environments. The tool distinguishes itself by enabling configuration-driven task orchestration, where version control triggers are mapped to custom command sequences. It supports global configuration inheritance, allowing developers to enforce uniform workflows and validation standards across multiple rep
This Composer package lets you manage git hooks declaratively in your composer.json, making it a valid pre-commit hook manager for PHP projects, but it is limited to the PHP/Composer ecosystem and doesn’t orchestrate multi-language linters or formatters.
Simple-git-hooks is a utility for managing version control hooks through project configuration files. It automates the installation and execution of custom tasks, ensuring that specific commands run consistently across local development environments whenever version control operations occur. The tool functions by injecting managed scripts into the repository directory structure, replacing existing hooks to maintain uniform development standards. It supports environment-specific configurations, allowing developers to define custom initialization scripts to ensure necessary binaries and system
simple-git-hooks is a lightweight git hooks manager that lets you define and run custom scripts before commits, which directly supports the core need of enforcing code quality via pre-commit hooks, but it lacks built-in linter/formatter orchestration and multi-language auto-fix, so it is a narrower answer than a dedicated linter-focused tool.