awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Homebrew avatar

Homebrew/brew

0
View on GitHub↗
48,527 stars·11,163 forks·Ruby·BSD-2-Clause·21 viewsbrew.sh↗

Brew

Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different system architectures.

The project distinguishes itself through a declarative approach to system configuration, allowing users to define and synchronize their desired software state using a domain-specific language. It leverages version-controlled repositories for package definitions, which facilitates decentralized community contributions and modular management. To maintain system integrity, it executes installations within sandboxed environments and utilizes shim-based wrappers to dynamically manage environment paths, preventing system-wide pollution while providing on-demand installation suggestions.

Beyond core package management, the framework provides extensive utilities for development environment orchestration. It supports isolated runtimes for various programming languages, manages environment variables, and offers tools for auditing build integrity and automating package updates. The system also includes features for exporting and importing configuration states, enabling reproducible environments across different machines.

Features

  • Package Installers - Installs software from source or binaries without requiring administrative privileges.
  • Package Managers - Packages and delivers pre-compiled binaries or source-based tools while managing complex dependency trees.
  • Package Definitions - Uses a declarative language to specify download sources, checksums, and installation paths for software packages.
  • Binary Distribution Systems - Distributes pre-compiled binaries to avoid lengthy local compilation times.
  • Development Environment Managers - Manages language-specific runtimes and project dependencies in isolated paths to prevent conflicts.
  • Software Distribution Frameworks - Manages the build, packaging, and distribution of pre-compiled binaries across multiple operating systems.
  • Build Sandboxes - Executes package installation and compilation within isolated shell environments to prevent system-wide pollution.
  • Cross-Platform Package Managers - Provides consistent package management commands across different operating systems.
  • Development Environment Orchestrators - Manages isolated dependencies and shell configurations to ensure consistent tool availability.
  • Security Auditing - Audits and installs package definitions to verify build integrity and adherence to project standards.
  • Declarative Configuration Systems - Defines a desired state for installed software and dependencies in a configuration file to ensure reproducible environments.
  • Developer Tools and Editors - Package manager for macOS and Linux systems.
  • Package Management - Package manager for macOS and Linux.
  • Command Shims - Intercepts shell commands using lightweight executable wrappers to dynamically manage environment paths.
  • Declarative Configuration Managers - Manages installations by synchronizing the system to a defined configuration state.
  • Dependency Resolvers - Evaluates package requirements through a directed graph of definitions to automatically fetch and link necessary software components.
  • Installed Package Management - Maintains and displays a list of all currently installed software packages.
  • Isolated Execution Environments - Runs commands within a temporary environment where specific packages are available, ensuring consistent access.
  • Package Uninstallers - Uninstalls software packages and removes associated files to reclaim disk space.
  • System State Exporting - Generates configuration files representing the current system state for backup and migration.
  • Version Pinning Tools - Pins specific package versions to ensure consistent builds and predictable behavior.
  • Build Automation Tools - Defines and tests build recipes to transform source code into installable packages while ensuring integrity.
  • Automated Update Managers - Automates package updates by checking for releases and opening pull requests.
  • Environment Managers - Installs maintained language versions and uses virtual environments to ensure project stability.
  • Metadata Querying - Provides structured JSON output for querying package metadata to support automation tasks.
  • Task Runners - Executes scripts within an environment where required packages are automatically added to the system path.
  • Version Monitoring - Queries remote repositories to identify and notify about the latest available software versions.
  • Versioned Package Managers - Installs specific older versions of software by using versioned identifiers.
  • Continuous Integration - Executes automated tests on code changes to validate dependencies and ensure system stability.
  • Application Bundlers - Bundles language dependencies and version requirements to ensure applications run independently of the host environment.
  • Build Definition Languages - Uses a domain-specific language to provide a declarative interface for defining software build steps and dependencies.
  • Command Suggestion Engines - Suggests installation commands for missing programs by intercepting shell errors and checking available packages.
  • Configuration Management - Lists all packages and services defined in configuration files to track desired system state.
  • Package Repository Distributors - Hosts and distributes package definitions to other users through a version-controlled repository structure.
  • Package Search Utilities - Searches for available software packages using text queries or regular expressions.
  • Package Upgraders - Upgrades all configured packages to their latest versions.
  • Shell Environment Launchers - Launches a shell session pre-loaded with the environment variables and paths required by configured packages.
  • State Synchronization - Automatically updates configuration files to reflect manual changes made to installed packages.
  • Binary Publication Workflows - Triggers automated workflows to release built binary packages after successful verification.

Star history

Star history chart for homebrew/brewStar history chart for homebrew/brew

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

Open-source alternatives to Brew

Similar open-source projects, ranked by how many features they share with Brew.
  • homebrew/homebrew-coreHomebrew avatar

    Homebrew/homebrew-core

    15,383View on GitHub↗

    This project is a Ruby-based package definition repository that functions as a cross-platform package manager and software dependency resolver for macOS and Linux. It provides a centralized system for installing, updating, and managing software through a Git-based distribution model. The system distinguishes itself through a binary package distribution network that produces pre-compiled bottles to avoid local compilation from source. It utilizes a Ruby-based domain specific language to define installation recipes and employs a distributed version control architecture to synchronize these defi

    Rubycoreformulaehacktoberfest
    View on GitHub↗15,383
  • homebrew/legacy-homebrewHomebrew avatar

    Homebrew/legacy-homebrew

    26,849View on GitHub↗

    This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and

    View on GitHub↗26,849
  • scoopinstaller/scoopScoopInstaller avatar

    ScoopInstaller/Scoop

    23,635View on GitHub↗

    Scoop is a command-line package manager for Windows designed to automate the installation, configuration, and lifecycle management of software. It utilizes a manifest-driven architecture where applications are defined in structured text files, allowing for consistent and repeatable deployments. By leveraging shim-based path management and symlink-based version switching, it enables users to install and toggle between multiple software versions without cluttering the global system environment. The project distinguishes itself through its focus on portability and clean system integration. It su

    PowerShellinstallerpowershellscoop
    View on GitHub↗23,635
  • pypa/pippypa avatar

    pypa/pip

    10,186View on GitHub↗

    pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index and other remote repositories. It functions as a dependency resolver that calculates compatible version sets for complex software trees, an environment inspector for analyzing installed distributions, and a wheel builder that compiles source distributions into binary files. The tool supports various installation methods, including fetching packages directly from web URLs and Git commits, as well as installing packages in editable mode for active development. It enables the crea

    Pythonpackagingpippython
    View on GitHub↗10,186
See all 30 alternatives to Brew→

Frequently asked questions

What does homebrew/brew do?

Homebrew is a command-line package management tool designed to automate the installation, configuration, and maintenance of software on local development environments. It functions as a cross-platform software distributor, enabling users to install tools from pre-compiled binary archives or source code without requiring administrative privileges. By managing complex dependency trees and versioning, it ensures that software remains consistent and compatible across different…

What are the main features of homebrew/brew?

The main features of homebrew/brew are: Package Installers, Package Managers, Package Definitions, Binary Distribution Systems, Development Environment Managers, Software Distribution Frameworks, Build Sandboxes, Cross-Platform Package Managers.

What are some open-source alternatives to homebrew/brew?

Open-source alternatives to homebrew/brew include: homebrew/homebrew-core — This project is a Ruby-based package definition repository that functions as a cross-platform package manager and… homebrew/legacy-homebrew — This project is a command line package manager and dependency management engine used for installing, updating, and… scoopinstaller/scoop — Scoop is a command-line package manager for Windows designed to automate the installation, configuration, and… pypa/pip — pip is a Python package manager used to install, update, and remove software libraries from the Python Package Index… nixos/nix.dev — This project provides a functional package manager and a reproducible build system designed to ensure identical build… pypa/setuptools — Setuptools is a Python package build tool and distribution framework used to bundle code into distributable archives.…