salt/core
Core package for Salt, providing shared foundations and utilities for Laravel/PHP applications. Use it as the base layer for Salt-powered projects, with Composer-ready integration and a lightweight, framework-friendly structure.
salt/core remains a useful reference case study for the "shared core package" pattern — one package holding domain logic, Blade/view templates, and UI components consumed by several downstream apps. It informs the shape of an internal platform package, not the decision to depend on one.composer.json" policy — stars, dependents, release recency, license clarity, test evidence, and versioning discipline.routeGroup on MenuItem) but ships as a patch. That is a minor-level change under SemVer. It is a small but concrete data point for the policy question "can we let this package float on ^1.1?" — the answer here is no; additions land in patch releases, so version constraints are not a safety mechanism with this maintainer.Adopt or evaluate only under narrow conditions:
Look elsewhere — or build — in every other case, specifically when you need:
NOASSERTION remains unchanged as of 1.1.2. Commercial reuse requires legal review before a single line is copied; that alone kills most adoption paths.composer update on a ^1.1 constraint can change the shape of objects our templates consume. We would need to pin exact versions and read every diff.The default answer for greenfield work is a maintained starter kit (Jetstream, Filament, an Inertia/Laravel skeleton) plus a thin in-house core we control.
For executives (one paragraph): We re-reviewed salt/core, an open-source Laravel package that bundles shared logic and templates for a family of web applications, after its 1.1.2 release. The release is one line: a new attribute on a menu-item class, added for the maintainer's own downstream app. It changes nothing about the fundamentals — still no external users, still no clear license, still no tests, docs, or support commitment — so it is still not a candidate for adoption. The one new signal is diagnostic rather than reassuring: a feature was shipped as a patch release, so we could not safely rely on version numbers to gate upgrades. The cost of a dependency is not the install; it is the multi-year tail of upgrades and security patches. Our recommendation is unchanged: spend a short, bounded amount of engineering time reading it as a design reference for a foundation layer we build and control, and formally retire it if it appears anywhere in our existing dependency tree.
For engineering (the ask): Treat it as literature, not a library. Timebox a review to a few hours; extract the package's decomposition — what it puts in templates versus components versus domain services — and discard the implementation. Do not vendor the code until legal clears the NOASSERTION status. If we discover a live dependency in one of our apps, open a remediation ticket immediately, treat the fix as fork-and-own, and pin an exact version rather than a caret range. Note that 1.1.2's MenuItem::routeGroup is an append-only public API change, so it is low-risk to read and a fair cue for what "maintenance" looks like here: one attribute, no tests, no migration note.
What would change this recommendation: a named and responsive maintainer, an OSI-approved license, a release within the last twelve months that explicitly targets the current Laravel major and ships with a visible test suite and CI badge, conformance to SemVer, and at least a handful of independent dependents. 1.1.2 satisfies at most the "a release exists" fragment of one of those five, and does so without evidence of framework currency or test coverage. The answer stays no.
How can I help you explore Laravel packages today?