marshmallow/nova-fields-help
A Laravel Nova package that adds configurable help text and tooltips to fields, making resource forms easier to understand. Define field-level hints and guidance without building custom UI, so users get clear context exactly where they need it.
Architecture fit. Unchanged. The package remains a single-purpose Laravel Nova custom field that renders help/instructional content inside Nova resources — one Field subclass plus a compiled Vue component, auto-discovered via a service provider. It does not touch the domain model, database schema, queues, or the public application surface, so it sits cleanly beside existing Nova resources. The only hard architectural dependency is Laravel Nova itself: a paid, licensed product with its own major-version cadence.
Integration feasibility. Consumption is still composer require plus adding the field to a resource's fields() array — no migration, no meaningful config surface, no runtime service. Release 3.1.0 adds declared Laravel 13 support, which means the package's framework constraint is current and will not itself block a Laravel upgrade. The gating factors are unchanged and, importantly, untouched by this release: (a) the team must own a Nova license, and (b) the package's Nova version constraint must match the installed Nova major. The release notes mention Laravel 13 only — they say nothing about Nova 4/5 coverage, so the actual integration blocker identified previously remains unverified.
Technical risk. Downgraded but not eliminated. The 3.1.0 release is a meaningful maintenance signal: an external contributor (@milan607) landed framework support, dependabot is active, and the project is tracking upstream framework releases rather than sitting idle. That moves the repo from "possibly abandoned" to "low-activity but live," and specifically de-risks the Laravel-13 side of any platform upgrade. What it does not change: adoption signals are still weak (4 stars, 0 dependents, single publishing org), so bus-factor-1 supply-chain exposure stands, and there is still no evidence in the notes about Nova major-version support. Blast radius remains the mitigator — a break renders help text incorrectly in the admin panel and cannot corrupt data or affect end users. Residual risks narrow to Nova-upgrade breakage, Nova-version lag (now the more likely stale constraint than Laravel), and undisclosed asset-build expectations.
Key questions.
composer.json, and does the test matrix actually exercise them?nova:publish, or does the host app need a Node build step?Stack fit. Unchanged: appropriate only for Laravel applications already running Nova. It is a developer-experience/UX package, not infrastructure — value is reduced operator confusion, not system capability. With 3.1.0, it is now also a viable choice for teams on (or moving to) Laravel 13, provided their Nova major is covered.
Migration path. Still non-destructive and incremental in both directions: add the dependency, drop the field into one resource, validate rendering; remove by deleting field usages and the composer entry. Because the field is display-only, there is no data migration either way. The 3.1.0 bump is a minor-version change under semver, so upgrading an existing 3.0.x pin should be low-effort — treat it as a patch-level maintenance action, not a re-evaluation.
Compatibility. Pin 3.1.0 explicitly and re-verify the Nova constraint against the installed Nova version before merging — this is the check the release notes do not answer. Confirm the asset pipeline assumption early; a package shipping only source will silently fail in a CI environment without Node. Test against the same PHP and Laravel versions used in production, and confirm 3.1.0 is the tag being pinned (superseding 3.0.0). If the org is pre-Laravel-13, 3.1.0 offers no functional gain over 3.0.0 — upgrade for hygiene, not capability.
Sequencing.
composer.json Nova constraint differs from 3.0.0's.Maintenance. Still low and externally owned, but with better evidence of upstream responsiveness: framework-support PRs are being merged and dependency automation is running. The realistic plan remains an internal fork under the org's namespace refreshed on Nova upgrades — but it can now be held as a contingency rather than a prerequisite. Keep the recurring allowance small.
Support. No commercial support and no meaningful community/dependent base to reference for field-tested fixes. Internal ownership must still be explicit: assign a named maintainer. The 3.1.0 contribution slightly reduces orphan risk but does not create a support channel.
Scaling. Negligible and unchanged. The field renders in the Nova SPA with no queries, no queue work, and no request-path cost outside the admin panel.
Failure modes.
nova:publish or on page load.Every failure mode stays confined to the admin UI and is recoverable by deleting the field — acceptable for a trial, still not a basis for an unqualified mandate.
Ramp-up. Near zero for developers: one line in a resource's fields() array with an obvious mental model. The TPM/maintainer cost is unchanged in kind but marginally lower in degree — version-matrix verification (now focused on Nova, not Laravel), a documented fallback (plain custom field or inline HTML) swappable within an hour, and a fork decision deferred to a defined trigger.
How can I help you explore Laravel packages today?