Download the PHP package myra/starter-kit without Composer
On this page you can find all versions of the php package myra/starter-kit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download myra/starter-kit
More information about myra/starter-kit
Files in myra/starter-kit
Package starter-kit
Short Description A production-ready Laravel + Inertia.js + Vue 3 admin dashboard with user management, roles & permissions, media manager, email system, backups, and more.
License MIT
Homepage https://github.com/spideyrex/myra-starter-kit
Informations about the package starter-kit
Myra Starter Kit
A production-ready Laravel 12 + Inertia.js + Vue 3 admin dashboard starter kit with a Filament-style code generator, role-based access control, per-user data isolation, a built-in CMS, an AI writing assistant, and 55+ UI components โ so you can ship admin panels with very little hand-written code.
Table of Contents
- Highlights
- Screenshots
- Scaffolding CLI
- Security & Access Control
- Features
- Tech Stack
- Requirements
- Installation
- Default Roles
- AI Assistant
- Internationalization
- Theme System
- Project Structure
- Key URLs
- Documentation
- License
Highlights
- ๐ ๏ธ Filament-style generators โ scaffold pages, full CRUD resources, or pages cloned from any of 18 feature demos, with routes, sidebar nav, and permissions auto-wired.
- ๐ Shield RBAC โ convention-based
{module}.{ability}permissions synced from config, with a super-admin bypass and an editable permission matrix. - ๐ค Per-user data isolation โ non-super-admins see only their own records; super-admins see everything.
- ๐ CMS โ articles, pages, and categories with a Tiptap editor, server-side HTML sanitization, draft/publish workflow, and public blog.
- ๐ค AI assistant โ bring-your-own-key writing assistant (OpenAI, Anthropic, OpenRouter, or self-hosted Ollama) streamed into the rich text editor.
- ๐งฑ Schema-driven forms & tables โ declarative builders with 20+ field types, inline editing, filters, grouping, and reordering.
- ๐ i18n, ๐จ 10 theme presets + dark mode, ๐ in-app + Firebase push notifications, and two-factor auth enforced after login.
Screenshots
| Dashboard (light) | Dashboard (dark) |
|---|---|
| User management | Roles & permission matrix |
|---|---|
| Articles (CMS) | Media manager |
|---|---|
| Appearance / theme settings | AI settings |
|---|---|
| Security (2FA & sessions) | Public homepage |
|---|---|
| Feature demos | Form builder demo |
|---|---|
50+ full screenshots (every module + all 18 demos) live in
public/docs/screenshots/and the bundled documentation.
Scaffolding CLI
Generate admin modules from the terminal โ routes, sidebar nav, and Spatie permissions are wired automatically (idempotent markers; pass --print to emit snippets instead of editing files).
Component keywords (clone the matching demo): form-builder, rich-text-editor, repeater-field, conditional-fields, wizard, field-types, global-search, data-table, bulk-actions, advanced-filters, inline-editing, grouping, import-export, action-modals, soft-deletes, infolist, relation-manager, widgets, reordering.
Newly generated permissions appear in the Roles matrix immediately, so a super-admin can grant a new page to any role with one click.
Other commands:
Security & Access Control
- Two-factor authentication enforced after login โ 2FA users must pass the TOTP/recovery challenge before reaching any protected route (middleware-gated, throttled).
- Account state enforcement โ suspended/pending users cannot log in and are logged out mid-session.
- Shield RBAC โ permissions declared in
config/shield.php; super-admin bypasses all checks viaGate::before. - Role assignment guards โ only super-admins can assign
admin/super-admin; disabled roles are unassignable; the same rules apply to CSV import. - Role protections โ super-admins/admins are hidden from lower roles, admins can't manage other admins, and roles have super-admin-controlled
active/visibletoggles. - Per-user data isolation โ
OwnedByUserglobal scope on content models; media scoped to the uploader; public pages explicitly exempt. - Hardening โ server-side HTML sanitization (defense-in-depth with client DOMPurify), SVG uploads blocked, CSV formula-injection escaping, whitelisted sort columns + capped pagination, Content-Security-Policy + HSTS in production, and a production-safe seeder.
- Editable login tagline + server-enforced sign-up toggle.
Features
Core
- User Management โ CRUD, soft deletes, status management, role assignment, impersonation, bulk actions, CSV export
- Roles & Permissions โ Spatie RBAC with permission matrix, role cloning, active/visible toggles, grouped permissions
- Dashboard โ stats, user-growth charts, activity feed, role/status breakdowns, configurable widgets
- Activity Log โ full audit trail with CSV export
- Media Manager โ uploads via Spatie Media Library, scoped per uploader
- System Health โ database, cache, disk, and environment checks
- Backups โ on-demand DB + file backups (Spatie Backup)
- API Tokens โ Laravel Sanctum token creation/revocation
Content
- Articles, Pages, Categories โ Tiptap rich text, featured images, SEO meta, draft โ published โ archived workflow, public blog at
/blog - Homepage Builder โ configurable hero, features, testimonials, pricing, CTA, navbar, and footer
Communication
- Email Templates โ database-driven with variable substitution + test sends
- Email Log โ audit trail with export
- Push Notifications โ Firebase Cloud Messaging (web push)
- In-App Notifications โ real-time bell with read/unread tracking and per-user preferences
Developer Experience
- Scaffolding CLI, Command Palette (
Cmd/Ctrl+K), 20+ interactive feature demos, full TypeScript coverage, XLSX/CSV export, image editor, and schema-driven form/table/infolist/widget builders
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Laravel 12, PHP 8.4 |
| Frontend | Vue 3.5 (TypeScript), Inertia.js 2 |
| Styling | Tailwind CSS 4.2 (oklch) |
| UI | shadcn-vue, Reka UI, Lucide icons |
| Tables | TanStack Vue Table |
| Rich Text | Tiptap |
| Charts | Chart.js via vue-chartjs |
| Maps | MapLibre GL (shadcn-vue wrappers) |
| Forms | Vee-Validate + Zod |
| Auth / RBAC | Sanctum, Google2FA, Spatie Permission |
| Media / Settings / Backups / Health / Activity | Spatie packages |
| AI | OpenAI ยท Anthropic ยท OpenRouter ยท Ollama |
| Push / Real-time | Firebase Cloud Messaging (Kreait), Laravel Echo + Pusher |
| i18n | vue-i18n (en, ms, zh) |
| Build | Vite 7 |
Requirements
- PHP 8.4+
- Node.js 18+
- MySQL / PostgreSQL / SQLite
- Composer 2+
Installation
Clone the repository and install dependencies โ everything needed is committed, so it installs with no private access or tokens:
Visit http://localhost:8000 and sign in with the admin account you created in step 4.
Quickest start (SQLite, zero DB config): set
DB_CONNECTION=sqlitein.env, runtouch database/database.sqlite, thenphp artisan app:install.
For production, build assets instead of composer dev: npm run build, and set APP_ENV=production, APP_DEBUG=false, SESSION_ENCRYPT=true, SESSION_SECURE_COOKIE=true in .env.
Default Roles
The seeder creates five roles:
| Role | Access |
|---|---|
| super-admin | Full access (bypasses all checks via Gate::before) |
| admin | All permissions |
| manager | Users, content, email, media, notifications (no system settings) |
| editor | Content + media (create/edit) |
| viewer | Read-only |
44 permissions across 17 modules are grouped by prefix (users, roles, pages, articles, โฆ) in the permission matrix. Generated modules add their own automatically.
AI Assistant
Configure a provider under Settings โ AI (master toggle, provider, API key, model, base URL, temperature, max tokens):
| Provider | Default model | Notes |
|---|---|---|
| OpenAI (default) | gpt-4o-mini |
custom base URL supported |
| Anthropic | claude-sonnet-4-5 |
|
| OpenRouter | openai/gpt-4o-mini |
any listed model |
| Ollama | llama3.1 |
self-hosted, no key |
The rich text editor gains a Sparkles menu: generate, improve, fix grammar, shorten, lengthen, summarize, and change tone โ streamed via Server-Sent Events.
Internationalization
vue-i18n with lazy-loaded locales (en, ms, zh) and a header language switcher. Add a locale by dropping a JSON file in resources/js/i18n/locales/ and registering it in resources/js/i18n/index.ts.
Theme System
10 shadcn color presets (Zinc, Slate, Stone, Red, Rose, Orange, Green, Blue, Violet, Yellow) selectable from Settings โ Appearance, plus custom sidebar colors, logo/favicon upload, dark mode, and per-mode oklch values applied at runtime across admin and public pages.
Project Structure
Key URLs
| URL | Description |
|---|---|
/ |
Public homepage |
/blog, /blog/{slug} |
Public articles |
/pages/{slug} |
Public static pages |
/login, /register |
Auth |
/dashboard |
Admin dashboard |
/admin/users, /admin/roles |
User & role management |
/admin/articles, /admin/pages, /admin/categories, /admin/media |
CMS & media |
/admin/settings |
General, SEO, Appearance, Social, Maintenance, Homepage, AI |
/admin/email-templates, /admin/email-logs, /admin/email-settings |
|
/admin/firebase-settings, /admin/notifications |
Push & notifications |
/admin/activity-logs, /admin/backups, /admin/system-health, /admin/api-tokens |
System |
/admin/demo |
Feature demos |
/docs |
Full documentation |
Documentation
Comprehensive docs ship with the project at public/docs/index.html (served at /docs): the form/table builders, every artisan command, RBAC/Shield, data isolation, role protections, the notification system, and all admin modules โ with screenshots throughout.
License
MIT License. See LICENSE for details.
All versions of starter-kit with dependencies
bacon/bacon-qr-code Version ^3.0
inertiajs/inertia-laravel Version ^2.0
kreait/laravel-firebase Version ^7.0
laravel/framework Version ^12.0
laravel/sanctum Version ^4.0
laravel/tinker Version ^2.10.1
pragmarx/google2fa-laravel Version ^2.3
spatie/laravel-activitylog Version ^4.12
spatie/laravel-backup Version ^9.0
spatie/laravel-health Version ^1.38
spatie/laravel-medialibrary Version ^11.21
spatie/laravel-permission Version ^7.2
spatie/laravel-settings Version ^3.3
tightenco/ziggy Version ^2.0