Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Crud Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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.

  • Lockstep versioning. MoonShine ships as a family of split packages (crud, fields, ui, assets, etc.). Mixing versions across the family is the most likely source of subtle breakage. Treat them as one atomic unit.
  • Opaque change surface. The diff is 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.
  • Asset drift. Published CSS/JS must be refreshed after upgrade; stale assets produce UI breakage that looks like a code bug.
  • Release hygiene signal. Empty release bodies in the consumable repo mean automated dependency tooling will surface version bumps with no rationale — a process risk, not a code risk, but it must be mitigated deliberately.

Key questions.

  1. What is the supported PHP / Laravel version matrix for 4.19.x, and does it match our application's runtime?
  2. Are all moonshine/* split packages released in lockstep at identical version numbers?
  3. Which entries in the 4.18.2→4.19.6 diff are breaking, deprecating, or behavior-changing in the field/resource APIs we actually use?
  4. Is moonshine/crud 4.19.6 the version to install, or does the monorepo recommend installing a meta-package?
  5. What is the support model — community-only, or is there a commercial tier with an SLA?

Integration Approach

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.

  • Pin the entire 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.
  • Verify no conflict with existing admin/auth UI packages; MoonShine wants to own its route prefix, middleware stack, and asset pipeline.
  • Confirm the field API we build custom resources against is unchanged across 4.19.x patches before authoring anything non-trivial.

Sequencing.

  1. Resolve the open questions above; capture the supported version matrix in the repo README.
  2. Spike: install 4.19.6 in a scratch branch, scaffold two representative resources (one simple table, one with relations and custom fields), and confirm the panel renders with published assets.
  3. Author a thin internal wrapper convention (base resource class, standard field presets) so application code depends on our abstraction rather than MoonShine internals.
  4. Stage deploy with a smoke checklist covering auth, table filters, form validation, file uploads, and exports.
  5. Production rollout, then establish the changelog-watching routine described below.

Operational Impact

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.

  • Version skew across moonshine/* — manifests as class-not-found or method-signature errors after a partial update. Mitigate with grouped dependency updates and a single pinned version.
  • Stale published assets — broken styling or dead interactivity after deploy. Mitigate by making asset publish a required deploy step and clearing view/config caches in the release process.
  • Silent breaking change in a patch release — mitigated by staging smoke tests on every bump, however small.
  • Custom field breakage — our highest-coupling surface. Mitigate by keeping custom fields few, documented, and covered by the smoke checklist.
  • Abandonment risk — single-vendor framework. Mitigate by keeping admin-layer logic thin and business logic in application services, so the panel is replaceable.

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager