PHPackages                             koamishin/koamistarterkit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. koamishin/koamistarterkit

ActiveProject[Framework](/categories/framework)

koamishin/koamistarterkit
=========================

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.

v1.4.0(2w ago)416MITVuePHP ^8.3CI passing

Since Jan 29Pushed 2w agoCompare

[ Source](https://github.com/koamishin/KoamiStarterKit)[ Packagist](https://packagist.org/packages/koamishin/koamistarterkit)[ Docs](https://github.com/koamishin/KoamiStarterKit)[ RSS](/packages/koamishin-koamistarterkit/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (53)Versions (10)Used By (0)

 [ ![Logo](public/koamishin-logo.svg) ](https://github.com/koamishin/KoamiStarterKit)Koamishin Starterkit
====================

[](#koamishin-starterkit)

 **The Opinionated Laravel Starter Kit for Modern Artisans**

 [![Laravel 13](https://camo.githubusercontent.com/344cee3da3b0f3d89eca7f267df5418b1ec8762daef61fe63df3b97db71370da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31332d4646324432303f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)](https://laravel.com) [![Vue 3](https://camo.githubusercontent.com/49bd1a5523a0cffc32b16bf3eb80be2b36e84c03113969e560a8e1c8edf245d9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5675652e6a732d332d3446433038443f7374796c653d666f722d7468652d6261646765266c6f676f3d7675652e6a73)](https://vuejs.org) [![Inertia v2](https://camo.githubusercontent.com/397f432702e455991ad86cc9731d23eb7dbdb45febade23349b43ab28a723b12/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f496e65727469612d76322d3935353345393f7374796c653d666f722d7468652d6261646765266c6f676f3d696e6572746961)](https://inertiajs.com) [![Tailwind 4](https://camo.githubusercontent.com/273b2c58fae53e011177939053d86ebc7916612f5d2505faf2427569d0219c34/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5461696c77696e645f4353532d342d3338423241433f7374796c653d666f722d7468652d6261646765266c6f676f3d7461696c77696e642d637373)](https://tailwindcss.com) [![Shadcn Vue](https://camo.githubusercontent.com/7d2c9c1b96a834f54fe1527d780defdf80acb507ce0d814b18b47d926e99bb4d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53686164636e2d5675652d3030303030303f7374796c653d666f722d7468652d6261646765266c6f676f3d73686164636e7569)](https://ui.shadcn.com)

🚀 Why This Exists?
------------------

[](#-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?
------------------

[](#-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
----------

[](#-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 &amp; 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
-----------------

[](#-getting-started)

### Prerequisites

[](#prerequisites)

- PHP 8.2+
- Composer
- Node.js &amp; NPM/Bun

### Installation

[](#installation)

You can create a new project using Composer:

```
composer create-project koamishin/koamistarterkit my-app
cd my-app
```

Or use laravel new command:

```
laravel new my-app --using=koamishin/koamistarterkit
```

### ⚙️ Setup &amp; Configuration

[](#️-setup--configuration)

Once installed, personalize the starter kit with your own project details using our setup wizard:

```
php artisan setup:starter-kit
```

This interactive tool will:

- 🎨 **Personalize** `composer.json` with your author and package details.
- 🐳 **Configure Docker** settings (Docker Hub vs GHCR).
- 🤖 **Update GitHub Actions** workflows to use your repository and registry.

### Development

[](#development)

Start the development server with one simple command:

```
composer run dev
```

This runs both the Laravel server and the Vite development server concurrently.

---

📦 What's Inside?
----------------

[](#-whats-inside)

### UI Components (Shadcn)

[](#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
---------------------

[](#-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

[](#sending-notifications)

Send notifications to users using Laravel's notification system:

```
use App\Models\User;
use App\Notifications\YourNotification;

$user->notify(new YourNotification());
```

### Creating Notifications

[](#creating-notifications)

Create a new notification class:

```
php artisan make:notification YourNotification
```

In your notification class, define the database channel:

```
public function via(object $notifiable): array
{
    return ['database'];
}

public function toArray(object $notifiable): array
{
    return [
        'title' => 'Notification Title',
        'message' => 'Your notification message here',
        'action_url' => '/optional-action-url',
    ];
}
```

---

⚙️ System Settings
------------------

[](#️-system-settings)

This starter kit includes a comprehensive settings management system powered by **spatie/laravel-settings** with a beautiful Filament interface.

### Settings Sections

[](#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 &amp; Time**: Timezone, date format, time format
- **Contact**: Contact email, support URL

**Application 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 pages

**Application 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 duration

**Social 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

[](#auth-layout-switcher)

Choose from three beautiful authentication layouts directly from the settings panel:

LayoutDescription**Simple**Clean, centered layout with minimal styling**Card**Form wrapped in a card component with shadow**Split**Side-by-side layout with branding panelThe layout selection is instant and applies to all authentication pages (login, register, password reset).

### Social Login

[](#social-login)

Social login is managed through the **Social Login** settings page in the admin panel (`/admin/settings`). Supports GitHub, Google, and Facebook.

#### Configuration

[](#configuration)

Credentials can be set in two ways, with `.env` taking precedence:

1. **Environment variables** (recommended for production):

```
GITHUB_CLIENT_ID=your-id
GITHUB_CLIENT_SECRET=your-secret
GOOGLE_CLIENT_ID=your-id
GOOGLE_CLIENT_SECRET=your-secret
FACEBOOK_CLIENT_ID=your-id
FACEBOOK_CLIENT_SECRET=your-secret
```

2. **Database settings** (via the Filament admin panel) — stored in the `social_login` settings group. Falls back to these when `.env` values are empty.

#### Linking Behavior

[](#linking-behavior)

ScenarioBehaviorNew provider IDCreates a new user and social account. Email is auto-verified.Existing social accountLogs in the linked user, updates profile data.Matching verified emailAuto-links the social account to the existing verified user.Matching unverified emailReturns 409 — user must verify their email first.Disabled providerRedirects to login with an error message.#### Code

[](#code)

```
use App\Enums\SocialLoginProvider;
use App\Settings\SocialLoginSettings;

$settings = app(SocialLoginSettings::class);

// Check if a provider is enabled
if ($settings->isProviderEnabled(SocialLoginProvider::Github)) {
    // Show GitHub login button
}

// Resolve credentials (env wins over stored settings)
$creds = $settings->resolveCredentials(SocialLoginProvider::Google);
```

---

### Passkeys (WebAuthn)

[](#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

[](#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

[](#configuration-1)

```
# Config is handled via the admin Application Features settings page
# and the config/passkeys.php file
```

---

### Accessing Settings in Code

[](#accessing-settings-in-code)

```
use App\Settings\ApplicationFeaturesSettings;

// Get settings instance
$settings = app(ApplicationFeaturesSettings::class);

// Access individual settings
if ($settings->registration_enabled) {
    // Allow registration
}

// Update settings
$settings->auth_layout = 'card';
$settings->save();
```

---

📦 Modular Architecture (nwidart/laravel-modules)
------------------------------------------------

[](#-modular-architecture-nwidartlaravel-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

[](#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

[](#creating-a-new-module)

```
php artisan module:make MyModule
```

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:

```
class MyModulePlugin implements Plugin
{
    public function register(Panel $panel): void
    {
        $panel->discoverResources(
            in: __DIR__.'/Filament/Resources',
            for: 'Modules\\MyModule\\Filament\\Resources',
        );
    }
}
```

Modules are enabled/disabled in `modules_statuses.json` and via `php artisan module:enable` / `php artisan module:disable`.

---

🤝 Contributing
--------------

[](#-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.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

---

📄 License
---------

[](#-license)

Distributed under the MIT License. See `LICENSE` for more information.

Built with ❤️ by Koamishin

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance86

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 91.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~17 days

Recently: every ~2 days

Total

9

Last Release

20d ago

PHP version history (2 changes)v1.1.0-beta.1.1PHP ^8.2

v1.3.1-beta.0.1PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/128908897?v=4)[Yuka](/maintainers/yukazakiri)[@yukazakiri](https://github.com/yukazakiri)

---

Top Contributors

[![yukazakiri](https://avatars.githubusercontent.com/u/128908897?v=4)](https://github.com/yukazakiri "yukazakiri (109 commits)")[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (10 commits)")

---

Tags

inertiakoamishin-projectslaravellaravel-boilerplatelaravel-starter-kitlaravel-vuestarterkitvueframeworkpestlaraveltailwindoctaneinertiaboilerplateinertiajsstarter-kitvuetailwindcssfortifywayfindervue3laravel-13

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/koamishin-koamistarterkit/health.svg)

```
[![Health](https://phpackages.com/badges/koamishin-koamistarterkit/health.svg)](https://phpackages.com/packages/koamishin-koamistarterkit)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[ercogx/laravel-filament-starter-kit

This is a Filament v5 Starter Kit for Laravel 13, designed to accelerate the development of Filament-powered applications.

461.7k](/packages/ercogx-laravel-filament-starter-kit)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3891.8k](/packages/codewithdennis-larament)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
