martyfriedel/les-mills-class-types
A Laravel package that provides a ready-made list of Les Mills class types—such as BODYPUMP, BODYCOMBAT, RPM, and more—as an enum or config for easy use in gym timetables, booking systems, and class management features. Avoid hardcoding class names and keep your code consistent.
Architecture fit: This is not a general-purpose Laravel package; it is a narrow Statamic addon that extends the Bard editor with a toolbar button for wrapping selected text in a <span> with predefined Les Mills class names. It fits only if the product already runs Statamic with Bard and has a genuine editorial need to mark up fitness class types inline. In any other Laravel stack, or in Statamic without Bard, architectural fit is effectively zero.
Integration feasibility: Feasible for a Statamic site because installation should be Composer-based and scoped to a single editor feature. The real integration work is likely configuration of allowed classes, Bard fieldset/toolbar setup, front-end CSS, and output sanitization rules. The package’s value is avoiding a small custom addon build, but the scope is so narrow that in-house replacement may be cheaper than carrying an external dependency.
Technical risk: Risk is high relative to product criticality because adoption is minimal: 10 stars, 0 dependents, and a single-purpose maintainer footprint. The recent release date is a positive signal, but it does not offset limited ecosystem validation. Main risks are Statamic/Bard version coupling, hard-coded or opinionated Les Mills class lists, HTML sanitization stripping <span class>, accessibility semantics, and long-term maintainer continuity.
Key questions:
Stack fit: Use only where the stack is Laravel + Statamic + Bard. Treat it as an editorial convenience layer, not as core content infrastructure. Confirm front-end styling and content governance before adopting, because the package governs editor markup but not the downstream design system.
Migration path: Start with a non-production Statamic environment. Install via Composer, enable/register the addon as required by the Statamic version, configure the allowed Les Mills class names, add the button to the relevant Bard toolbar, and validate rendered HTML through the site’s sanitizer and front-end pipeline. If existing content already uses spans or another markup convention, normalize content before rollout rather than mixing formats.
Compatibility: Build a small compatibility matrix covering Statamic major version, PHP version, Bard field configuration, and sanitizer behavior. Confirm the addon does not depend on private Statamic internals that change between minor releases. Validate both editor output and API/GraphQL or template rendering paths if content is consumed outside the CMS.
Sequencing:
Maintenance: Low runtime surface but nonzero dependency maintenance. The addon must be revalidated on Statamic and Bard upgrades. Because adoption is minimal, the team should assume it may need to own fixes, especially around editor toolbar APIs and sanitizer rules. Pin the version and monitor upstream releases.
Support: Expect community/individual-maintainer support rather than vendor SLA. Internal documentation should cover installation, class taxonomy, and troubleshooting. If the feature becomes editorially important, identify an internal owner or fork the repository.
Scaling: Runtime scaling impact is negligible; this is an editor-side feature. Operational scaling is editorial: a growing class list needs governance, naming conventions, and possibly localization. Hard-coded class lists become a content consistency risk as the taxonomy changes.
Failure modes: Common failure modes include the Bard button disappearing after a Statamic upgrade, generated spans being stripped or altered by sanitization, class names drifting from the design system, inaccessible or meaningless inline markup, and editor confusion when the button is unavailable. A failed package update should not block publishing if the toolbar degrades gracefully.
Ramp-up: Developer ramp-up is low to moderate: Composer install, Statamic addon registration, Bard fieldset changes, and sanitizer checks. Editor ramp-up is low if the button is obvious and class names are constrained. TPM effort should focus on validating fit, defining taxonomy governance, and deciding build-versus-buy early rather than treating the package as a strategic platform dependency.
How can I help you explore Laravel packages today?