Product Decisions This Supports
- Accelerating Package Development: Reduces manual setup time for Laravel package creators, enabling faster iteration and prototyping.
- Standardizing Package Structure: Ensures consistency in package scaffolding (e.g., directories, files, and configurations), improving maintainability and onboarding for contributors.
- Developer Tooling Roadmap: Justifies investment in CLI-driven workflows for internal teams building reusable Laravel components (e.g., auth modules, payment gateways).
- Build vs. Buy Decision: Avoids reinventing scaffolding logic, saving engineering time compared to custom scripts or frameworks like Laravel’s
make:package (if unavailable).
- Use Cases:
- Kickstarting new open-source Laravel packages.
- Bootstrapping internal company packages (e.g.,
company/auth, company/api-clients).
- Onboarding junior developers to package development best practices.
When to Consider This Package
-
Adopt if:
- Your team frequently builds Laravel packages and needs a repeatable, opinionated scaffold (e.g., 3+ packages/year).
- You prioritize developer velocity over customization (e.g., no need for bespoke directory structures).
- Your packages follow standard Laravel conventions (e.g., Service Providers, Facades, Console commands).
- You lack a dedicated internal package boilerplate or use ad-hoc scripts (e.g.,
laravel-new templates).
-
Look Elsewhere if:
- Your packages require highly customized structures (e.g., monorepo setups, non-Laravel integrations).
- You need advanced features like multi-package scaffolding, GitHub Actions integration, or CI/CD hooks (consider Laravel Shift or Orchid).
- Your team prefers visual tools (e.g., Laravel Jetstream, Statamic) over CLI workflows.
- The package’s maturity is a concern (low stars, no dependents; evaluate risk vs. reward).
How to Pitch It (Stakeholders)
For Executives:
"This package cuts the time to create a new Laravel package from 30+ minutes of manual setup to under 2 minutes with a single CLI command. For a team shipping 5+ packages/year, that’s ~25 hours saved annually—time we can reinvest in core features or innovation. It’s like GitHub Copilot for package scaffolding: standardized, fast, and low-risk (MIT-licensed). Let’s pilot it for our next internal package to measure the impact."
For Engineering:
*"Workbench is a lightweight, Laravel-native way to scaffold packages with zero config overhead. It handles:
- Standard directories (
src/, config/, tests/).
- Essential files (Service Provider, Facade stubs, CHANGELOG.md).
- Vendor/package naming conventions.
Pros:
✅ Zero learning curve—just php artisan workbench vendor/package.
✅ MIT license—no legal blockers.
✅ Extensible—we can tweak the published config (config/workbench.php) for our needs.
Cons:
⚠️ Limited customization (but we can fork it if needed).
⚠️ New package (4 stars, but the code is simple to audit).
Proposal: Use it for our next package (company/payments) as a proof of concept. If it saves us 10+ hours, we can adopt it company-wide or contribute back to the repo."*
For Developers:
*"Tired of manually creating composer.json, README.md, and src/ folders for every new package? This CLI tool does it in one command and follows Laravel best practices. Example:
php artisan workbench larastarscn/test
It even auto-fills your name/email in the config. Try it on your next side project—if you like it, we can push it into our internal tooling."*