Download the PHP package koamishin/koamistarterkit without Composer
On this page you can find all versions of the php package koamishin/koamistarterkit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download koamishin/koamistarterkit
More information about koamishin/koamistarterkit
Files in koamishin/koamistarterkit
Package koamistarterkit
Short Description KoamiStarterKit - A modern Laravel 13 starter kit with Vue 3, Inertia.js, Tailwind CSS, Fortify authentication, and Wayfinder routing. Production-ready with Octane, comprehensive testing setup with Pest, and automated CI/CD workflows.
License MIT
Homepage https://github.com/koamishin/KoamiStarterKit
Informations about the package koamistarterkit
π Why This Exists?
I've tried different starter kitsβincluding the official Laravel starter kits. They're great, no doubt about it. But every time I started a new project, I found myself doing the same ritual over and over:
- Setting up authentication and user management
- Installing and configuring Filament for the admin panel
- Wiring up roles and permissions
- Adding activity logs, notifications, impersonation
- Setting up development dependencies, linters, and CI/CD
It wasn't a huge deal, but it added up. Hours lost on configuration instead of building actual features.
So I built Koamishin Starterkit for myself. One command, zero friction, and I'm straight into shipping features instead of fighting config files.
Note: This starter kit is configured for specific applications rather than SaaS products. I don't primarily build SaaS applications, so the architecture and features reflect that use case. If I start working on SaaS-based projects in the future, I'll update this to support those needs.
π― Who Is This For?
This starter kit is for developers who:
- Want to skip the initial setup phase and get straight to building features
- Work on custom applications rather than multi-tenant SaaS products
- Appreciate having authentication, admin panels, and user management ready out of the box
- Prefer a curated, opinionated setup over making endless configuration decisions
Use it as-is, fork it, or cherry-pick the parts you likeβwhatever gets you coding faster.
β¨ Features
Battery-included, but not bloated. Everything you need to ship.
- π Complete Authentication: Powered by Fortify. Login, Registration, 2FA, Email Verification, Passkeys, and Profile Management ready to go.
- π Social Login: Login with GitHub, Google, or Facebook via Laravel Socialite. Configure credentials through the admin panel (stored in DB or
.env). - π¦ Modular Architecture: Built on nwidart/laravel-modules β extend with self-contained modules that register their own routes, Filament resources, and Inertia pages.
- π₯ Roles & Permissions: Built-in Spatie Permissions. Manage Admins (Filament access) and Users (Inertia access) out of the box.
- βοΈ System Settings: Powerful settings management with spatie/laravel-settings. Configure application details, features, social login, and security through a beautiful Filament interface.
- π¨ Auth Layout Switcher: Choose between 3 beautiful authentication layouts (Simple, Card, Split) directly from the admin settings panel.
- β¨οΈ User Activity Logs Included with Activity Logs filament plugin to monitor user activities on the application
- π΅οΈββοΈ User Impersonation: Admins can easily impersonate users to troubleshoot issues, with a visible banner and quick "Leave" action.
- π Database Notifications: Built-in notification system with a bell icon in the sidebar header. Shows unread count, dropdown list, and mark as read functionality.
- ποΈ Admin Panel: Pre-configured Filament admin dashboard with User Management.
- π¨ 40+ UI Components: Beautiful, accessible components from Shadcn Vue, plus dark mode and multiple themes (Default, Rose, Ocean, Sage Garden, Claude).
- π οΈ Type-Safe Routing: Wayfinder ensures your frontend knows your backend routes. No more broken links.
- β‘ High Performance: Laravel Octane + Inertia.js v2 + Vite for instant page loads.
- π’ Production Ready: Docker support, GitHub Actions CI/CD, and strict code quality tools (Pint, PHPStan, Rector) pre-configured.
π Getting Started
Prerequisites
- PHP 8.2+
- Composer
- Node.js & NPM/Bun
Installation
You can create a new project using Composer:
Or use laravel new command:
βοΈ Setup & Configuration
Once installed, personalize the starter kit with your own project details using our setup wizard:
This interactive tool will:
- π¨ Personalize
composer.jsonwith your author and package details. - π³ Configure Docker settings (Docker Hub vs GHCR).
- π€ Update GitHub Actions workflows to use your repository and registry.
Development
Start the development server with one simple command:
This runs both the Laravel server and the Vite development server concurrently.
π¦ What's Inside?
UI Components (Shadcn)
This starter kit includes a comprehensive suite of UI components to jumpstart your development:
Click to view all included components
- **Form Elements**: Input, Select, Checkbox, Radio, Switch, Slider, Textarea, Form, Combobox - **Feedback**: Alert, Badge, Progress, Skeleton, Sonner (Toast), Spinner, Tooltip - **Overlay**: Dialog, Drawer, Sheet, Popover, Hover Card, Context Menu, Dropdown Menu - **Layout**: Card, Aspect Ratio, Resizable, Scroll Area, Separator - **Navigation**: Sidebar, Navigation Menu, Breadcrumb, Tabs, Menubar, Pagination, Stepper - **Data Display**: Table, Avatar, Accordion, Collapsible, Carousel, Calendar - **Charts**: Extensive charting library supportπ Using Notifications
This starter kit includes a database notification system integrated into the sidebar header. Users can view and manage their notifications from the bell icon.
Sending Notifications
Send notifications to users using Laravel's notification system:
Creating Notifications
Create a new notification class:
In your notification class, define the database channel:
βοΈ System Settings
This starter kit includes a comprehensive settings management system powered by spatie/laravel-settings with a beautiful Filament interface.
Settings Sections
The settings are organized into logical sections accessible from the admin panel at /admin/settings:
Application Details
Configure your application's identity and display settings: - **Site Information**: Name, description, logo URL, favicon URL - **Date & Time**: Timezone, date format, time format - **Contact**: Contact email, support URLApplication Features
Toggle application features on or off: - **Authentication Features**: User registration, email verification, 2FA, password reset - **User Management**: User impersonation, default role for new users - **System Features**: Activity logging, notifications - **Auth Layout**: Choose between Simple, Card, or Split layout for authentication pagesApplication Security
Configure security policies: - **Password Policy**: Minimum length, require uppercase/lowercase/numbers/symbols - **Session Settings**: Session lifetime, single session per user - **Login Protection**: Rate limiting attempts, lockout durationSocial Login
Configure OAuth providers for social authentication: - **GitHub**: Enable/disable, client ID, client secret, redirect URI - **Google**: Enable/disable, client ID, client secret, redirect URI - **Facebook**: Enable/disable, client ID, client secret, redirect URI Each provider shows whether it's using environment variables or database-stored credentials.Auth Layout Switcher
Choose from three beautiful authentication layouts directly from the settings panel:
| Layout | Description |
|---|---|
| Simple | Clean, centered layout with minimal styling |
| Card | Form wrapped in a card component with shadow |
| Split | Side-by-side layout with branding panel |
The layout selection is instant and applies to all authentication pages (login, register, password reset).
Social Login
Social login is managed through the Social Login settings page in the admin panel (/admin/settings). Supports GitHub, Google, and Facebook.
Configuration
Credentials can be set in two ways, with .env taking precedence:
-
Environment variables (recommended for production):
- Database settings (via the Filament admin panel) β stored in the
social_loginsettings group. Falls back to these when.envvalues are empty.
Linking Behavior
| Scenario | Behavior |
|---|---|
| New provider ID | Creates a new user and social account. Email is auto-verified. |
| Existing social account | Logs in the linked user, updates profile data. |
| Matching verified email | Auto-links the social account to the existing verified user. |
| Matching unverified email | Returns 409 β user must verify their email first. |
| Disabled provider | Redirects to login with an error message. |
Code
Passkeys (WebAuthn)
Passkey authentication is available on both the admin panel (Filament) and the frontend (Inertia login page). Users can register passkeys from their profile settings.
Passkeys are device-bound ("phone-as-passkey" style) and use the browser's native WebAuthn API. Login with a passkey requires only biometrics or device PIN β no password needed.
Frontend Usage
The passkey sign-in button appears automatically on the login page when the feature is enabled. Users can manage passkeys from their security settings.
Configuration
Accessing Settings in Code
π¦ Modular Architecture (nwidart/laravel-modules)
This starter kit supports a modular architecture via nwidart/laravel-modules. Modules live in the Modules/ directory and are self-contained units with their own models, controllers, routes, Filament resources, frontend pages, and tests.
Included Module: Blog
A fully-functional blog module is included as a reference implementation. It demonstrates:
- Filament Resource β CRUD for blog posts in the admin panel
- Inertia Page β Public blog post listing at
/blog - Module Routes β Registered automatically when the module is enabled
- Module Tests β Feature, unit, and Filament tests packaged with the module
Creating a New Module
This scaffolds a new module in Modules/MyModule/ with providers, routing, and configuration files. The module's Inertia pages are auto-discovered (place them in resources/js/pages/) and Filament resources are registered via a plugin class:
Modules are enabled/disabled in modules_statuses.json and via php artisan module:enable / php artisan module:disable.
π€ Contributing
This is a community-friendly project. If you find a bug or have an idea for an improvement, please feel free to open an issue or submit a pull request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π License
Distributed under the MIT License. See LICENSE for more information.
Built with β€οΈ by Koamishin
All versions of koamistarterkit with dependencies
alizharb/filament-activity-log Version ^1.3
bezhansalleh/filament-shield Version ^4.1
filament/filament Version ^5.0
inertiajs/inertia-laravel Version ^2.0
lab404/laravel-impersonate Version ^1.7
laravel/fortify Version ^1.30
laravel/framework Version ^13.0
laravel/octane Version ^2.13
laravel/pennant Version ^1.20
laravel/socialite Version ^5.27
laravel/tinker Version ^3.0
laravel/wayfinder Version ^0.1.9
nwidart/laravel-modules Version ^13.0
robertboes/blade-selfhst-icons Version ^0.3.2
robertboes/filament-passkeys Version ^0.1.0
spatie/laravel-activitylog Version ^4.10
spatie/laravel-permission Version ^6.24
spatie/laravel-settings Version ^3.7
tightenco/ziggy Version ^2.6
yukazakiri/shadcthemes-tools Version ^0.1.6