PHPackages                             uogsoe/laravel-init - 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. uogsoe/laravel-init

ActiveLibrary[Framework](/categories/framework)

uogsoe/laravel-init
===================

Bootstraps Laravel projects with Flux UI, Keycloak SSO, and common packages

1.1.10(1w ago)0106MITPHPPHP ^8.2CI passing

Since Feb 8Pushed 1w agoCompare

[ Source](https://github.com/UoGSoE/laravel-init)[ Packagist](https://packagist.org/packages/uogsoe/laravel-init)[ RSS](/packages/uogsoe-laravel-init/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (12)Versions (28)Used By (0)

Laravel Init
============

[](#laravel-init)

A Composer package that bootstraps Laravel projects with Flux UI, Keycloak SSO, Docker/Lando setup, and common packages via a single Artisan command.

What It Does
------------

[](#what-it-does)

- Installs and activates [Flux UI](https://fluxui.dev/) with Tailwind CSS v4
- Configures [Keycloak SSO](https://www.keycloak.org/) via Laravel Socialite
- Installs Horizon and Sanctum
- Installs Docker/Lando scaffolding used for local/dev/CI workflows
- Copies template files (routes, providers, views, etc.) with diff preview
- Injects config into `routes/web.php` and `config/services.php`
- Registers `SSOServiceProvider` in `bootstrap/providers.php`
- Sets up environment variables

Requirements
------------

[](#requirements)

- A fresh Laravel 11+ project with a clean git working tree
- [Flux UI licence](https://fluxui.dev/)
- Node.js and Composer

Installation
------------

[](#installation)

Install as a dev dependency:

```
composer require --dev uogsoe/laravel-init
```

Usage
-----

[](#usage)

```
export FLUX_USERNAME="your-flux-username"
export FLUX_LICENSE_KEY="your-flux-license-key"

php artisan project:init
```

### Options

[](#options)

OptionDescription`--skip-npm`Skip npm package installation`--skip-composer`Skip composer package installation`--skip-flux`Skip Flux activation`--skip-docker`Skip Docker/Lando/CI template files`--dry-run`Show what would change without writing files`--force`Overwrite all files without prompting### File Diff Preview

[](#file-diff-preview)

When copying template files that already exist in your project, the command prompts with `y/n/d(iff)`. Pressing `d` shows a unified diff between your existing file and the template, so you can make an informed decision before overwriting.

At the end of execution, `project:init` prints a summary of copied/skipped files and command execution status.

Docker/Lando Setup
------------------

[](#dockerlando-setup)

`project:init` installs Docker/Lando files from `stubs/`, including:

- `docker/` scripts/config
- `.lando.yml`
- `docker-compose.yml`, `prod-stack.yml`, `qa-stack.yml`
- CI files (`.github/`, `.gitlab-ci.yml`, `phpunit*.xml`, `phpunit*.Dockerfile`)
- `Dockerfile`, `.dockerignore`, and related support files

Environment handling is applied in this order:

- If `.env` is missing, it is created from the project's `.env.example`
- `stubs/.env.lando` values are merged into `.env`
- `APP_NAME` is set from the project folder name (title-cased)
- `APP_URL` is set to `https://.lndo.site/`
- `.lando.yml` `name:` is set to `` (slug form)
- `.env.example` is updated to match the final `.env`
- `APP_KEY` in `.env.example` is refreshed using `php artisan key:generate --show`

It also adds required Docker/Lando ignore entries to your project `.gitignore` and ensures:

- `storage/minio_dev/bucket/.gitkeep`
- `storage/meilisearch/.gitkeep`

Packages Installed
------------------

[](#packages-installed)

**Composer:**

- `livewire/livewire`
- `livewire/flux`
- `laravel/socialite`
- `socialiteproviders/keycloak`
- `laravel/horizon`
- `laravel/sanctum`

**NPM:**

- `vite`
- `tailwindcss`
- `@tailwindcss/vite`
- `laravel-vite-plugin`

Customisation
-------------

[](#customisation)

Fork this repo and modify the properties in `src/Commands/ProjectInitCommand.php`:

PropertyPurpose`$autoCopyPatterns`Patterns that overwrite without prompting`$internalStubFiles`Stub files used internally (not copied directly)`$gitignoreEntries`Entries appended to `.gitignore``$boostPromptUrl`URL for team conventions file### Template Files

[](#template-files)

Template files live in the `stubs/` directory. The command copies stubs into the target project, except internal helper files such as `stubs/.env.lando`. Existing files prompt before overwriting (unless matched by `$autoCopyPatterns` or `--force` is used).

```
laravel-init/
├── composer.json
├── src/
│   ├── LaravelInitServiceProvider.php
│   └── Commands/
│       └── ProjectInitCommand.php
└── stubs/
    ├── app/
    │   └── Providers/
    │       └── SSOServiceProvider.php
    ├── routes/
    │   └── sso-auth.php
    ├── resources/
    │   └── views/
    │       └── ...
    └── config/
        └── ...

```

Environment Variables
---------------------

[](#environment-variables)

Project-specific environment values are defined in `stubs/.env.lando` and merged into `.env`, then copied to `.env.example`. This includes keys such as:

```
KEYCLOAK_BASE_URL=https://
KEYCLOAK_REALM=
KEYCLOAK_CLIENT_ID=name-in-keycloak
KEYCLOAK_CLIENT_SECRET=secret-in-keycloak
KEYCLOAK_REDIRECT_URI=http://your-app/auth/callback
SSO_ENABLED=false
SSO_AUTOCREATE_NEW_USERS=false
SSO_ALLOW_STUDENTS=false
SSO_ADMINS_ONLY=false
```

Licence
-------

[](#licence)

MIT

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance98

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

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 ~5 days

Recently: every ~14 days

Total

27

Last Release

8d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5472be37b2cbedfa6c905bb674cb5780378cf2adcfc47befe01ad7bb4d14f734?d=identicon)[ohnotnow](/maintainers/ohnotnow)

---

Tags

dev

### Embed Badge

![Health badge](/badges/uogsoe-laravel-init/health.svg)

```
[![Health](https://phpackages.com/badges/uogsoe-laravel-init/health.svg)](https://phpackages.com/packages/uogsoe-laravel-init)
```

###  Alternatives

[laravel/sail

Docker files for running a basic Laravel application.

1.9k205.7M1.3k](/packages/laravel-sail)[laravel/boost

Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.

3.5k21.5M594](/packages/laravel-boost)[laravel/ai

The official AI SDK for Laravel.

1.0k3.2M194](/packages/laravel-ai)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77022.3M151](/packages/laravel-mcp)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k29.9M146](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k15.1M132](/packages/laravel-pulse)

PHPackages © 2026

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