liberusoftware / boilerplate-laravel
Liberu boilerplate Laravel application.
Package info
github.com/liberusoftware/project-boilerplate-laravel-filament
Type:project
pkg:composer/liberusoftware/boilerplate-laravel
Fund package maintenance!
Requires
- php: ^8.5
- bezhansalleh/filament-shield: ^4.3.1
- bursteri/socialstream: ^7.0.0
- filament/filament: ^5.11.0
- filament/spatie-laravel-settings-plugin: ^5.11.0
- laravel/framework: ^13.38.0
- laravel/horizon: ^5.50.1
- laravel/jetstream: ^5.5.3
- laravel/octane: ^2.22.0
- laravel/pulse: ^1.8.1
- laravel/reverb: ^1.12.0
- laravel/sanctum: ^4.3.3
- laravel/socialite: ^5.31.0
- laravel/tinker: ^3.0.2
- liberusoftware/activity-comments: ^1.0
- liberusoftware/analytics-contracts: ^1.0
- liberusoftware/analytics-core: ^1.0
- liberusoftware/analytics-google: ^1.0
- liberusoftware/analytics-meta: ^1.0
- liberusoftware/api-access: ^1.0
- liberusoftware/application: ^1.0
- liberusoftware/audit: ^1.0
- liberusoftware/composer-installer: ^1.1
- liberusoftware/currency-context: ^1.0
- liberusoftware/developer-experience: ^1.0
- liberusoftware/feature-flags: ^1.0
- liberusoftware/files-media: ^1.0
- liberusoftware/identity-core: ^1.0
- liberusoftware/identity-core-filament: ^1.0
- liberusoftware/identity-socialstream: ^1.0
- liberusoftware/import-export: ^1.0
- liberusoftware/integrations: ^1.0
- liberusoftware/jetstream-bridge: ^1.0
- liberusoftware/localization-contracts: ^1.0
- liberusoftware/localization-core: ^1.0
- liberusoftware/localization-core-livewire: ^1.0
- liberusoftware/localization-mymemory: ^1.0
- liberusoftware/module-manager: ^1.0
- liberusoftware/module-manager-filament: ^1.1
- liberusoftware/notifications: ^1.0
- liberusoftware/observability: ^1.0
- liberusoftware/organizations-teams: ^1.0
- liberusoftware/organizations-teams-filament: ^1.0
- liberusoftware/profiles: ^1.0
- liberusoftware/roles-permissions: ^1.0
- liberusoftware/roles-permissions-filament: ^1.0
- liberusoftware/scheduler-queues: ^1.0
- liberusoftware/search: ^1.0
- liberusoftware/search-api: ^1.0
- liberusoftware/sessions-devices: ^1.0
- liberusoftware/sessions-devices-filament: ^1.1
- liberusoftware/settings: ^1.0
- liberusoftware/settings-filament: ^1.0
- liberusoftware/tenancy: ^1.0.1
- liberusoftware/theme-base: ^2.0
- liberusoftware/theme-clear-signal: ^1.0
- liberusoftware/theme-dark: ^1.0
- liberusoftware/theme-default: ^1.0
- liberusoftware/theme-support: ^1.0
- liberusoftware/theme-support-livewire: ^1.1
- liberusoftware/two-factor-authentication: ^1.0
- liberusoftware/users-roles: ^1.0
- liberusoftware/webhooks: ^1.0
- livewire/livewire: ^4.4.8
- spatie/laravel-activitylog: ^5.1.3
- spatie/laravel-backup: ^10.3.3
- spatie/laravel-passkeys: ^1.8.1
- spatie/laravel-permission: ^8.3.2
- spiral/roadrunner-cli: ^3.0.1
- spiral/roadrunner-http: ^4.2.1
Requires (Dev)
- fakerphp/faker: ^1.24.1
- filament/upgrade: ^5.11.0
- fruitcake/laravel-debugbar: ^4.4.4
- larastan/larastan: ^3.13.2
- laravel/boost: ^2.10.3
- laravel/mcp: ^1.1.2
- laravel/pint: ^1.32.1
- laravel/sail: ^1.69.0
- laravel/telescope: ^5.26.0
- liberusoftware/boilerplate-scripts: ^1.1
- mockery/mockery: ^1.6.15
- nunomaduro/collision: ^8.9.5
- pestphp/pest: ^5.3.3
- pestphp/pest-plugin-laravel: ^5.0.1
- phpunit/phpunit: ^13.4.3
- spatie/laravel-ignition: ^2.12.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v4.4.1
- v4.4.0
- v4.3.0
- v4.1.0
- v3.1.0
- v3.0.0
- v2.0.0
- v1
- dev-feat/shared-module-manager
- dev-fix/publisher-fail-safe
- dev-fix/deterministic-search-test-20261025
- dev-research/standards-classification
- dev-docs/conformance-plan
- dev-chore/composable-package-readiness
- dev-fix/security-headers
- dev-fix/password-policy
- dev-fix/search-api-security
- dev-fix/blog-post-author
- dev-feat/super-admin-login-redirect
- dev-fix/shield-roleresource-tenancy
- dev-fix/seeder-admin-owns-team
- dev-fix/super-admin-gate-team-agnostic
- dev-fix/shield-super-admin-gate
- dev-feat/module-framework
- dev-feat/restore-user-management
- dev-feat/landing-clear-signal
- dev-feat/clear-signal-theme
- dev-feat/admin-site-theme
- dev-chore/fresh-skeleton
- dev-fix/pint-search-imports
- dev-phase-7-extras
- dev-phase-6-messaging
- dev-phase-5-search
- dev-phase-3-i18n
- dev-phase-4-modules
- dev-phase-2-themes
- dev-phase-1-settings-tenancy
- dev-fix/user-connected-accounts
- dev-fix/publish-jetstream-components
- dev-fix/admin-resource-tenancy-optout
- dev-fix/module-resource-records
- dev-fix/shield-role-tenancy
- dev-fix/user-team-methods
- dev-feat/prove-module-layer1
- dev-chore/docs-merge
- dev-chore/docs-cleanup
- dev-feat/admin-user-account-settings-tab
- dev-test/search-role-filter-regression
- dev-design/clear-signal-auth-landing
- dev-copilot/fix-workflows-syntax-errors
- dev-copilot/fix-mysql-install-tests
- dev-copilot/replace-docker-build-setup
- dev-copilot/fix-phpunit-tests-and-docker-build
- dev-copilot/update-contact-info-and-badges
- dev-copilot/fix-dockerfile-build
- dev-copilot/fix-dockerfile-build-error
- dev-copilot/add-intl-extension-to-dockerfile
- dev-copilot/fix-docker-setup-multi-stage
- dev-copilot/refactor-module-system-internachi
- dev-copilot/improve-modules-and-theme-support
- dev-copilot/improve-installation-process
- dev-copilot/add-multi-language-support
- dev-copilot/upgrade-filament-livewire
- dev-copilot/improve-installer-module-support
- dev-copilot/fix-syntax-error-user-php
- dev-menus
- dev-copilot/integrate-real-time-chat-feature
- dev-copilot/refactor-admin-panel-interface
- dev-copilot/improve-notification-features
- dev-copilot/optimize-search-functionality
- dev-copilot/fix-mobile-layout-usability
- dev-copilot/add-avatar-upload-functionality
- dev-copilot/extend-modular-architecture
- dev-copilot/enhance-search-functionality
- dev-copilot/fix-registration-validation-issues
- dev-copilot/create-private-messaging-system
- dev-sweep/Enhance-Authentication-and-User-Management-with-Improved-Jetstream-and-Socialstream-Integration
- dev-sweep/run_php_artisan_dbseed_info_seeding
- dev-sweep/add-sweep-config
This package is auto-updated.
Last update: 2026-11-13 06:38:02 UTC
README
Production-ready Laravel foundation for modular, single-tenant and multi-tenant applications.
Software · Hosting · Services · Liberu Group
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
/modulesdirectories - Independently versioned themes installed into tracked
/themesdirectories 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/project-boilerplate-laravel-filament.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 search
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
- Foundation architecture
- Module development
- Foundation compliance
- Foundation module matrix
- Theme architecture
- Theme system
- Messaging architecture
- Search architecture
- Localisation
- Notifications
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.
Automatic module and theme publishing
.github/workflows/sync-packages.yml publishes packages changed under modules/
or themes/ on pushes to main. A manual run reconciles all tracked packages.
Each package needs a composer.json with a liberusoftware/* name. Files are
copied from Git into the root of liberusoftware/module-<directory> or
liberusoftware/theme-<directory>. Where .liberu-meta.json defines a
repositoryPrefix, that design is authoritative (for example,
modules/module-manager becomes module-module-manager). Without a configured
prefix, an existing module- or theme- directory prefix is kept. Destination
history is preserved, deleted files are removed, and unchanged packages do not
receive another commit or release. Removing an entire package leaves its public
repository intact. This workflow makes tracked package edits publishable; install
checks still require the project's Composer dependencies to resolve to those
published package contents.
Configure these secrets in the packagist GitHub environment (or as repository
or organization secrets available to this repository):
MODULE_SYNC_TOKEN: organization-authorized GitHub token able to create public repositories and read/write package contents and releases across the target repositories. Because package snapshots include.github/workflows, allow workflow writes too. A classic PAT needsrepoandworkflowscopes and an organization role permitted to create repositories. The defaultGITHUB_TOKENcannot publish across these repositories.PACKAGIST_USERNAME: Packagist account that owns or maintains these packages.PACKAGIST_API_TOKEN: that account's main API token, required to submit new packages as well as update existing packages.
New packages start at their declared stable Composer version, or v1.0.0.
Existing packages use the highest stable repository tag: a higher declared
Composer version wins, BREAKING CHANGE: or type!: commits bump major,
feat: commits bump minor, and other changes bump patch. Only commits touching
the package since the last successful sync affect this decision. The first
automated run and manual runs reconcile all packages, so canceled or failed
runs cannot silently drop package changes. Tags and commits are
pushed atomically, then a GitHub release is created and the package is submitted
to or refreshed on Packagist. Rerunning a failed job completes publication
without issuing another release for the same contents. Concurrent pushes from
other projects are rejected instead of force-pushed; rerun the failed job.
The source project and its lockfile are not rewritten by publication. Different
projects publishing the same directory name share a destination repository;
coordinate their package contents. Run the publisher's local tests with
python3 -m unittest discover -s .github/scripts -p 'test_sync_packages.py'.
Project family and presentation options
This repository hosts Boilerplate with Laravel and Filament. Shared application foundation and module composition. Its existing installation instructions and manifests govern this application. The other presentations are independent skeletons derived from their matching Boilerplate foundation; repository availability does not establish product feature parity.
Other Laravel and Filament projects
| Project | Scope |
|---|---|
| Accounting ERP | Ledgers, tax, reporting and finance workflows |
| Automation | AI gateways, approvals, rules and integrations |
| Billing | Subscriptions, pricing, payments and provisioning |
| Browser Game | Game worlds, players and community workflows |
| CMS | Content authoring, publishing and delivery |
| Control Panel | Infrastructure and hosting operations |
| CRM | Relationships, sales pipelines and customer service |
| Ecommerce | Catalogs, checkout, orders and fulfillment |
| Enterprise SAP | Enterprise workspace and cross-product orchestration |
| Genealogy | Family trees, research, evidence and collaboration |
| Liberu Platform | Official sites, staff applications and platform composition |
| Maintenance | Assets, work orders, schedules and field operations |
| Music DAW | Composition, recording, sequencing and audio production |
| Real Estate | Listings, sales, lettings and agency operations |
| Social Network | Profiles, feeds, communities and moderation |
Other presentations for Boilerplate
- Laravel · Inertia · Vue: Laravel routes and sessions with Vue pages over the Inertia protocol.
- Laravel · Inertia · React: Laravel routes and sessions with React pages over the Inertia protocol.
- Nuxt · Vue: Independent Vue application with Nuxt server rendering and reviewed API integration.
- Next.js · React: Independent React application with explicit Next.js server/client boundaries.
- React Native · Expo: Native iOS/Android application using React Native and Expo.
- Flutter · Mobile: Flutter iOS/Android application using Dart and mobile widgets.
- Dart · Desktop: Dedicated Dart desktop application with a Flutter host for Linux, macOS and Windows.
- Dart · Mobile: Separate Dart mobile application with a Flutter host for iOS and Android.
Use the presentation implementation guides and product documentation to select compatible modules, reviewed contracts and the correct deployment boundary. Laravel remains authoritative for domain rules and tenant authorization across all clients.