basekit-laravel/basekit-laravel-slugs
Generate clean, unique, SEO-friendly slugs for your Laravel models with ease. BaseKit Slugs handles transliteration, duplicate prevention, and custom separators, integrating seamlessly through Eloquent traits and model events. Lightweight, configurable, and quick to install.
basekit-* package signals an intended internal standard. Adopting it is a governance decision (one slug behavior across services, one place to patch transliteration bugs) more than a feature decision.Consider it when:
basekit-* family — consistency with siblings outweighs feature-by-feature comparison.Look elsewhere (or build in-house) when:
cviebrock/eloquent-sluggable and spatie/laravel-sluggable have years of production use, large install bases, and documented answers to hard questions (transliteration sets, slug history tables, 301 redirects on change). A 1.0.0 with one commit has none of that.Adoption gates before production: confirm the maintainer/backing, confirm the trait's behavior on update (does it regenerate, and does that break live links?), confirm a backfill path for existing rows, confirm collision strategy (suffix vs. fail), and pin the version. Treat this as a low-risk pilot on a non-critical model until it clears those gates.
For executives: This is a small, narrowly scoped Laravel library that handles how URLs are generated from content titles. The strategic value is standardization — one vetted implementation of slug logic instead of a slightly different version in every feature, which is how you end up with broken links and duplicate pages that hurt SEO and support tickets. Cost of adoption is low; cost of getting it wrong is also low, because it is swappable. Recommendation: approve a scoped pilot, not a mandate. Note honestly that the package is brand new (v1.0.0) with a single maintainer surface and no production track record, so we are buying optionality, not de-risking today.
For engineering: A 1.0.0 Laravel package for model slug generation, released 2026-10-03 as an initial release. It gives us a semver-stable API and, if it mirrors the basekit-* conventions, a predictable trait-based integration. Before we commit: (1) evaluate it head-to-head against spatie/laravel-sluggable and cviebrock/eloquent-sluggable on the three things that actually bite — transliteration quality, slug immutability on update, and uniqueness under soft deletes and concurrency; (2) check whether slug history/redirects are in scope, because retrofitting them later is a migration, not a config change; (3) define the backfill for existing rows. Timebox the spike to a day; the decision is reversible but the data migration is not.
One-line ask: fund a one-day spike plus an ADR, and hold the standard until the pilot clears the gates above.
How can I help you explore Laravel packages today?