mrshanebarron/skeleton
A Laravel package skeleton offering a clean starting point for building reusable packages, with standard structure, service provider setup, and sensible defaults for testing, configuration, and distribution.
Build vs. buy for internal package boilerplate. This package is a scaffold, not a runtime dependency — it answers "do we start every reusable Laravel package from a blank directory or from an opinionated template?" That is a developer-productivity decision, not a customer-facing feature decision, and should be evaluated against the cost of your team writing its own starter kit (typically 1–2 engineer-days plus recurring drift).
Standardising package conventions across the org. The concrete conventions on offer — PSR-4 autoloading, auto-discovered service provider, publishable config, publish tags, a test stub — are the things that make internal packages predictable to consume. If your apps have three different ways of registering package config, this package is the argument for picking one.
Roadmap input for platform / DevEx work. Adoption here is a signal to sequence an internal "package starter kit" roadmap item: documented conventions, a CI check for config parity, and an upgrade runbook. It does not justify a standalone platform investment on its own.
Extraction use case. Supports the recurring decision "should this domain logic (billing, notifications, entitlements) live in the monolith or move to a shared package?" by lowering the marginal cost of the 'extract' option.
Positioning caveat that affects product framing. The supplied material describes this both as a "Laravel UI component package" and as a "lightweight Laravel package scaffold." Those are different products with different buyers. Until that ambiguity is resolved, treat it strictly as scaffolding and do not plan any UI/component-library roadmap on top of it.
Adopt when:
Look elsewhere when:
Treat the v1.0.1 release as a data point, not a defect. The only shipped change is a config filename rename to an sb- prefix — a collision-avoidance fix that a stricter release process would have caught before 1.0.0. The convention is right; the timing tells you this is early-stabilisation. Plan to read changelogs rather than auto-bump.
To executives (one paragraph): We're evaluating a free, open-source Laravel starting template that removes roughly a day of setup work each time we extract shared logic into a reusable package. It is not a customer feature and adds no runtime dependency or infrastructure cost — our engineers copy the structure into our own repositories and own it from there. The strategic value is consistency: one agreed way to build and consume internal packages, which reduces onboarding time and upgrade surprises. Cost is near zero; the main risk is that the template is early-stage and unmaintained, which we mitigate by copying rather than depending on it.
To engineering (the substance):
composer require long-term. Fork or copy, pin the structure, and own it. That bounds supply-chain risk to a one-time read of the code.mergeConfigFrom() in register(), publish tags per artefact, and a vendor-prefixed config filename. Adopt those conventions even if you reject the repo.config:cache. That converts the package's one realistic failure mode — silent config fallback on upgrade, plus stale config caches and Octane/queue workers holding pre-deploy values — from an incident into a failed build.How can I help you explore Laravel packages today?