Files
awesome-awesomeness/html/composer.md2.html
2025-07-18 23:13:11 +02:00

644 lines
30 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--lint disable double-link awesome-toc-->
<h1 id="awesome-composer-awesome-build-on-windows-license">Awesome
Composer <a href="https://github.com/sindresorhus/awesome"><img
src="https://awesome.re/badge-flat.svg" alt="Awesome" /></a> <a
href="https://github.com/jakoch/awesome-composer/actions/workflows/awesome-bot.yml"><img
src="https://github.com/jakoch/awesome-composer/actions/workflows/awesome-bot.yml/badge.svg?branch=main"
alt="Build on Windows" /></a> <a href=""><img
src="https://img.shields.io/github/license/jakoch/awesome-composer.svg?maxAge=2592000"
alt="license" /></a></h1>
<p><a
href="https://getcomposer.org/"><img src="https://raw.githubusercontent.com/jakoch/awesome-composer/master/logo-composer-transparent.png" align="right" width="150"></a></p>
<blockquote>
<p>A curated list of resources for Composer, Packagist, Satis, Plugins,
Scripts, Videos, Tutorials.</p>
</blockquote>
<p>You might also like <a
href="https://github.com/ziadoz/awesome-php">awesome-php</a>.</p>
<p><em>Please read the <a
href="https://github.com/jakoch/awesome-composer/blob/main/.github/CONTRIBUTING.md">contribution
guidelines</a> before contributing.</em></p>
<h2 id="composer">Composer</h2>
<ul>
<li><a href="https://getcomposer.org/">Official Website</a></li>
<li><a href="https://github.com/composer/composer">GitHub</a></li>
<li><a
href="https://github.com/composer/composer/issues">Issues</a></li>
<li><a
href="https://github.com/composer/composer/tree/HEAD/src/Composer">Source</a></li>
<li><a href="https://getcomposer.org/doc/">Documentation</a></li>
<li><a href="https://getcomposer.org/doc/00-intro.md">Getting Started
Guide and Installation Instructions</a></li>
<li><a href="https://packagist.org/">Find Packages on Packagist</a></li>
<li><a href="https://composer.json.jolicode.com/">CheatSheet</a> -
Overview of CLI commands and <code>composer.json</code> schema.</li>
<li><a href="https://github.com/composer/installers">Composer
Installers</a> - Composer installers for multiple frameworks.</li>
</ul>
<h3 id="support">Support</h3>
<h4 id="stack-overflow">Stack Overflow</h4>
<ul>
<li>You might use the following tags: <code>composer-php</code>,
<code>packagist</code>, <code>satis</code> + <code>php</code>.</li>
<li><a
href="https://stackoverflow.com/questions/ask?tags=composer-php+php">Ask
a new question</a></li>
<li><a
href="https://stackoverflow.com/questions/tagged/composer-php">Find
questions tagged <code>composer-php</code></a></li>
</ul>
<h4 id="irc">IRC</h4>
<ul>
<li>IRC channels are on <code>irc.freenode.org</code>: <a
href="https://irc.com/#composer">#composer</a> for users and <a
href="https://irc.com/#composer-dev">#composer-dev</a> for
development.</li>
</ul>
<hr />
<h2 id="plugins">Plugins</h2>
<ul>
<li><a
href="https://getcomposer.org/doc/articles/plugins.md">Documentation for
Plugins</a> - This offical documentation is good starting point, when
writing a Composer plugin.</li>
<li><a
href="https://github.com/fxpio/composer-asset-plugin">Composer-Asset-Plugin</a>
- A npm/Bower Dependencies Manager for Composer.</li>
<li><a href="https://github.com/naderman/composer-aws">Composer-AWS</a>
- The plugin loads repository data and downloads packages from Amazon S3
(with authentication support for private repositories).</li>
<li><a
href="https://github.com/bamarni/composition">Composer-Composition</a> -
Provides an API, for checking your environment at runtime.</li>
<li><a
href="https://github.com/nfreear/composer-suggest">Composer-Suggest</a>
- Enables you to install a custom group of suggested packages, based on
keyword patterns.</li>
<li><a
href="https://github.com/Soullivaneuh/composer-versions-check">Composer-Versions-Check</a>
- Shows outdated packages from last major versions after using the
update command (showing “Latest is vX.Y.Z”).</li>
<li><a
href="https://github.com/pyrech/composer-changelogs">Composer-Changelogs</a>
- 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.</li>
<li><a
href="https://github.com/wikimedia/composer-merge-plugin">Composer-Merge-Plugin</a>
- Merges multiple <code>composer.json</code> files at Composer
runtime.</li>
<li><a
href="https://github.com/bamarni/composer-bin-plugin">Composer-Bin-Plugin</a>
- Adds support for managing dependencies for multiple packages in a
single repository or isolate bin dependencies.</li>
<li><a
href="https://github.com/theofidry/composer-inheritance-plugin">Composer-Inheritance-Plugin</a>
- Opinionated version of Wikimedia composer-merge-plugin to work in pair
with Bamarni composer-bin-plugin.</li>
<li><a
href="https://github.com/beberlei/composer-monorepo-plugin">Composer-MonoRepo-Plugin</a>
- The plugin helps to manage dependencies for multiple packages in a
single repository.</li>
<li><a
href="https://github.com/netresearch/composer-patches-plugin">Composer-Patches-Plugin</a>
- Enables you to provide patches for any package from any package. When
the dependency is fetched, the patch is applied on top.</li>
<li><a
href="https://github.com/cweagans/composer-patches">Composer-Patches</a>
- The plugin applies a patch from a local or remote file to any required
package.</li>
<li><a
href="https://github.com/vaimo/composer-patches">Composer-Patches</a> -
Applies a patch from a local or remote file to any package that is part
of a given composer project.</li>
<li><a
href="https://github.com/mageops/php-composer-plugin-patchset">Composer-Patchset</a>
- Automatically fetch, update and apply patches to any composer package
with a twist - store the patchset as a composer package itself.</li>
<li><a
href="https://github.com/Webysther/composer-plugin-qa">Composer-Plugin-QA</a>
- Comprehensive Plugin for composer to execute PHP Quality assurance
Tools.</li>
<li><a
href="https://github.com/barryvdh/composer-cleanup-plugin">Composer-Cleanup-Plugin</a>
- Removes tests &amp; documentation folders from the vendor dir.</li>
<li><a
href="https://github.com/dg/composer-cleaner">Composer-Cleaner</a> - The
tool removes unnecessary files and directories from the vendor
directory.</li>
<li><a
href="https://github.com/lichunqiang/composer-ignore-plugin">Composer-Ignore-Plugin</a>
- Enables you to remove files and folders from the vendor folder (to
make a cleaner and smaller deployment to production). Its an
alternative to <code>.gitattributes</code>.</li>
<li><a
href="https://github.com/liborm85/composer-vendor-cleaner">Composer-Vendor-Cleaner</a>
- Plugin removes unnecessary development files and directories from
<code>vendor</code> directory by glob pattern syntax.</li>
<li><a href="https://github.com/ssx/skrub">Composer-Skrub</a> - The
plugin helps to remove junk from Composer installations and trim build
sizes.</li>
<li><a href="https://github.com/drupal/core-vendor-hardening">Drupal
Vendor Hardening Composer Plugin</a> - Removes extraneous directories
from the projects vendor directory &amp; adds .htaccess and web.config
files to the root of the projects vendor directory.</li>
<li><a
href="https://github.com/Letudiant/composer-shared-package-plugin">Composer-Shared-Package-Plugin</a>
- Allows you to share selected packages between your projects by
creating symlinks.</li>
<li><a
href="https://github.com/e-picas/composer-symlinker">Composer-Symlinker</a>
- Enables you to load packages from different directories (instead of
loading them from /vendor).</li>
<li><a href="https://github.com/hirak/prestissimo">Prestissimo</a> - A
parallel downloader using <code>phpext_curl</code>.</li>
<li><a
href="https://github.com/ngyuki/composer-curl-plugin">Composer-Curl-Plugin</a>
- The plugin uses <code>phpext_curl</code> for downloading
packages.</li>
<li><a
href="https://github.com/mnsami/composer-custom-directory-installer">Composer-Custom-Directory-Installer</a>
- A composer plugin, to install different types of composer packages in
custom directories outside the default composer installation path
(vendor folder).</li>
<li><a
href="https://github.com/shipmonk-rnd/composer-dependency-analyser">Composer-Dependency-Analyzer</a>
- The plugin helps to find dependency issues, including dead, unused,
shadow and misplaced dependencies.</li>
<li><a
href="https://packagist.org/packages/jms/composer-deps-analyzer">Composer-Dependency-Analyzer</a>
- Allows you to build a dependency graph for an installed composer
project.</li>
<li><a href="https://github.com/clue/graph-composer">Graph-Composer</a>
- Provides a graph visualization for your projects
<code>composer.json</code> and its dependencies.</li>
<li><a
href="https://github.com/Ocramius/PackageVersions">PackageVersions</a> -
Provides a very quick and easy access to installed composer dependency
versions.</li>
<li><a
href="https://github.com/composer/package-versions-deprecated">PackageVersions
Deprecated</a> - Is a fork of Ocramius/PackageVersions providing
compatibility with Composer 1 and 2 on PHP 7+.</li>
<li><a
href="https://github.com/mindplay-dk/composer-locator">Composer-Locator</a>
- Provides a means of locating the installation path for a given
Composer package name.</li>
<li><a href="https://github.com/ThaDafinser/PackageInfo">PackageInfo</a>
- Enables you to retrieve all package informations (like version, tag,
release date, description).</li>
<li><a
href="https://github.com/BrainMaestro/composer-git-hooks">Composer-Git-Hooks</a>
- A library for easily managing git hooks in your composer config.</li>
<li><a href="https://github.com/symfony/flex">Symfony-Flex</a> -
Provides <a href="https://github.com/symfony/recipes">recipe-based</a>
installation and configuration management for Symfony packages.</li>
<li><a
href="https://github.com/narrowspark/automatic">Narrowspark-Automatic</a>
- Automates the most common tasks of applications, boost package
downloads, adds a composer security audit and more.</li>
<li><a
href="https://github.com/PHPCSStandards/composer-installer">PHPCodeSniffer-Composer-Installer</a>
- The plugin enables you to install <a
href="https://github.com/squizlabs/PHP_CodeSniffer">PHP_CodeSniffer</a>
coding standards (rulesets).</li>
<li><a
href="https://github.com/jderusse/composer-warmup">Composer-Warmup</a> -
The plugin adds the command <code>warmup-opcode</code> to Composer,
which triggers the compilation of all PHP files discovered in your
project into the Opcache.</li>
<li><a href="https://github.com/fxpio/foxy">Foxy</a> - Composer plugin
that executes npm/yarn packages installation operations, when composer
package is installed or updated.</li>
<li><a
href="https://github.com/thecodingmachine/nodejs-installer">NodeJS-Installer</a>
- Installer for Node.js and npm.</li>
<li><a
href="https://github.com/mariusbuescher/node-composer">Node-Composer</a>
- Installer for Node.js, npm and yarn.</li>
<li><a
href="https://github.com/typisttech/imposter-plugin">Imposter-Plugin</a>
- Wrapping all composer vendor packages inside your own namespace.
Intended for WordPress plugins.</li>
<li><a href="https://github.com/Ayesh/Composer-Preload">Composer
Preload</a> - The plugin generates a <code>vendor/preload.php</code>
file to warm up the Opcache.</li>
<li><a href="https://github.com/krakphp/php-inc">PHP Inc</a> -
Automatically includes files for autoload and autoload-dev to facilitate
using functions and grouped definitions within composer loaded
applications.</li>
<li><a
href="https://github.com/slince/composer-registry-manager">Composer
Registry Manager</a> - Enables you to switch between different composer
repositories.</li>
<li><a
href="https://github.com/kalessil/production-dependencies-guard">Production-Dependencies-Guard</a>
- Prevents development packages from being added into require and
getting into production environment.</li>
<li><a
href="https://github.com/mcaskill/composer-plugin-exclude-files">Composer-Plugin-Exclude-Files</a>
- A plugin for excluding files required by packages using the files
autoloading mechanism.</li>
<li><a
href="https://github.com/civicrm/composer-downloads-plugin">Composer-Downloads-Plugin</a>
- Lightweight mechanism to download external resources (ZIP/TAR files)
with only a <code>url</code> and <code>path</code>.</li>
<li><a
href="https://github.com/ffraenz/private-composer-installer">Private-Composer-Installer</a>
- Install helper outsourcing sensitive keys from the package URL into
environment variables.</li>
<li><a
href="https://github.com/CycloneDX/cyclonedx-php-composer">CycloneDX-PHP-Composer</a>
- Creates a <a href="https://cyclonedx.org/">CycloneDX</a> “Software
Bill-of-Materials” (SBOM) for the dependencies of a project. The SBOM
enables dependency monitoring and risk analysis by <a
href="https://dependencytrack.org/">OWASP DependencyTrack</a>.</li>
<li><a
href="https://github.com/civicrm/composer-compile-plugin">Composer-Compile-Plugin</a>
- Allow PHP libraries to define simple, freeform compilation tasks.
Support post-install hooks in any package.</li>
<li><a
href="https://github.com/SanderSander/composer-link">Composer-Link</a> -
Adds the ability to link local packages for development.</li>
<li><a href="https://github.com/ramsey/composer-repl">Composer-REPL</a>
- The plugin provides the <code>composer repl</code> command, which
gives you a PHP language shell (read-eval-print loop).</li>
<li><a
href="https://github.com/IonBazan/composer-diff">Composer-Diff</a> -
Compares <code>composer.lock</code> changes and generates a Markdown
report for usage in a pull request description.</li>
<li><a
href="https://github.com/isaaceindhoven/composer-velocita">Composer-Velocita</a>
- Fast and reliable Composer package downloads using <a
href="https://github.com/isaaceindhoven/velocita-proxy">Velocita</a>: a
caching reverse proxy that does not require you to modify your
projects.</li>
<li><a
href="https://github.com/move-elevator/composer-translation-validator">Composer
Translation Validator</a> - Validates translation files in your project,
supports several file formats (regarding different frameworks) and
provides useful validators for comparison, consistency and syntax
checks.</li>
</ul>
<h2 id="tools">Tools</h2>
<ul>
<li><a href="https://semver.madewithlove.com/">Composer SemVer
Checker</a> - Enables you identify constraint to version resolution
issues, by doing a semantic version check for Packagist hosted
packages.</li>
<li><a href="https://github.com/igorw/composer-yaml">Composer-Yaml</a> -
This tool converts <code>composer.yml</code> to
<code>composer.json</code>.</li>
<li><a href="https://github.com/franzliedke/studio">Studio</a> - A
workbench for developing Composer packages. Its an alternative to
editing dependencies in the vendor folder or using <a
href="https://getcomposer.org/doc/05-repositories.md#path">PathRepositories</a>
to load a local clone of your dependency into your project.</li>
<li><a href="https://github.com/OctoLinker/OctoLinker">OctoLinker
Browser Extension</a> - Enables you to navigate Composer/NPM
dependencies on GitHub.</li>
<li><a
href="https://github.com/maglnet/ComposerRequireChecker">ComposerRequireChecker</a>
- A CLI tool to analyze dependencies and verify that no unknown imported
symbols are used in the sources of a package.</li>
<li><a
href="https://github.com/composer-unused/composer-unused">Composer-Unused</a>
- A CLI tool, which scans your code and shows unused Composer
dependencies.</li>
<li><a
href="https://github.com/ergebnis/composer-normalize">Composer-Normalize</a>
- The plugin helps to keep your <code>composer.json</code> file(s)
consistent by restructuring and sorting entries (normalizing).</li>
<li><a
href="https://github.com/pborreli/composer-service">Composer-Service</a>
- Enables you to run Composer as a service on a remote server.</li>
<li><a
href="https://github.com/dereuromark/composer-prefer-lowest">Composer
PreferLowest Checker</a> - Strictly compare the specified minimum
versions of your composer.json with the ones actually used by the
prefer-lowest composer update command option.</li>
<li><a
href="https://github.com/bramus/composer-autocomplete">Bramus/Composer-Autocomplete</a>
- A Bash/Shell autocompletion script for Composer.</li>
<li><a
href="https://github.com/composer/xdebug-handler">Composer/Xdebug-Handler</a>
- Helps you to restart a CLI process without loading the xdebug
extension.</li>
<li><a href="https://gitlab.com/MattyRad/composer.guru">Composer Semver
Range Checker</a> - A tool to help check the satisfiable ranges of a
composer constraint.</li>
</ul>
<h2 id="scripts">Scripts</h2>
<ul>
<li><a
href="https://github.com/Incenteev/ParameterHandler">ParameterHandler</a>
- Allows you to manage your ignored parameters when running a composer
install or update.</li>
<li><a
href="https://github.com/tommy-muehle/tooly-composer-script">Tooly</a> -
Manage needed PHAR files in your project <code>composer.json</code>.
Every PHAR file will be saved in the composer binary directory. Optional
with GPG verification for every PHAR.</li>
<li><a href="https://github.com/sensiolabs/melody">Melody</a> - One-file
composer scripts.</li>
<li><a
href="https://github.com/raphaelstolt/composer-travis-lint">Composer-Travis-Lint</a>
- Allows you to lint the Travis CI configuration file
(<code>.travis.yml</code>).</li>
<li><a
href="https://github.com/raphaelstolt/composer-multitest">Composer-Multitest</a>
- Enables you to run a Composer script against multiple, locally
installed PHP versions, which are managed by PHPBrew or phpenv.</li>
<li><a href="https://github.com/neronmoon/scriptsdev">ScriptsDev</a> -
Enables you to use a <code>scripts-dev</code> section, which triggers
scripts only in dev mode.</li>
<li><a
href="https://github.com/jakoch/phantomjs-installer">PhantomJS-Installer</a>
- A Composer Package which installs the PhantomJS binary (Linux,
Windows, Mac) into /bin of your project.</li>
<li><a
href="https://github.com/0xch/composer-vendor-cleanup">Composer-Vendor-Cleanup</a>
- A script which removes whitelisted unnecessary files (like tests/docs
etc.) from the vendor directory.</li>
<li><a
href="https://github.com/villfa/composer-substitution-plugin">Composer-Substitution-Plugin</a>
- A Composer plugin replacing placeholders in the <code>scripts</code>
section by dynamic values.</li>
</ul>
<h2 id="services">Services</h2>
<ul>
<li><a
href="https://github.com/security/advanced-security">Dependabot</a> -
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.</li>
</ul>
<hr />
<h2 id="tutorials">Tutorials</h2>
<ul>
<li><a
href="https://www.digitalocean.com/community/tutorials/a-beginners-guide-to-composer">A
beginners guide to Composer</a></li>
<li><a href="https://www.dev-metal.com/composer-tutorial/">A short &amp;
simple Composer tutorial</a></li>
<li><a
href="https://code.tutsplus.com/easy-package-management-with-composer--net-25530t">Easy
package management with Composer</a></li>
<li><a href="https://www.sitepoint.com/re-introducing-composer/">PHP
Dependency Management with Composer</a></li>
<li><a href="https://daylerees.com/composer-primer/">Composer
Primer</a></li>
<li><a href="https://alanastorm.com/php_composer_magento_tutorial/">PHP
Composer Magento Tutorial by Alan Storm</a></li>
<li><a
href="https://www.packtpub.com/en-us/learning/how-to-tutorials/creating-and-using-composer-packages/">Creating
and Using Composer Packages</a></li>
</ul>
<h2 id="blogs">Blogs</h2>
<ul>
<li><a href="https://seld.be/">Jordi Boggiano (seldaek)</a></li>
<li><a href="https://naderman.de/">Nils Adermann (naderman)</a></li>
<li><a
href="https://igor.io/2013/02/07/composer-stability-flags.html">Composer
Stability Flags</a></li>
<li><a
href="https://igor.io/2013/01/07/composer-versioning.html">Composer
Versioning</a></li>
<li><a
href="https://medium.com/@yanick.witschi/the-long-journey-of-making-phps-composer-memory-efficient-and-fast-63d12944aaa8">The
long journey of making PHPs Composer memory-efficient and fast
(toflar)</a></li>
</ul>
<h2 id="videos">Videos</h2>
<ul>
<li><a href="https://www.youtube.com/watch?v=eQkFjMfyqFY">Composer Best
Practices 2018 - Nils Adermann @ scotphp18</a></li>
<li><a href="https://www.youtube.com/watch?v=EpvihKaQyLs">Composer Best
Practices 2018 - Nils Adermann @ phpday 2018</a></li>
<li><a href="https://www.youtube.com/watch?v=QL6w8H2eHQE">Managing
dependencies is more than running “composer update” - Nils Adermann @
phpsrb17</a></li>
<li><a href="https://www.youtube.com/watch?v=uNlYpSTiAcA">Composer Best
Practices — Jordi Boggiano @ phptek 2015</a></li>
<li><a href="https://symfonycasts.com/screencast/composer">Wonderful
World of Composer</a></li>
<li><a href="https://www.youtube.com/watch?v=Ejr4Xqs9V2I">PHP Composer
Quickstart</a></li>
<li><a href="https://www.youtube.com/watch?v=C2jfLM-Egvg">How Composer
helped shape the new way of writing PHP - Nils Adermann @ Drupal Camp
Frankfurt</a></li>
<li><a href="https://www.youtube.com/watch?v=P4Qnp90TG0g">Composer
Package Management - Nils Adermann @ T3CON12DE</a></li>
<li><a href="https://www.youtube.com/watch?v=BAgwWhRo82w">Composer 2 -
Jordi Boggiano @ Symfony UK usergroup 2020</a></li>
<li><a href="https://www.youtube.com/watch?v=pjvbn6TBZqM">Lessons
learned building the Composer internals - Jordi Boggiano @ CODEiD Odessa
PHP Conference 2017</a></li>
</ul>
<h2 id="slides">Slides</h2>
<ul>
<li>Slides by Nils Adermann
<ul>
<li>Source: https://naderman.de/slippy/src/</li>
<li><a
href="https://naderman.de/slippy/src/?file=2014-04-13-PHP-Reinvented.html">PHP
Reinvented - How Composer helped shape the new way of writing
PHP</a></li>
<li><a
href="https://naderman.de/slippy/src/?file=2015-02-03-Composer-Update.html">Composer
Update</a></li>
<li><a
href="https://naderman.de/slippy/src/?file=2015-02-01-Dependency-Management-with-Composer-PHP-Reinvented.html">Dependency
Management with Composer PHP Reinvented</a></li>
<li><a
href="https://naderman.de/slippy/slides/2017-06-30-DPC-Dependency-Management-is-more-than-composer-update.pdf">Managing
dependencies is more than running “composer update”</a></li>
<li><a
href="https://naderman.de/slippy/slides/2017-07-13-T3DD17-Composer-Best-Practices.pdf">Composer
Best Practices @ T3DD17</a></li>
<li><a
href="https://naderman.de/slippy/slides/2017-07-14-T3DD17-Gain-control-over-your-dependencies-with-private-packagist.pdf">Gain
Control over your Dependencies with Private Packagist</a></li>
<li><a
href="https://naderman.de/slippy/slides/2018-01-26-composer-lock-demystified.pdf">Composer.lock
demystified</a></li>
<li><a
href="https://naderman.de/slippy/slides/2018-06-08-Contao-Konferenz-2018-Composer-In-Depth.pdf">Compoer
In-Depth @ Contao Konferenz 2018</a></li>
<li><a
href="https://naderman.de/slippy/slides/2018-06-27-Composer-Best-Practices-2018.pdf">Composer
Best Practices 2018</a></li>
<li><a
href="https://naderman.de/slippy/slides/2018-06-18-Developing-and-Deploying-Magento-with-Composer-Best-Practices.pdf">Developing
and Deploying Magento with Composer Best Practices</a></li>
<li><a
href="https://naderman.de/slippy/slides/2018-12-07-SymfonCon-Composer-Platform-Config.pdf">Composer
Platform Config (check-platform-reqs) @ SymfonCon 2018</a></li>
</ul></li>
<li>Slides by Jordi Boggiano
<ul>
<li>Source: http://slides.seld.be/</li>
<li><a
href="http://slides.seld.be/?file=2013-10-04+Dependency+Management+with+Composer.html">Dependency
Management with Composer (2013)</a></li>
<li><a
href="http://slides.seld.be/?file=2013-10-05+In-Depth+with+Composer.html">In
Depth with Composer (2013)</a></li>
<li><a
href="http://slides.seld.be/?file=2015-07-25+Composer+Best+Practices.html">Composer
Best Practices (2015)</a></li>
<li><a
href="http://slides.seld.be/?file=2015-06-30+Introduction+to+Composer.html">Introduction
to Composer (2015)</a></li>
<li><a
href="http://slides.seld.be/?file=2016-07-22+Composer+in+2016.html">Composer
in 2016</a></li>
<li><a
href="http://slides.seld.be/?file=2018-04-20+Lessons+Learned+Building+the+Composer+Internals.html">Lessons
Learned Building the Composer Internals (2018)</a></li>
</ul></li>
</ul>
<hr />
<h2 id="packagist">Packagist</h2>
<p><a href="https://packagist.org">Packagist</a> is the PHP Package
Repository.</p>
<h3 id="setup-a-packagist-mirror">Setup a Packagist Mirror</h3>
<ul>
<li><a href="https://github.com/Webysther/packagist-mirror">Packagist
Mirror</a> - This script helps to setup a packagist mirror. It is the
maintained and stable version of <a
href="https://github.com/hirak/packagist-crawler">Packagist
Crawler</a>.</li>
<li><a
href="https://github.com/Webysther/packagist-mirror-docker">Docker
Image</a> - This Docker image helps to create a customized packagist
mirror.</li>
<li><a href="https://github.com/IndraGunawan/packagist-mirror">Packagist
Mirror from Indonesia</a> - Another implementation for creating a
packagist mirror.</li>
</ul>
<h3 id="packagist-mirrors">Packagist Mirrors</h3>
<p>About metadata mirrors: https://packagist.org/mirrors</p>
<ul>
<li>Global, CloudFlare - <a
href="https://packagist.pages.dev/">packagist.pages.dev</a></li>
<li>North America
<ul>
<li>Canada - <a href="https://packagist.org">packagist.org</a> <em>Main
mirror</em></li>
</ul></li>
<li>Africa
<ul>
<li>South Africa - <a
href="https://packagist.co.za">packagist.co.za</a></li>
</ul></li>
<li>Asia
<ul>
<li>China - <a href="https://pkg.xyz/">https://pkg.xyz/</a>, <a
href="https://developer.aliyun.com/composer">https://developer.aliyun.com/composer</a></li>
<li>India - <a
href="https://packagist.in/">https://packagist.in/</a></li>
<li>Japan - <a href="https://packagist.jp">packagist.jp</a></li>
<li>Korea - <a
href="https://packagist.kr/">https://packagist.kr/</a></li>
</ul></li>
</ul>
<h2 id="composer-repositories">Composer Repositories</h2>
<h3 id="registry-manager">Registry Manager</h3>
<ul>
<li>https://github.com/slince/composer-registry-manager - The plugin
helps you to switch between different composer repositories.</li>
</ul>
<h3 id="private-repositories">Private repositories</h3>
<ul>
<li><a href="https://github.com/fxpio/tug">fxpio/tug</a> - Enables you
to host a private Composer registry on AWS Serverless serving your
private PHP packages, which are hosted on GitHub or GitLab
services.</li>
</ul>
<h3 id="private-packagist">Private Packagist</h3>
<ul>
<li><a href="https://packagist.com">Private Packagist Cloud</a> - A
Composer Repository as a Service for private packages and to mirror
packages from other repositories.</li>
<li><a href="https://packagist.com">Private Packagist Enterprise</a> -
On-premise self-hosted version of Private Packagist.</li>
<li><a
href="https://github.com/packagist/private-packagist-api-client">Private
Packagist API Client</a> - A PHP client for the Private Packagist API.
The client handles authentication, signature generation and access to
all endpoints.</li>
</ul>
<h3 id="repman">Repman</h3>
<ul>
<li><a href="https://repman.io">repman.io</a> &amp; <a
href="https://github.com/repman-io/repman">repman-io/repman</a> - A
Private PHP Package Repository Manager &amp; Packagist Proxy.</li>
<li><a
href="https://github.com/repman-io/composer-plugin">repman-io/composer-plugin</a>
- This plugin enables downloading via Repman by adding a distribution
mirror URL for all your dependencies (without need to update the
<code>composer.lock</code> file).</li>
</ul>
<h2 id="packagist-compatible-repositories">Packagist-compatible
repositories</h2>
<ul>
<li><a href="https://wpackagist.org/">WordPress Packagist</a> - Mirrors
the WordPress plugin and theme directories as a Composer
repository.</li>
<li><a href="https://asset-packagist.org/">Asset Packagist</a> - Enables
installation of Bower and NPM packages as native Composer packages.</li>
<li><a href="https://packages.firegento.com/">Firegento</a> - A Composer
Repository providing Magento Modules.</li>
<li><a href="https://www.drupal.org/node/2822344">Drupal Packagist</a> -
Composer repositories for Drupal 7 and 8 core, modules, and themes.</li>
<li><a href="https://github.com/lukaszlach/satis-server">Satis
Server</a> - 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.</li>
<li><a href="https://cloudsmith.com/">Cloudsmith</a> - A fully managed
package management SaaS with PHP/Composer support (and many
others).</li>
<li><a href="https://github.com/Rarst/release-belt">Release Belt</a> -
Selfhosted Composer repository implementation to quickly integrate ZIP
files of third party nonComposer releases.</li>
<li><a href="https://github.com/vtsykun/packeton">Packeton</a> - Private
self-hosted Composer repository for vendors. Fork of packagist with
adding support for authorization, customer users, groups, webhooks.</li>
<li><a href="https://www.repoflow.io">RepoFlow</a> - 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.</li>
</ul>
<h3 id="satis">Satis</h3>
<ul>
<li><a
href="https://github.com/wemakecustom/gitlab-composer">GitLab-Composer</a>
- This is a branch/tag indexer for GitLab repositories.</li>
<li><a href="https://github.com/project-satisfy/satisfy">Satisfy</a> -
Satis composer repository manager with a Web UI.</li>
<li><a href="https://github.com/realshadow/satis-control-panel">Satis
Control Panel</a> - A simple web UI for managing your Satis Repository
with optional CI integration.</li>
<li><a href="https://github.com/benschw/satis-go">Satis Go</a> - A web
server for managing Satis configuration and hosting the generated
Composer repository.</li>
</ul>
<h3 id="toran-proxy">Toran Proxy</h3>
<ul>
<li><a href="https://toranproxy.com/">ToranProxy</a> (deprecated) - In
addition to providing a composer repository ToranProxy acts as a proxy
server for Packagist and GitHub.</li>
</ul>
<hr />
<h2 id="copyright">Copyright</h2>
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
src="https://licensebuttons.net/p/zero/1.0/88x31.png"
alt="CC0" /></a></p>
<p>To the extent possible under law, <a
href="https://github.com/jakoch">Jens A. Koch</a> has waived all
copyright and related or neighboring rights to this work.</p>
<p><a href="https://github.com/jakoch/awesome-composer">composer.md
Github</a></p>