shopper/starter-kits
A community registry of Shopper starter kit scaffolds for Laravel storefronts. Install official Livewire, Vue, or React kits with one CLI command, then own and customize the code.
Architecture fit
shopper/starter-kits is not a runtime dependency. Since v1.1.0 it is a community-driven registry plus a manifest convention (shopper-kit.yaml) that the Shopper CLI (php artisan shopper:kit:install <package>) consumes to copy files, install dependencies, and run post-install commands. Nothing from this repo ships into production.
For a TPM, that shapes the entire evaluation:
Integration feasibility
vendor/, so there is no collision with existing packages. The same property removes any upstream patch channel.Technical risk
| Risk | Severity | TPM relevance | Mitigation |
|---|---|---|---|
| Registry concentration / bus factor | High | 17 stars, 0 dependents, single-maintainer release cadence; registry and official kits share one author. | Treat the installed kit as an internal fork from day one; name an owner and a review cadence. |
| No upstream patch path for installed code | High | "You own the code" means Shopper/Livewire security or breaking changes become silent, unbudgeted remediation work. | Budget a recurring upgrade line item; keep the scaffold diffable against upstream kit tags. |
| Shopper maturity and roadmap risk | High | Load characteristics and long-term direction are not publicly benchmarked; a stall strands the storefront. | Gate adoption on a spike with documented exit criteria. |
| Frontend skill gap (Livewire/Alpine or Inertia/Vue/React) | Medium | Ramp-up cost lands on delivery, not on the package. | Fund 3–5 dev-days of enablement before committing a date. |
| Version drift (Laravel, Livewire v3, Tailwind v4, Node toolchain) | Medium | Scaffolded assumptions break silently on later framework bumps. | Pin versions in the generated code; add a CI smoke test over core flows. |
| Install-time command execution | Medium | Manifest post-install steps run inside your app during setup. |
Review the manifest before first install; run only in CI or a controlled environment. |
| Commerce edge cases in the scaffold | Medium | Recent release history shows fixes for pricing multiplication (v1.0.2) and zone-availability/collection behavior (v1.0.1) — money and zone state need explicit verification. | Write acceptance tests for rounding, multi-currency, and unavailable-zone paths rather than trusting the scaffold. |
| Registry vs. kit conflation | Low | Stakeholders may apply repo-level signals to the storefront decision. | Separate the two in any procurement or security review. |
Key questions
Stack fit
The registry presupposes Laravel + Shopper. Within that, fit depends on the chosen kit:
Migration path
Compatibility
Sequencing
Maintenance
The maintenance story is the single most important thing to communicate upward: after installation, there is no upstream. "You own the code" is a benefit for velocity and a cost for lifecycle. Concretely, budget:
composer update.Support
Scaling
Failure modes
| Failure mode | Likely trigger | Detection | Response |
|---|---|---|---|
| Partial install | Post-install command fails or dependency resolution breaks mid-run | Install log; application fails to boot | Rebuild from a clean application rather than patching a half-installed tree |
| Silent version drift | Laravel or Livewire minor upgrade | CI smoke test on core flows | Re-apply fixes against the pinned baseline; re-run acceptance |
| Abandoned upstream | Maintainer inactivity | Release cadence monitoring | The installed code is already a fork; continue internally, no action beyond documentation |
| Money-math defect | Currency rounding or zone pricing edge case | Fixture tests on pricing helpers | Local fix; contribute upstream if the registry is to remain a convention |
| Payment edge cases | Failed/abandoned Stripe payments, webhook retries | Production incident | Kit provides the happy path; you own idempotency and reconciliation |
| Frontend skill gap | Team unfamiliar with Livewire/Alpine or Inertia/React | Velocity drop in first sprint | Absorb as enablement cost before committing dates |
Ramp-up
How can I help you explore Laravel packages today?