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

Core Laravel Package

moonshine/core

MoonShine Core provides foundational components for building Laravel admin panels, including CRUD resources, fields, filters, actions, and UI scaffolding with a flexible, developer-friendly API for rapid backend interfaces.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

MoonShine is a Laravel-native admin panel and CRUD framework (MIT-licensed, Blade + Alpine.js front end, no SPA build required), comparable in role to Filament, Laravel Nova, or Backpack. Release 4.18.2 is a patch-line release in the 4.x major, arriving after the project moved to a monorepo split (moonshine-software/core + adjacent packages) — the release body is a pointer to that monorepo rather than a curated changelog, which is the single most important signal for a TPM here.

Architecture fit. Strong for Laravel shops that want an opinionated admin layer without a JS front-end build pipeline. MoonShine registers via a service provider, exposes a MoonShineServiceProvider for resource registration, and uses a Resource abstraction (Model + Pages + Fields + Filters) that maps cleanly onto standard Eloquent conventions. It does not require Inertia, Livewire, or Vue, which lowers the blast radius if we already run Blade views. Fit degrades if we need a headless API-first admin, heavy custom JS interactivity, or non-Laravel services in the same UI.

Integration feasibility. Composer-installable, config-publishable, and it ships its own migrations (admin users, roles, activity log tables). That means a real DB footprint and a real migration to own — not a drop-in UI library. Auth is pluggable but opinionated; we will need to reconcile its guard/user model with the host app's existing users table or accept a parallel admin identity.

Technical risk. Moderate. The release notes contain no explicit breaking-change, deprecation, or security disclosure statements, and the compare range spans 4.16.1 → 4.18.2 — i.e. we are two patch lines behind, and we cannot confirm from the notes whether any of the intervening patches changed contracts (resource APIs, field registration, config keys, migration schemas). Absent a per-version changelog, this must be treated as an unvetted upgrade until the core repo's commit history and issues are reviewed. The monorepo restructure is itself a structural risk: package split means composer require targets and namespace paths may differ from older docs, and third-party plugins/extensions built against pre-monorepo versions may not resolve.

Key questions.

  • Which exact commits between 4.16.1 and 4.18.2 touch public APIs (Resource, Field, Page, config keys)?
  • Did the monorepo split rename any Composer packages or namespaces we depend on?
  • Are there migration changes requiring a forward-only DB migration in production?
  • What is the project's SemVer discipline — are patch releases genuinely patch-only?
  • Does the license/roadmap still align (core MIT + paid Pro tier), and what is the support SLA for the free tier?

Integration Approach

Stack fit. Requires PHP 8.1+ and a supported Laravel major (10/11 on the 4.x line). Verify our runtime matrix before anything else; older Laravel versions will pin us to an EOL MoonShine branch. The Blade/Alpine rendering model fits well if our app is server-rendered and our team is PHP-strong and JS-light. It fits poorly if we have standardized on Livewire/Inertia or need a decoupled front end.

Migration path. From nothing (greenfield admin): low friction — install, publish config, run migrations, scaffold one Resource, validate in a staging DB. From Nova/Filament/Backpack: budget real effort. The Resource/Field/Filter abstractions are conceptually similar but not source-compatible; treat this as a rewrite of admin screens, not a port. Recommend a single pilot domain (e.g. users + one CRUD entity) migrated behind a feature flag, running in parallel with the incumbent admin for one release cycle.

Compatibility. Pin the package exactly (4.18.2) in composer.json rather than using a caret range until we have confirmed the 4.16.1→4.18.2 delta. Check that any MoonShine extensions or field packages we intend to use declare support for the monorepo-era package names. Confirm no conflict with our existing auth/authorization stack (Spatie Permission, Passport/Sanctum, custom guards).

Sequencing.

  1. Read the core repo changelog and closed issues for 4.16.1→4.18.2; classify commits as breaking / additive / fix.
  2. Stand up an isolated branch: bump to 4.18.2, run full test suite plus a manual smoke pass over existing admin screens.
  3. Run migrations against a production-shaped snapshot; time them and check for locking on large tables.
  4. Pilot one resource end-to-end; measure developer effort against the incumbent tool.
  5. Only then decide on exact-pin upgrade in production and a documented upgrade cadence.

Operational Impact

Maintenance. The patch cadence appears rapid (two minor-equivalent jumps in the window we skipped), and release notes are thin. For a TPM this translates to a recurring cost: someone must read commit logs, not release pages, before every bump. Recommend a standing monthly upgrade window with exact pinning in between, and an owned "dependency champion" for this package. Track the monorepo split as a one-time migration cost, not recurring.

Support. Community-driven: GitHub issues/discussions and documentation site. No commercial SLA on the OSS core; the paid tier (if adopted) changes that calculus. Our internal support burden is therefore "we are the support" — plan for a knowledgeable owner and a documented internal runbook, otherwise every admin bug becomes a bottleneck.

Scaling. Adequate for typical internal back-office load. MoonShine renders server-side and queries through Eloquent; watch for N+1s from table columns and relation fields, and for memory on large exports/imports. It is not designed as a high-concurrency public-facing surface — keep it behind auth and ideally behind network restrictions. Horizontal scaling is a standard Laravel concern (shared session/cache store), not a MoonShine-specific one.

Failure modes. (1) Silent breakage from an unvetted patch bump — mitigated by exact pinning and a staging smoke suite. (2) Migration collisions with host-app tables, especially around admin users and activity logging. (3) Auth/guard misconfiguration exposing admin routes — verify middleware and route registration explicitly. (4) Monorepo package-resolution failures breaking CI on a fresh composer install if the lock file is regenerated. (5) Bus-factor risk from thin release documentation.

Ramp-up. A Laravel-fluent developer can produce a working Resource in a day; idiomatic use (custom Fields, Filters, Actions, policies, page composition) is a two-to-three week curve. Budget that as onboarding cost, not as an install cost, and pair it with one senior owner who reads the core repo directly. Allocate explicit time for the 4.16.1→4.18.2 delta review before committing to the upgrade — the release notes as published do not support a confident go/no-go on their own.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console