Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Composer Bin Plugin Laravel Package

bamarni/composer-bin-plugin

Composer plugin to isolate “bin” tool dependencies (PHPStan, Rector, PHPUnit, etc.) in separate Composer environments to avoid version conflicts and dependency pollution. Provides config for bin links, target directory, and command forwarding.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Resolves dependency conflicts between development tools (e.g., PHPStan, Rector, PHP-CS-Fixer) that would otherwise clash due to Composer's flattened dependency resolution, enabling teams to safely adopt multiple CLI tools without manual workarounds.
  • Eliminates the need to build custom dependency isolation logic (build vs. buy), leveraging a battle-tested open-source solution with MIT licensing and active maintenance.
  • Critical for roadmap stability when introducing new dev tools; prevents future conflicts that could derail feature development or CI/CD pipelines.
  • Ideal for projects with complex tooling stacks where isolated dependency management is required for non-autoloading CLI utilities (e.g., linters, formatters, static analyzers).

When to Consider This Package

  • Adopt when:
    • Multiple dev tools require conflicting versions of shared dependencies (e.g., nikic/php-parser for PHPStan vs. Rector).
    • Tools are purely CLI-based and do not autoload project code (avoid for production dependencies).
    • Teams need to streamline CI/CD setup (e.g., GitHub Actions integration for isolated tool installations).
  • Look elsewhere if:
    • Tools are distributed as self-contained scoped PHARs (e.g., official PHPStan package) that avoid dependency conflicts by design.
    • The project has no dependency conflicts for dev tools, making the overhead unnecessary.
    • Working in a monorepo where shared dependency management is already handled via alternative solutions (e.g., composer-merge-plugin).

How to Pitch It (Stakeholders)

Executives: "This plugin eliminates costly dependency conflicts that cause CI failures and developer slowdowns. By isolating dev tool dependencies with minimal setup, it reduces debugging time, ensures reliable builds, and protects engineering productivity—delivering ROI through reduced technical debt and faster feature delivery."

Engineering: "It integrates seamlessly with Composer via composer require, automates dependency isolation for CLI tools without manual config, and works out-of-the-box with CI systems like GitHub Actions. With 500+ stars, regular updates, and no runtime overhead, it’s a low-risk solution for dependency conflicts that would otherwise require custom scripts or manual reconciliation."

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport