liberusoftware/boilerplate-laravel

Liberu boilerplate Laravel application.

Maintainers

Package info

github.com/liberusoftware/boilerplate-laravel

Type:project

pkg:composer/liberusoftware/boilerplate-laravel

Transparency log

Fund package maintenance!

liberusoftware

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 195

Open Issues: 1

v4.4.0 2026-08-01 14:38 UTC

This package is auto-updated.

Last update: 2026-08-01 15:14:50 UTC


README

Production-ready Laravel foundation for modular, single-tenant and multi-tenant applications.

Software · Hosting · Services · Liberu Group

PHP Laravel Filament Livewire

Install Tests Docker Codecov Latest release License: MIT

Liberu Boilerplate is the deployable reference host for the Liberu Composer ecosystem. It combines independently released capability, presentation, and theme packages while keeping application bootstrapping, environment configuration, panel composition, and cross-package tests in one place.

Key features

  • Jetstream authentication, profiles, sessions, two-factor authentication, passkeys, and social login
  • Filament admin and account panels assembled from optional presentation modules
  • Organisations, teams, roles, permissions, audit trails, settings, and feature flags
  • Messaging, notifications, localisation, search, files, webhooks, integrations, analytics, and import/export foundations
  • Queue, scheduler, Horizon, Pulse, Telescope, Octane, Reverb, backup, and observability support
  • Independently versioned modules installed into tracked /modules directories
  • Independently versioned themes installed into tracked /themes directories with inheritance and safe fallback
  • Architecture tests for manifests, dependency direction, package ownership, and presentation boundaries

Requirements

Dependency Supported version
PHP 8.5
Laravel 13.x
Filament 5.x
Livewire 4.x
Composer 2.x
Node.js Latest stable release
Database A Laravel-supported SQL database

Quick start

git clone https://github.com/liberusoftware/boilerplate-laravel.git
cd boilerplate-laravel
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run build
php artisan migrate
php artisan serve

Review .env before migrating. Use php artisan migrate --seed only when example data is wanted. The optional interactive install.sh supports local, Docker, and Kubernetes-oriented setup.

Composable package architecture

Each runtime capability is an independent liberu-module Composer package with its own GitHub repository, release lifecycle, manifest, provider, documentation, and tests. Each visual package is an independent liberu-theme. Shared contract packages and the custom installer are normal Composer dependencies under /vendor.

Application composition
├── modules/       # Composer-installed module releases, tracked in Git
├── themes/        # Composer-installed theme releases, tracked in Git
├── app/           # Host-only composition and integration
├── config/        # Enabled modules and application policy
└── tests/         # Cross-package and application tests

Composer is the source of installation and version truth:

# Update all dependencies, including modules and themes
composer update --with-all-dependencies

# Update one capability from its tagged GitHub repository
composer update liberusoftware/search --with-dependencies

The trusted liberusoftware/composer-installer places packages according to type:

Composer type Install path Repository convention
liberu-module /modules/{installer-name} liberusoftware/module-{installer-name}
liberu-theme /themes/{installer-name} liberusoftware/theme-{installer-name}
Contract/library /vendor Package-specific repository

modules/ and themes/ are intentionally kept out of .gitignore. Their reproduced contents are committed so deployments and reviews can see the exact installed code, while composer.lock pins each release and source commit. Do not edit an installed module only in this host: contribute the generic change to its package repository, release it, and update the Composer dependency here.

Installation, runtime enablement, authorisation, and commercial entitlement are separate concerns. config/modules.php selects the enabled capability graph; the module manager validates dependencies and orders providers without scanning application classes manually.

Every module also publishes a validated feature catalog in module.json. Hosts can inspect the complete catalog or search it without loading module internals:

php artisan module:features
php artisan module:features health
php artisan module:status application-core

Module and theme development

A module owns one cohesive capability and communicates through public contracts, actions, events, registries, or stable identifiers. Domain modules do not depend on Filament or themes; optional *-filament, *-api, and *-livewire packages provide presentation adapters.

Every module contains:

composer.json
module.json
README.md
LICENSE.md
CHANGELOG.md
src/
database/ or resources/ when required
tests/

Themes contain composer.json, theme.json, source assets, compatibility metadata, accessibility/fallback expectations, tests, documentation, and asset licensing information. See the module development guide and theme architecture.

Testing and quality

composer validate --strict
vendor/bin/pest
vendor/bin/pint --test
npm run build

The test suite exercises application behaviour and every installed module provider. Package architecture tests verify metadata, declared dependencies, host isolation, UI boundaries, and Composer ownership.

Publishing the component repositories

The publishing helper derives repository names from directory names, using module- for entries in modules/ and theme- for entries in themes/. It also handles this complete meta repository as boilerplate-laravel.

# Inspect all mappings without changing GitHub
scripts/publish-components

# Create any missing public repositories in the organisation
scripts/publish-components --create

# After committing the complete worktree, split and push every component plus the meta repository
scripts/publish-components --push

Publishing requires authenticated gh and git access to the organisation. Push mode deliberately refuses a dirty worktree because subtree splits can only publish committed content. Existing repositories are updated without force, so non-fast-forward histories must be reconciled explicitly rather than overwritten.

After the repositories are public, register every Composer package on Packagist:

# Verify all package-to-repository mappings without submitting
php scripts/submit-packagist.php --dry-run

# Obtain the MAIN API token from packagist.org/profile, then bulk register the packages
export PACKAGIST_USERNAME='your-packagist-username'
export PACKAGIST_API_TOKEN='your-packagist-api-token'
php scripts/submit-packagist.php
unset PACKAGIST_API_TOKEN

The submitter skips packages that are already registered and reports individual API failures without printing the configured token.

Documentation

Related Liberu projects

Project Repository Scope
Accounting liberusoftware/accounting-erp-laravel Ledgers, banking, tax, expenses, close, and reporting
Automation liberusoftware/automation-laravel Governed workflows, provider-neutral AI, approvals, and connectors
Billing liberusoftware/billing-laravel Billing, subscriptions, payments, invoices, and revenue operations
Boilerplate liberusoftware/boilerplate-laravel Modular Laravel foundation and reference implementation
Browser game liberusoftware/browser-game-laravel Browser-based game platform and domain capabilities
CMS liberusoftware/cms-laravel Content, publishing, pages, media, search, and delivery
Control panel liberusoftware/control-panel-laravel Hosting, infrastructure, DNS, mail, backups, and operations
CRM liberusoftware/crm-laravel Customers, leads, opportunities, sales, and service
Ecommerce liberusoftware/ecommerce-laravel Catalogues, checkout, orders, fulfilment, and returns
Genealogy liberusoftware/genealogy-laravel Genealogy records, relationships, sources, and research
Maintenance liberusoftware/maintenance-laravel Maintenance planning, assets, work orders, and operations
Real estate liberusoftware/real-estate-laravel Property, listing, tenancy, and transaction workflows
Social network liberusoftware/social-network-laravel Social profiles, groups, content, messaging, and discovery

Security

Do not report security vulnerabilities through public GitHub issues. Email security@liberusoftware.com with reproduction details and the affected version so the report can be handled privately.

License

This project is open-source software available under the MIT License. The linked licence text is authoritative; this summary is not legal advice.

Feedback and contributing

Feedback and contributions are welcome. Report reproducible bugs, propose focused enhancements, improve documentation or translations, and submit tested changes. Search existing issues first. Pull requests should explain the problem and approach, remain focused, pass the required checks, and document user-visible or breaking changes. Security reports must follow the private route above.

Contributors

Thank you to everyone who helps improve Liberu. View the contributors graph.