- What is orchestra/studio and what does it actually do?
- Orchestra Studio is a Laravel package that provides a focused development environment for building and managing Orchestra Platform extensions. It generates scaffolding such as composer manifests, service providers, routes, language files, orchestra.json, migrations, models, resource controllers, and admin views. It follows Orchestra Platform conventions and runs through Artisan-powered workflows. It is a development-time code generator, not a runtime dependency, so nothing it emits should be treated as a production capability.
- Does orchestra/studio work without Orchestra Platform installed?
- No. Studio emits code that references Orchestra's extension manager, providers, and ACL-backed menus, so on a plain Laravel app those references do not exist and you get a blank admin surface. This is the single most reported failure mode. The fit is binary: if Orchestra is already your admin layer, Studio compresses module cold-start cost; if it is not, there is no surface area to leverage.
- How do I install orchestra/studio, and should it be in require-dev?
- Install it strictly as a dev dependency with composer require --dev orchestra/studio:3.2.3, then publish the config and stubs. Verify the commands register with php artisan list | grep -i studio. Commit config/studio.php once so configuration drift shows up in code review, and never promote the package to require.
- Which Laravel and PHP versions does orchestra/studio support?
- Studio sits on Orchestra Platform, which sits on Laravel, so support is gated by that chain plus PHP with Composer 2. A single incompatible transitive constraint can block the whole toolchain with a confusing Composer resolution error. Pin the exact version you validated and prove it on your target version matrix rather than assuming it resolves. Treat upgrade regressions as your responsibility, since there is no upstream obligation to fix anything.
- Why is my generated extension's admin page blank or failing to load?
- Two causes dominate. First, the output was generated into a plain Laravel app where Orchestra's extension manager and menu registrations are absent, which produces an empty admin surface. Second, earlier stubs emitted non-standard namespace casing, which becomes a class-not-found autoload failure on case-sensitive filesystems such as Linux CI or Docker while never reproducing on a developer Mac. Verify /admin is reachable first, then lint and autoload-test on the target platform, not just locally.
- Can I customize the stubs that orchestra/studio generates?
- Yes. Publish the config and stubs once, then maintain a version-controlled resources/studio/stubs overlay directory that is greppable and diffable. Because generated code encodes naming, layout, namespace casing, and registration patterns, the stubs effectively become your internal convention SDK. Assign a named owner for stub changes so the conventions stay uniform across modules.
- Can I safely re-run the Studio generator over an existing extension?
- Not as a routine operation. Regeneration is not idempotent and overwrites files, so any run over an edited module destroys work. Treat the generator as a scratch-branch diffing tool where you regenerate, diff, and cherry-pick the useful parts. Once a module is hand-edited, it stops being generator-owned.
- Are the controllers generated by orchestra/studio secure by default?
- Do not assume so. Generated controllers frequently ship $guarded = [], omit authorization wiring despite Orchestra's ACL hooks, and pass unvalidated input straight into create(). Review everything emitted as if written by a contractor, because it was: the stub author. Add FormRequests, policies, and explicit fillable lists before the module reaches production.
- What are the alternatives to orchestra/studio?
- On mainstream Laravel without Orchestra, the honest comparison set is Filament, Laravel Nova, Laravel Blueprint, or plain php artisan make:* commands plus your own stub overlays. All of those have active maintenance, community answers, and hiring pools. Studio only wins when Orchestra Platform is already the admin layer and convention uniformity is a strategic asset.
- Is orchestra/studio actively maintained?
- Treat it as low-support: zero stars, zero dependents, a near-zero package score, and no advisories or community backstop. Assume there is no upstream obligation to fix breakage and no third-party answers to lean on. Name an internal owner for stubs, version pins, and an upgrade regression suite, and document the fallback path of artisan make:* plus stub overlays so the team is never blocked.