- What is liberusoftware/module-liberu-platform-orchestration?
- It is the authoritative, provider-neutral implementation of Platform Orchestration for the Liberu platform, packaged as a Laravel module. It owns the domain behavior and data for discovering, registering, and bootstrapping modules, and it coordinates services and dependencies so platform components work together reliably. Any API, Filament, Livewire, React, Vue, or Nuxt packages are optional adapters that translate its public contracts for their own surfaces.
- How do I install this package in a Laravel application?
- Install it with Composer using composer require liberusoftware/module-liberu-platform-orchestration. Composer will resolve its dependencies, after which you should follow the README for any service provider registration, configuration publishing, or module manifest setup the host application needs. Because it is a platform module, it generally belongs in the same Laravel application that hosts your other Liberu modules rather than in a standalone skeleton.
- Which Laravel and PHP versions are supported?
- Support is defined by the version constraints in the package composer.json and matches the versions targeted by the wider Liberu platform. Always check that file or the Packagist release metadata before upgrading your host application. If you are pinned to an older Laravel release, compare it against the constraint before requiring the package.
- What does provider-neutral mean for this package?
- It means the orchestration package does not depend on a specific UI or transport layer such as Filament, Livewire, Inertia, REST, or Nuxt. The domain behavior and data live here, and optional adapter packages translate the public contracts for each surface. This keeps your business logic stable if you swap or add a front end later.
- How does this differ from nwidart/laravel-modules or similar module packages?
- Generic module packages mainly register and list modules inside a Laravel application. This package focuses on orchestration itself: discovering modules, ordering their registration and bootstrapping, and coordinating the services and dependencies between them. That makes it a coordination layer for the Liberu platform rather than a general-purpose module scaffold, so evaluate it against your platform architecture rather than as a direct drop-in replacement.
- Do I need the API, Filament, Livewire, React, Vue, or Nuxt packages to use it?
- No. Those packages are optional adapters that expose the orchestration contracts through a particular surface. A headless or API-only deployment can install just this package plus whichever adapter it actually needs. Installing every adapter adds dependencies you may never use.
- How do I control which modules are discovered and enabled?
- Discovery and registration behavior is driven by the package configuration and by the module metadata your modules declare. Publish the configuration if the README instructs you to, then register or exclude modules there rather than editing vendor code. Exact keys and manifest formats are documented in the package README, so treat that as the source of truth for your version.
- How should I test code that depends on platform orchestration?
- Resolve the package's public contracts from the Laravel container in your tests instead of instantiating internals directly, and use Orchestra Testbench or your application test suite to boot the module in isolation. Where discovery touches the filesystem, point it at fixture module directories so tests stay deterministic. If the orchestration owns persisted data, run those tests against an in-memory SQLite connection with migrations applied.
- What should I watch out for in production?
- Module discovery and bootstrapping run on every request path that boots the application, so avoid runtime filesystem scans where a cached registry is available and confirm your deploy process ships all module manifests. Keep boot order deterministic so dependency resolution does not vary between environments. Also verify behavior after composer install --no-dev and with configuration caching enabled, since those are common sources of orchestration surprises.
- Who maintains this package and how are releases handled?
- It is maintained by Liberu Software as part of the Liberu platform module family and is distributed through Composer and Packagist. Releases follow semantic versioning, so pin a constraint that matches your platform version and review the changelog before minor or major upgrades. Check the repository and Packagist page for the current supported branch and issue tracker.