moonshine/crud
MoonShine CRUD is a Laravel package that accelerates admin panel development by generating CRUD resources for Eloquent models. It provides forms, tables, filters, and actions, cutting boilerplate so developers can create and manage data screens quickly within the MoonShine ecosystem.
Package identity. moonshine/crud is the core package of the MoonShine admin panel / CRUD framework for Laravel. The 4.19.6 release notes themselves contain no engineering content — only a pointer to the moonshine-software/moonshine monorepo tag and a changelog diff spanning 4.18.2...4.19.6. This is a read-only subtree split of the monorepo, which is the single most important architectural fact for planning: the package repo is not the source of truth for change history, issues, or PRs.
Architecture fit. Good fit for Laravel applications that need an internal back-office: resource-oriented CRUD generation, form/table field abstractions, policies-based authorization, and Blade + Alpine.js front-end with no SPA build of your own. Poor fit if the team is standardized on Filament or Nova — MoonShine is a competing admin layer and running two admin panels in one app is a maintenance liability. It is an application-layer dependency, not a library you compose deeply; blast radius is confined to admin routes, admin assets, and any custom resources you author against its field API.
Integration feasibility. Low friction to stand up: Composer install with package auto-discovery, publish config/migrations/assets, create an admin user, scaffold resources via Artisan. The real integration cost is in custom field authoring and theme overrides, which bind you to MoonShine's internal Blade component contracts.
Technical risk.
crud, fields, ui, assets, etc.). Mixing versions across the family is the most likely source of subtle breakage. Treat them as one atomic unit.4.18.2 → 4.19.6, i.e. multiple minor and patch releases collapsed into one comparison. We cannot tell from the release notes whether behavioral changes, deprecations, or breaking changes landed in that window.Key questions.
moonshine/* split packages released in lockstep at identical version numbers?moonshine/crud 4.19.6 the version to install, or does the monorepo recommend installing a meta-package?Stack fit. Laravel application with a Blade-rendered admin surface; no Node build required for the panel itself unless we customize the theme. Requires a supported PHP version and Laravel major — confirm against the monorepo's composer.json before committing, since the split repo's own metadata has historically lagged the monorepo.
Migration path. We are establishing a baseline, not migrating from an assessed version, so treat 4.19.6 as the entry point rather than an upgrade target. If a prototype already sits on 4.18.x, the path is: bump all moonshine/* packages together in one commit, re-publish assets, and read the monorepo changelog for the intervening tags before touching application code.
Compatibility.
moonshine/* family to a single version using a Composer constraint that moves them together, and add a Renovate/Dependabot group rule so they can never drift apart.Sequencing.
Maintenance. The recurring cost is version watching, and the split-repo release notes do not support it. Subscribe to the moonshine-software/moonshine monorepo releases and read its changelog on every bump; treat the crud repo's notes as an index only. Budget a small recurring allowance per upgrade cycle for asset re-publish and admin smoke testing, since patch-level releases carry unknown behavioral deltas.
Support. Assume community support (GitHub discussions/issues in the monorepo) unless a commercial tier is confirmed. That means no vendor SLA, and internal ownership must be assigned explicitly — an unowned admin panel becomes a stale, unpatched surface with elevated privileges, which is a security exposure, not just a UX one.
Scaling. The admin panel is off the hot path for end users, so throughput is not the constraint. The scaling concerns are query shape on large tables (unbounded table renders, filters without indexes, N+1 relation loading) and synchronous exports/reports. Establish a convention that admin tables are paginated with server-side filtering and that heavy reports run as queued jobs, not request-time queries.
Failure modes to plan for.
moonshine/* — manifests as class-not-found or method-signature errors after a partial update. Mitigate with grouped dependency updates and a single pinned version.Ramp-up. Moderate. The resource/field paradigm is learnable in a few days for a Laravel-fluent engineer, but it is a distinct API from Filament and Nova, so prior admin-panel experience does not transfer directly. Plan for one engineer to own the framework conventions and write the internal wrapper; onboarding a second engineer thereafter is a day, not a week. Ramp-up cost is dominated by learning the field API and theming escape hatches, not by installation.
How can I help you explore Laravel packages today?