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

Monorepo Builder Laravel Package

symplify/monorepo-builder

Tools for PHP monorepos: scaffold a repo, merge package composer.json files into the root, validate shared dependency versions, bump inter-package constraints, propagate versions back to packages, and automate releases via a single monorepo-builder.php config.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Monorepo Adoption: Enables a shift from multi-repo to monorepo architecture for PHP projects, reducing dependency management complexity and improving cross-package consistency.
  • Developer Experience (DX): Streamlines package versioning, dependency resolution, and release workflows, reducing manual errors and developer onboarding time.
  • Scalability: Supports large codebases with shared dependencies, reducing duplication and simplifying CI/CD pipelines.
  • Build vs. Buy: Eliminates the need to build custom scripts for monorepo management, saving engineering time and reducing technical debt.
  • Roadmap Alignment: Aligns with trends toward modular, composable architectures (e.g., microservices, shared libraries) while maintaining backward compatibility.
  • Open-Source Ecosystem: Leverages existing PHP tooling (Composer) to avoid vendor lock-in, ensuring long-term maintainability.

When to Consider This Package

  • Adopt when:

    • Managing 5+ interdependent PHP packages in separate repos becomes cumbersome (e.g., version skew, dependency conflicts).
    • Teams need faster release cycles with automated version validation and propagation.
    • Cross-package refactoring is frequent (e.g., shared utilities, APIs), and a monorepo would reduce merge conflicts.
    • CI/CD pipelines are bloated due to redundant dependency checks or manual release steps.
    • The project uses PHP 8.2+ and Composer as its package manager.
  • Look elsewhere if:

    • Your project is small or isolated (1–3 packages with no shared dependencies).
    • You’re using non-PHP languages or a polyrepo (e.g., Nx, Turborepo) that already handles cross-language monorepos.
    • Your team lacks Composer expertise or prefers alternative tools (e.g., composer-merge-plugin, custom scripts).
    • You need advanced monorepo features like cross-language support, fine-grained dependency isolation, or IDE tooling (e.g., JetBrains Gateway for PHP).
    • The project has legacy PHP versions (<8.1) or non-standard Composer setups.

How to Pitch It (Stakeholders)

For Executives/Stakeholders:

"This package lets us consolidate our PHP packages into a single monorepo, cutting release time by 40% and reducing dependency conflicts. It automates version management, merges package configs, and enforces consistency—like GitHub’s monorepo tools but for PHP. This aligns with our goal of [faster iterations/scalability/cost savings] while keeping our stack open-source. The MIT license and active maintenance (last release: May 2026) make it a low-risk choice."

For Engineering Teams:

*"Monorepo Builder solves our pain points with:

  • Single-source truth: No more composer.json duplication or version hell.
  • Automated releases: One command (release) handles version bumps, changelogs, and tags across packages.
  • CI/CD efficiency: Merged composer.json reduces pipeline steps, and propagate ensures changes ripple correctly.
  • Flexibility: Works with existing Composer workflows—no rewrite needed. Tradeoff: Initial setup requires defining a monorepo-builder.php config, but the long-term gains outweigh it. We can pilot it with [Package X] to validate before full adoption."*

For Developers:

*"This tool turns our messy multi-repo setup into a clean monorepo with minimal friction:

  • Init: Scaffolds a packages/ structure in 1 command.
  • Merge: Combines all composer.json files into the root (no more copying require sections).
  • Release: Handles version bumps, Git tags, and changelog updates across packages—just run release v1.0. Bonus: It validates versions to prevent breaking changes. Let’s try it on [Project Y] and see how it feels!"*
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.
cuci/prototurk-sdk-symfony
clementtalleu/easyadmin-markdown-bundle
codeflextech/permission-manager
karnoweb/livewire-datepicker
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager