Awesome Composer

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
Support
Stack Overflow
IRC
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
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
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 “Software Bill-of-Materials” (SBOM) for the dependencies of a project. The SBOM enables dependency monitoring and risk analysis by OWASP DependencyTrack.
-
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
: a caching reverse proxy that does not require you to modify your projects.
-
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 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
Blogs
Videos
Slides
- Slides by Nils Adermann
- Slides by Jordi Boggiano
Packagist
Packagist is the PHP Package Repository.
Setup a Packagist Mirror
Packagist Mirrors
About metadata mirrors: https://packagist.org/mirrors
- North America
- South America
- Africa
- Asia
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
Repman
-
repman.io & repman-io/repman
- A Private PHP Package Repository Manager & Packagist Proxy.
-
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).
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.
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

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