el-schneider/statamic-choices
Statamic Choices adds a flexible Choices fieldtype for defining selectable options with labels and values, making it easy to build configurable select, radio, and checkbox-style fields in the Statamic control panel.
Architecture fit. statamic-choices is a Statamic addon distributed as a Composer package, following the conventional Laravel/Statamic addon shape: a service provider, a Control Panel (CP) UI, and a packaged Vite build. The v0.1.1 change — auto-publishing the Vite build to public/vendor/statamic-choices/build after Composer install — is the standard mechanism Statamic addons use to avoid Vite manifest errors in the CP. Architecturally this is low-friction and idiomatic; it does not introduce middleware, queues, database schema, or runtime services into the host application. Fit is good for teams already standardized on Statamic 5/6.
Integration feasibility. Installation is a single composer require, with asset publishing now automated. That removes the most common first-install failure mode (Vite manifest not found) and reduces onboarding to configuration rather than plumbing. Verification is claimed against Statamic v5 and v6 sandboxes with a passing CI run for the release commit. However, the surrounding evidence base is thin: this is the only release note available and there is no prior assessment, so feasibility is asserted by the maintainer rather than independently validated against our stack.
Technical risk. The dominant risk is maturity, not architecture. A 0.1.x version signals pre-stable APIs: fieldtype configuration, blueprint schema, and view components may change without a major-version bump. Secondary risks:
composer install --no-scripts, --no-dev with stripped scripts, or immutable/read-only release artifacts will silently regress to the manifest error.Key questions for the maintainer / evaluation team.
composer.json constraints — PHP, Laravel, and Statamic versions? Is Statamic 4 or earlier supported?0.x breaking changes?Stack fit. Appropriate for Laravel applications running Statamic 5 or 6 with a standard Composer-based deploy. It should be treated as a CP-extension dependency, not an application-layer library — it should not become a load-bearing part of content modeling without a fallback plan.
Migration path. Greenfield: composer require, confirm the publish hook fires, clear Statamic and application caches, then register the fieldtype in the relevant blueprints. Brownfield: no database migrations are implied; the change surface is configuration and published static assets. If the addon is replacing a hand-rolled choices fieldtype, plan a content-model migration and a blueprint diff review rather than a drop-in swap.
Compatibility. Verified by the maintainer against Statamic v5 and v6 sandboxes. Before adoption, confirm compatibility against the exact pinned versions in our composer.lock — especially the Laravel minor and PHP runtime — since sandbox verification is not the same as a full application test.
Sequencing.
0.x in production.public/vendor/statamic-choices/build after a clean composer install.--no-scripts or read-only release directories; add an explicit vendor:publish/asset-publish step and include the build directory in the release artifact.Maintenance. Low code footprint and no runtime services means low ongoing operational cost. The real maintenance cost is upgrade surveillance: a 0.x package can ship breaking changes in patch releases, so someone must watch the release feed and re-verify after each bump. Budget a periodic compatibility check against Statamic minor upgrades.
Support. Presumed single-maintainer or small-team open source with GitHub-based support and no SLA. That is acceptable for a CP convenience feature and unacceptable for anything content-critical. Record it in the dependency register with an owner and a documented fallback (remove the addon, revert to native Statamic fieldtypes).
Scaling. Negligible. Publishing static assets is a build-time concern; there is no query, queue, or request-path overhead beyond normal service-provider boot. Asset size and CDN behavior are the only scale-adjacent considerations, and both are trivial at typical CP scale.
Failure modes.
composer install, but still reachable via --no-scripts, skipped publish steps, or a missing/incorrect public/vendor path.0.x upgrade — configuration schema changes may render existing blueprints invalid; stage upgrades before production.Ramp-up. Low for developers already fluent in Statamic addon conventions — roughly hours to first use. The TPM-facing ramp-up is process, not code: establishing the version pin, the deploy-script adjustment, and the upgrade-watch owner. Recommend a time-boxed pilot (one non-critical blueprint, one sprint) before broader adoption, and a go/no-go review once the addon reaches 1.0 or demonstrates a stable API across several releases.
How can I help you explore Laravel packages today?