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.4(1mo ago)027MITPHPPHP ^8.2

Since Feb 8Pushed 1mo 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 1mo ago

READMEChangelogDependencies (4)Versions (22)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

42

—

FairBetter than 90% of packages

Maintenance88

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity56

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

Recently: every ~8 days

Total

21

Last Release

59d 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/tinker

Powerful REPL for the Laravel framework.

7.4k423.8M1.8k](/packages/laravel-tinker)[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.5k10.6M274](/packages/laravel-boost)[laravel/ui

Laravel UI utilities and presets.

2.7k134.9M601](/packages/laravel-ui)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[laravel/sail

Docker files for running a basic Laravel application.

1.9k186.9M1.0k](/packages/laravel-sail)[laravel/jetstream

Tailwind scaffolding for the Laravel framework.

4.1k19.8M136](/packages/laravel-jetstream)

PHPackages © 2026

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