mxms/checklist
mxms/checklist is a Laravel package for building and managing checklists and their items. It offers a simple, model-friendly way to add tasks, mark them complete, and track progress. Use it to organize to-do lists, onboarding steps, or repeatable workflows.
Architecture fit
Field subclass, a service provider for asset registration, and Vue components for the index/detail/form views. It has no models, migrations, routes, policies, or jobs.text/json column on the host model holding a serialized array of items plus checked state. There is no normalized schema, no foreign keys, no per-item queryability, and no server-side validation of the payload shape.Integration feasibility
gbrits/laravel-nova-checklist-field) and the distribution name (mxms/checklist) do not match, which usually signals an unverified/renamed Packagist entry. Confirm the license, the actual composer package name, tagged releases, and whether version constraints exist at all.e2consult/novachecklists created solely to patch Nova 4.0 support. That means upstream is likely dormant, and the fork's raison d'être — Nova 4 compatibility — is itself a moving target.Technical risk
Key questions
v-html)?KeyValue/BooleanGroup fields, or a 1–2 day in-house field — that remove the dependency entirely?Stack fit
Migration path
json/text column, no data migration, no backfill. That is the package's main genuine advantage.app/Nova/Fields (or a first-party internal package) with attribution, add a Pest/PHPUnit test around the serialization, and drop the Composer dependency. This converts a 2-star supply-chain risk into ~150 lines of owned code and removes the Nova-5-breaks-and-nobody-fixes-it scenario.composer.lock, and mirror the package source into our repo for reference so a future maintainer can diff.Compatibility
Cast (or accessor/mutator) on the model so the JSON column has one canonical PHP shape and a single place to add validation, rather than trusting the field's round-trip.Sequencing
Maintenance
Support
Scaling
checklist_items table with a proper relation. Design the JSON shape now so that migration is mechanical.Failure modes
Ramp-up
How can I help you explore Laravel packages today?