← Back to Awesome

Sections

Composer

GitHub repository ↗ synced 2026/8/9

Awesome Composer Awesome Build on Windows license

A curated list of resources for Composer, Packagist, Satis, Plugins, Scripts, Videos, Tutorials.

You might also like awesome-php.

Please read the contribution guidelines before contributing.

Composer

Official Website
GitHub
Issues
Source
Documentation
Getting Started Guide and Installation Instructions
Find Packages on Packagist
CheatSheet

Overview of CLI commands and `composer.json` schema.

Composer Installers

Composer installers for multiple frameworks.

Support

Ask a new question
Find questions tagged `composer-php`

Stack Overflow

  • You might use the following tags: composer-php, packagist, satis + php.

IRC

  • IRC channels are on irc.freenode.org: #composer for users and #composer-dev for development.

Plugins

Documentation for Plugins

This offical documentation is good starting point, when writing a Composer plugin.

Composer-Asset-Plugin

A npm/Bower Dependencies Manager for Composer.

Composer-AWS

The plugin loads repository data and downloads packages from Amazon S3 (with authentication support for private repositories).

Composer-Composition

Provides an API, for checking your environment at runtime.

Composer-Suggest

Enables you to install a custom group of suggested packages, based on keyword patterns.

Composer-Versions-Check

Shows outdated packages from last major versions after using the update command (showing "Latest is vX.Y.Z").

Composer-Changelogs

Provides a summary of the updates with links to changelog/releasenote/tag. The output is ready to be pasted into the commit message when updating the composer.lock file.

Composer-Merge-Plugin

Merges multiple `composer.json` files at Composer runtime.

Composer-Bin-Plugin

Adds support for managing dependencies for multiple packages in a single repository or isolate bin dependencies.

Composer-Inheritance-Plugin

Opinionated version of Wikimedia composer-merge-plugin to work in pair with Bamarni composer-bin-plugin.

Composer-MonoRepo-Plugin

The plugin helps to manage dependencies for multiple packages in a single repository.

Composer-Patches-Plugin

Enables you to provide patches for any package from any package. When the dependency is fetched, the patch is applied on top.

Composer-Patches

The plugin applies a patch from a local or remote file to any required package.

Composer-Patches

Applies a patch from a local or remote file to any package that is part of a given composer project.

Composer-Patchset

Automatically fetch, update and apply patches to any composer package with a twist - store the patchset as a composer package itself.

Composer-Plugin-QA

Comprehensive Plugin for composer to execute PHP Quality assurance Tools.

Composer-Cleanup-Plugin

Removes tests & documentation folders from the vendor dir.

Composer-Cleaner

The tool removes unnecessary files and directories from the vendor directory.

Composer-Ignore-Plugin

Enables you to remove files and folders from the vendor folder (to make a cleaner and smaller deployment to production). It's an alternative to `.gitattributes`.

Composer-Vendor-Cleaner

Plugin removes unnecessary development files and directories from `vendor` directory by glob pattern syntax.

Composer-Skrub

The plugin helps to remove junk from Composer installations and trim build sizes.

Drupal Vendor Hardening Composer Plugin

Removes extraneous directories from the project's vendor directory & adds .htaccess and web.config files to the root of the project's vendor directory.

Composer-Shared-Package-Plugin

Allows you to share selected packages between your projects by creating symlinks.

Composer-Symlinker

Enables you to load packages from different directories (instead of loading them from /vendor).

Prestissimo

A parallel downloader using `phpext_curl`.

Composer-Curl-Plugin

The plugin uses `phpext_curl` for downloading packages.

Composer-Custom-Directory-Installer

A composer plugin, to install different types of composer packages in custom directories outside the default composer installation path (vendor folder).

Composer-Dependency-Analyzer

The plugin helps to find dependency issues, including dead, unused, shadow and misplaced dependencies.

Composer-Dependency-Analyzer

Allows you to build a dependency graph for an installed composer project.

Graph-Composer

Provides a graph visualization for your project's `composer.json` and its dependencies.

PackageVersions

Provides a very quick and easy access to installed composer dependency versions.

PackageVersions Deprecated

Is a fork of Ocramius/PackageVersions providing compatibility with Composer 1 and 2 on PHP 7+.

Composer-Locator

Provides a means of locating the installation path for a given Composer package name.

PackageInfo

Enables you to retrieve all package informations (like version, tag, release date, description).

Composer-Git-Hooks

A library for easily managing git hooks in your composer config.

Symfony-Flex

Provides [recipe-based](https://github.com/symfony/recipes) installation and configuration management for Symfony packages.

Narrowspark-Automatic

Automates the most common tasks of applications, boost package downloads, adds a composer security audit and more.

PHPCodeSniffer-Composer-Installer

The plugin enables you to install [PHP_CodeSniffer](https://github.com/PHPCSStandards/PHP_CodeSniffer) coding standards (rulesets).

Composer-Warmup

The plugin adds the command `warmup-opcode` to Composer, which triggers the compilation of all PHP files discovered in your project into the Opcache.

Foxy

Composer plugin that executes npm/yarn packages installation operations, when composer package is installed or updated.

NodeJS-Installer

Installer for Node.js and npm.

Node-Composer

Installer for Node.js, npm and yarn.

Imposter-Plugin

Wrapping all composer vendor packages inside your own namespace. Intended for WordPress plugins.

Composer Preload

The plugin generates a `vendor/preload.php` file to warm up the Opcache.

PHP Inc

Automatically includes files for autoload and autoload-dev to facilitate using functions and grouped definitions within composer loaded applications.

Composer Registry Manager

Enables you to switch between different composer repositories.

Production-Dependencies-Guard

Prevents development packages from being added into require and getting into production environment.

Composer-Plugin-Exclude-Files

A plugin for excluding files required by packages using the 'files' autoloading mechanism.

Composer-Downloads-Plugin

Lightweight mechanism to download external resources (ZIP/TAR files) with only a `url` and `path`.

Private-Composer-Installer

Install helper outsourcing sensitive keys from the package URL into environment variables.

CycloneDX-PHP-Composer

Creates a [CycloneDX](https://cyclonedx.org/) "Software Bill-of-Materials" (SBOM) for the dependencies of a project. The SBOM enables dependency monitoring and risk analysis by [OWASP DependencyTrack](https://dependencytrack.org/).

Composer-Compile-Plugin

Allow PHP libraries to define simple, freeform compilation tasks. Support post-install hooks in any package.

Composer-Link

Adds the ability to link local packages for development.

Composer-REPL

The plugin provides the `composer repl` command, which gives you a PHP language shell (read-eval-print loop).

Composer-Diff

Compares `composer.lock` changes and generates a Markdown report for usage in a pull request description.

Composer-Velocita

Fast and reliable Composer package downloads using [Velocita](https://github.com/isaaceindhoven/velocita-proxy): a caching reverse proxy that does not require you to modify your projects.

Composer Translation Validator

Validates translation files in your project, supports several file formats (regarding different frameworks) and provides useful validators for comparison, consistency and syntax checks.

Composer-Fanfare

Displays a colored ASCII art banner after install/update, with color presets, gradients and animations.

Tools

Composer SemVer Checker

Enables you identify constraint to version resolution issues, by doing a semantic version check for Packagist hosted packages.

Composer-Yaml

This tool converts `composer.yml` to `composer.json`.

Studio

A workbench for developing Composer packages. Its an alternative to editing dependencies in the vendor folder or using [PathRepositories](https://getcomposer.org/doc/05-repositories.md#path) to load a local clone of your dependency into your project.

OctoLinker Browser Extension

Enables you to navigate Composer/NPM dependencies on GitHub.

ComposerRequireChecker

A CLI tool to analyze dependencies and verify that no unknown imported symbols are used in the sources of a package.

Composer-Unused

A CLI tool, which scans your code and shows unused Composer dependencies.

Composer-Normalize

The plugin helps to keep your `composer.json` file(s) consistent by restructuring and sorting entries (normalizing).

Composer-Service

Enables you to run Composer as a service on a remote server.

Composer PreferLowest Checker

Strictly compare the specified minimum versions of your composer.json with the ones actually used by the prefer-lowest composer update command option.

Bramus/Composer-Autocomplete

A Bash/Shell autocompletion script for Composer.

Composer/Xdebug-Handler

Helps you to restart a CLI process without loading the xdebug extension.

Composer Semver Range Checker

A tool to help check the satisfiable ranges of a composer constraint.

Scripts

ParameterHandler

Allows you to manage your ignored parameters when running a composer install or update.

Tooly

Manage needed PHAR files in your project `composer.json`. Every PHAR file will be saved in the composer binary directory. Optional with GPG verification for every PHAR.

Melody

One-file composer scripts.

Composer-Travis-Lint

Allows you to lint the Travis CI configuration file (`.travis.yml`).

Composer-Multitest

Enables you to run a Composer script against multiple, locally installed PHP versions, which are managed by PHPBrew or phpenv.

ScriptsDev

Enables you to use a `scripts-dev` section, which triggers scripts only in dev mode.

PhantomJS-Installer

A Composer Package which installs the PhantomJS binary (Linux, Windows, Mac) into /bin of your project.

Composer-Vendor-Cleanup

A script which removes whitelisted unnecessary files (like tests/docs etc.) from the vendor directory.

Composer-Substitution-Plugin

A Composer plugin replacing placeholders in the `scripts` section by dynamic values.

Services

Dependabot

Dependabot is a dependency update service. It monitors and updates your dependencies by sending a pull-request. The service is free for public repos and personal account repos.


Tutorials

A short & simple Composer tutorial
PHP Dependency Management with Composer
Composer Primer
PHP Composer Magento Tutorial by Alan Storm
Creating and Using Composer Packages

Blogs

Jordi Boggiano (seldaek)
Nils Adermann (naderman)
Composer Stability Flags
Composer Versioning
The long journey of making PHPs Composer memory-efficient and fast (toflar)

Videos

Composer Best Practices 2018 - Nils Adermann @ scotphp18
Composer Best Practices 2018 - Nils Adermann @ phpday 2018
Managing dependencies is more than running "composer update" - Nils Adermann @ phpsrb17
Composer Best Practices — Jordi Boggiano @ phptek 2015
Wonderful World of Composer
PHP Composer Quickstart
How Composer helped shape the new way of writing PHP - Nils Adermann @ Drupal Camp Frankfurt
Composer Package Management - Nils Adermann @ T3CON12DE
Composer 2 - Jordi Boggiano @ Symfony UK usergroup 2020
Lessons learned building the Composer internals - Jordi Boggiano @ CODEiD Odessa PHP Conference 2017

Slides

  • Slides by Nils Adermann
    • Source: https://naderman.de/slippy/src/
    • PHP Reinvented - How Composer helped shape the new way of writing PHP
    • Composer Update
    • Dependency Management with Composer PHP Reinvented
    • Managing dependencies is
      more than running
      "composer update"
    • Composer
      Best Practices @ T3DD17
    • Gain Control over your
      Dependencies with
      Private Packagist
    • Composer.lock demystified
    • Compoer In-Depth @ Contao Konferenz 2018
    • Composer Best Practices 2018
    • Developing and Deploying Magento with Composer Best Practices
    • Composer Platform Config (check-platform-reqs) @ SymfonCon 2018
  • Slides by Jordi Boggiano
    • Source: http://slides.seld.be/
    • Dependency Management with Composer (2013)
    • In Depth with Composer (2013)
    • Composer Best Practices (2015)
    • Introduction to Composer (2015)
    • Composer in 2016
    • Lessons Learned Building the Composer Internals (2018)

Packagist

Packagist is the PHP Package Repository.

Setup a Packagist Mirror

Packagist Mirror

This script helps to setup a packagist mirror. It is the maintained and stable version of [Packagist Crawler](https://github.com/hirak/packagist-crawler).

Docker Image

This Docker image helps to create a customized packagist mirror.

Packagist Mirror from Indonesia

Another implementation for creating a packagist mirror.

Packagist Mirrors

About metadata mirrors: https://packagist.org/mirrors

  • Global, CloudFlare - packagist.pages.dev
  • North America
    • Canada - packagist.org Main mirror
  • Asia
    • China - https://pkg.xyz/, https://developer.aliyun.com/composer
    • Japan - packagist.jp
    • Korea - https://packagist.kr/

Composer Repositories

Registry Manager

  • https://github.com/slince/composer-registry-manager - The plugin helps you to switch between different composer repositories.

Private repositories

fxpio/tug

Enables you to host a private Composer registry on AWS Serverless serving your private PHP packages, which are hosted on GitHub or GitLab services.

Private Packagist

Private Packagist Cloud

A Composer Repository as a Service for private packages and to mirror packages from other repositories.

Private Packagist Enterprise

On-premise self-hosted version of Private Packagist.

Private Packagist API Client

A PHP client for the Private Packagist API. The client handles authentication, signature generation and access to all endpoints.

Repman

repman-io/composer-plugin

This plugin enables downloading via Repman by adding a distribution mirror URL for all your dependencies (without need to update the `composer.lock` file).

  • repman.io & repman-io/repman - A Private PHP Package Repository Manager & Packagist Proxy.

Packagist-compatible repositories

WordPress Packagist

Mirrors the WordPress plugin and theme directories as a Composer repository.

Asset Packagist

Enables installation of Bower and NPM packages as native Composer packages.

Firegento

A Composer Repository providing Magento Modules.

Drupal Packagist

Composer repositories for Drupal 7 and 8 core, modules, and themes.

Satis Server

This docker container provides a Satis Server and enables you to run a private, self-hosted Composer repository with support for Git, Mercurial, and Subversion, HTTP API, HTTPs support, webhook handler and scheduled builds.

Cloudsmith

A fully managed package management SaaS with PHP/Composer support (and many others).

Release Belt

Self–hosted Composer repository implementation to quickly integrate ZIP files of third party non–Composer releases.

Packeton

Private self-hosted Composer repository for vendors. Fork of packagist with adding support for authorization, customer users, groups, webhooks.

RepoFlow

Simple and fast platform for hosting private Composer registries. Also supports Docker, npm, PyPI, Maven, and RubyGems. Offers free options for both cloud and self-hosted setups.

Satis

GitLab-Composer

This is a branch/tag indexer for GitLab repositories.

Satisfy

Satis composer repository manager with a Web UI.

Satis Control Panel

A simple web UI for managing your Satis Repository with optional CI integration.

Satis Go

A web server for managing Satis configuration and hosting the generated Composer repository.

Toran Proxy

  • ToranProxy (deprecated) - In addition to providing a composer repository ToranProxy acts as a proxy server for Packagist and GitHub.

Copyright

CC0

To the extent possible under law, Jens A. Koch has waived all copyright and related or neighboring rights to this work.