catchadmin/plugin-installer
Installer for CatchAdmin plugins that simplifies fetching, installing, and registering plugin packages in your Laravel admin application. It handles routine setup steps so you can add new modules and features without manual configuration or file copying.
composer require drops code into an app-owned directory (e.g. catch/ modules) instead of vendor/. That is the enabling decision for "do we let third parties extend our product, and how do their extensions get installed?"vendor/, they're editable, independently versioned, and shippable as separate artifacts. This supports deciding between (a) a curated marketplace, (b) private partner distribution, or (c) per-client forks — the installer makes (a) and (b) mechanically possible.vendor/ changes your support envelope: you now own compatibility guarantees between core versions and third-party modules, plus a deprecation policy.Adopt it when all of these hold:
vendor/.Look elsewhere when:
composer/installers or oomphinc/composer-installers-extender are the established, widely-adopted route.To executives: This is a small piece of plumbing that determines whether partners and customers can extend our product without us patching core for every request. It's the precondition for an extensions catalog, partner-delivered customizations, and lower-cost per-client deployments — the mechanics of an ecosystem play, not a feature in itself. The caveat: the package is a tiny, unproven, single-maintainer dependency that executes at install time, so we should treat it as internal infrastructure — audit it, pin it, and be prepared to own or replace it. The strategic value is in the convention, not the code; the convention is ours to define either way.
To engineering: It's a Composer plugin registering a custom package type that remaps install paths so modules land in the app tree rather than vendor/. Small surface area, easy to read and to reimplement in-house if we'd rather not carry a third-party dependency with no adoption. Action items: security-review the install-time hooks, lock the version, and document the module directory contract (naming, autoload, registration) so third parties build against a stable spec rather than against this package's internals.
How can I help you explore Laravel packages today?