miran / mksine
Laravel + Filament CMS foundation with plugins, themes, hooks, and media.
Package info
pkg:composer/miran/mksine
Requires
- php: ^8.2
- bezhansalleh/filament-language-switch: ^4.0
- bezhansalleh/filament-shield: ^4.1.0
- codewithdennis/filament-select-tree: ^4.0
- filament/filament: ^4.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
MKSine
The Laravel + Filament 4 CMS foundation — build content sites, page builders, and plugin ecosystems without fighting your admin panel.
Quick Install · Features · Documentation
Why MKSine
Filament gives you a great admin panel. MKSine gives you the CMS layer on top of it: content types, a visual page builder, installable plugins with real lifecycle management, themes, menus, hooks, and a settings system — all built the Filament way, so it feels native instead of bolted on.
If you've ever built a "simple site" in Laravel and ended up hand-rolling pages, blocks, menus, and a plugin system from scratch — this is that groundwork, already done.
Quick install
composer require miran/mksine
php artisan filament:install --panels
# Register MksinePlugin in AdminPanelProvider (remove default Dashboard page)
php artisan mksine:install --migrate
php artisan mksine:create-super-admin
Full installation guide → docs/01-installation.md
Features
🧱 Page Builder
Opt-in visual block editor for marketing pages. Compose typed blocks (hero, columns, CTA, and more) via drag-and-drop; the tree is stored as JSON and rendered by the active theme.
📖 Concepts · Creating a block · Rendering
🧩 Plugins
Drop-in extensions under plugins/{id}/ with full lifecycle — install, activate, deactivate — ZIP upload, filesystem discovery, Filament autoloading, migrations, assets, and hook listeners. No forking core to extend the system.
!
📖 Concepts · Build a plugin (golden path) · Lifecycle
🎨 Themes
Package themes and project themes (themes/{id}/). One active theme controls storefront Blade views and published CSS/JS — upload, discover, activate, and edit custom CSS/JS directly from the panel.
🧭 Menus
Visual menu builder: drag to reorder, nest items, add from pages, posts, categories, or custom links. Assign menus to theme locations like header and footer.
🪝 Hooks
Two families: discovery hooks (class listeners synced to DB, toggleable in admin) and runtime hooks (closures in boot()). Extend forms, tables, events, and Filament resources — without touching core.
📖 Concepts · Two families overview
📁 Content & Media
Manage pages, posts, categories, and moderated comments from the Filament admin. A central media library handles files with image optimization, thumbnails, and a MediaPicker for forms — attach files polymorphically to any model.
📖 Architecture · Media library guide
⚙️ Settings
Site-wide settings with core tabs (General, Permalinks, Geo) plus plugin tabs registered dynamically via SettingsTabManager — no editing the settings page class required.
🌐 Translations
Edit application, plugin, and theme translation files directly from the admin — pick language, source, and file; saving writes to the source and vendor publish path.
💻 Admin Console
Super Admin only. Run allowed php artisan … and composer … commands from the panel — live output, background workers, and full command history.
🔐 Auth & permissions
Filament Shield integration, a super admin role, and optional user subclass requirements for plugins that need them.
📖 User subclass · Shield and policies
Operations & deployment
Deployment guides, release ZIP packaging, ZIP-based updates, and troubleshooting — all documented for production use, not just local dev.
📖 Deployment · Troubleshooting · Upgrade guide
Full documentation
This overview covers the surface. For architecture decisions, guides, and reference docs, see the full index:
👉 https://github.com/MiranSalehi/mksine/tree/main/docs
If MKSine saves you time, a ⭐ on the repo helps other Laravel/Filament developers find it.