For Composer

The extdir repository

A Composer v2 repository for the 135 indexed extensions that are not on Packagist. Anything Packagist already carries is left out, so extdir stays out of your dependency resolution where it adds nothing.

Using it

composer config repositories.extdir composer https://extdir.com/repo
composer require vendor/plugin-name

Composer appends /packages.json itself, so the address above has no filename on it.

What it serves, exactly

Metadata only. Every dist points at the maintainer's release archive or GitHub's zipball for the tag, so downloads come from the source. extdir stores no code. Read it at packages.json, or one package at a time at /repo/p2/vendor/name.json.

Versions come from git tags. Where composer.json carries a stale hardcoded version, the tag wins, which is the rule Packagist applies.

After installing

bin/console plugin:refresh
bin/console plugin:install --activate YourPluginName

The technical name is the class in extra.shopware-plugin-class, not the package name. Every extension page shows it under Plugin name.

No lock-in

Every extension page also shows how to point Composer straight at the source repository, with extdir out of the path. This exists because one repositories entry beats one per extension. The platform is open source.