30 open-source projects similar to brigade/overcommit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Overcommit alternative.
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
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
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
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
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
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
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
Moon is a monorepo build system and task runner designed to orchestrate complex projects with multiple packages. It functions as a dependency graph orchestrator that executes build targets in topological order and utilizes input hashing to cache results and skip redundant work. The project features a polyglot toolchain manager that automates the installation and versioning of language runtimes and CLI tools to ensure environment consistency. It also includes a plugin framework based on WebAssembly, allowing developers to extend build logic and toolchain behavior using any supported language.
danger-js is an automated code review tool and CI pipeline plugin that functions as a pull request linter. It verifies commit messages, tracks dependency changes, and ensures pull requests meet project standards by posting automated feedback and comments directly into the version control interface. The system integrates with various Git providers, including GitHub, GitLab, and BitBucket, to retrieve pull request metadata and execute custom review rules. It allows teams to package and distribute review conventions as shareable modules and supports the execution of rules written in transpiled l
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
lolcommits is an automated tool for capturing, archiving, and associating webcam media with version control commit histories. It functions as a webcam snapshot archiver and history visualization tool that triggers photos, GIFs, or videos whenever a Git commit is performed. The system uses Git hook automation to associate commit hashes with physical snapshots of the developer. It includes a plugin system for integrating third-party tools to transform captured images or add visual overlays such as commit messages and identifiers. The tool provides a media archive browser to retrieve captures a
Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f
GitExtensions is a graphical user interface client for managing Git repositories. It provides a suite of visual tools for browsing commit logs, staging changes, and tracking file evolution across a project's history. The project features a commit visualizer that maps branch and merge relationships via a graphical map and a dedicated history manager for performing interactive rebases and squashing commits. It includes a visual merge conflict resolver to identify and fix overlapping code changes during merges or history rewrites. The software covers broad version control capabilities, includin
GrumPHP is a Git commit validator and PHP code quality orchestrator. It functions as a Git hook manager that automates the installation and execution of script triggers to enforce code quality standards within PHP projects. The tool prevents non-compliant code from being committed by running a suite of validation and linting tasks during the Git workflow. It integrates automated quality checks directly into the local development environment to maintain project standards. The system manages pre-commit testing workflows by executing quality tests and automating Git hooks. It uses a task-based
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
gitmoji-cli is a command line interface and Git extension used to generate structured commit messages with standardized emojis. It functions as a commit message generator that allows users to visually categorize code changes and track modifications through a predefined library of visual icons. The tool provides an interactive workflow that replaces raw text entry with guided prompts for selecting categories, scopes, and descriptions. It includes a searchable emoji library with keyword-based indexing and local caching to facilitate the selection of accurate visual markers. The project support
Axolotl is a configuration-driven framework designed for the fine-tuning, evaluation, and quantization of large language models. It functions as a comprehensive orchestrator for distributed training, enabling users to manage complex workflows across multi-node and multi-GPU environments. By utilizing structured configuration files, the platform streamlines the setup of training parameters, dataset paths, and hardware distribution strategies. The project distinguishes itself through its support for diverse training methodologies, including full-parameter tuning, parameter-efficient adaptation,
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
OpenCompass is an open-source framework for standardized benchmarking of large language models. It provides a configurable evaluation pipeline that supports both objective and subjective assessment, using a dual-engine architecture to handle closed-form answer comparison and open-ended response rating. The framework is designed as a modular platform where datasets, models, and metrics are composed through declarative YAML configuration files. The framework distinguishes itself through its extensible model integration layer, which supports custom models, HuggingFace models, and third-party API
gitflow-avh is a command line tool and automation framework designed to implement the Gitflow branching model. It provides a set of extensions that automate the creation, merging, and management of feature, release, and hotfix branches to maintain a standardized version control workflow. The tool manages the complete lifecycle of development, from initializing a repository with predefined branch structures and naming prefixes to preparing stable software versions for production. It includes specialized workflows for urgent production hotfixing and the creation of persistent branches for long-
This project is a version control style guide and contribution standard. It provides formal specifications for maintaining consistency in commit messaging, branch naming, and general development workflows within Git. The guide focuses on organizing project history through atomic commit structuring and specific rebasing strategies to ensure a clean, linear timeline. It establishes standardized conventions for naming branches with ticket identifiers and formatting commit messages to explain the reasoning behind changes. The framework also covers the coordination of team contributions through m
gitlab-ci-local is a local runner and pipeline emulator for GitLab CI. It provides an execution environment to test pipeline configurations and scripts on a local machine without requiring commits or pushes to a remote server. The tool mimics the GitLab CI lifecycle by parsing YAML configurations, managing job dependencies, and resolving remote file inclusions via HTTP requests. It uses container-based isolation to run jobs and incorporates a variable manager to inject environment variables from local files. The project includes capabilities for pipeline debugging, job inspection, and artifa
Build Linux is a toolset for assembling a custom Linux distribution entirely from source code, automating the process described by Linux From Scratch. It compiles every system component from upstream source, giving the builder full control over included packages and configuration. The build process relies on a Makefile-driven orchestration that coordinates the entire sequence, using script-defined package recipes for each component. It employs chroot isolation to keep build artifacts separate from the host, and follows a stage-wise bootstrapping approach that first builds a minimal set of tem
This project is a comprehensive guide to Git version control standards and best practices. It provides a set of instructions for writing professional commit messages and managing repository history to ensure project maintainability. The documentation covers the standardization of commit messages through specific rules for mood, capitalization, and structural separation of subjects and bodies. It also includes guidelines for composing pull request summaries and cover letters to provide maintainers with necessary technical context and logic. The guide extends to repository security and history
Soft Serve is a self-hosted Git server that authenticates users via SSH public keys and provides a terminal-based user interface for browsing repositories, files, and commits. It stores repository data and configuration in either SQLite or PostgreSQL, and supports role-based access control with four permission levels for managing repository visibility and write access. The server can be deployed via Docker or managed as a systemd service, and supports webhook notifications for push, collaborator, and branch or tag events to integrate with external automation workflows. It also enables server-
Gitmoji is a suite of tools and guidelines designed to implement visual indicators and standardized emoji conventions within Git version control. It provides a Git commit emoji guide and a convention tool to categorize code changes, improving the readability and searchability of project logs. The project includes a command-line interface emoji picker that allows users to browse and select emojis to speed up the process of writing commit messages. This interactive selector helps standardize the meaning of messages across a project's version control history. The system covers version control d
This project is a version control style guide providing standardized rules for commit messages, branch naming, and history management. It serves as a comprehensive framework for maintaining a consistent and readable project history through a set of defined guidelines and workflow documentation. The guide emphasizes a linear history branching model, utilizing rebasing and squashing techniques to maintain a straight timeline of commits. It specifies a structured commit layout using imperative language and a kebab-case naming convention for branches to ensure organizational clarity across teams.
This project is a comprehensive framework for engineering financial data pipelines, designed to automate the collection, cleaning, and synchronization of large-scale market datasets. It functions as a quantitative trading data engine, providing the infrastructure necessary to manage historical and real-time asset pricing information for research and machine learning workflows. The system distinguishes itself through a configuration-driven approach to orchestration, allowing users to manage complex data acquisition tasks across multiple financial providers. It features resilient middleware tha
Turborepo is a build orchestrator designed to manage task execution within monorepos. It functions as a task pipeline manager that models workspace relationships as a directed acyclic graph, allowing it to coordinate complex build sequences and dependency orders across multiple interconnected packages. The system accelerates development cycles through incremental task execution, which identifies and skips redundant work by analyzing file contents and environment variables to generate unique task identifiers. It leverages content-addressable caching to store build outputs locally or remotely,