No description
Find a file
Snider 8f27fe85c3 refactor: update Tenant module imports after namespace migration
Updates all references from Core\Mod\Tenant to Core\Tenant following
the monorepo separation. The Tenant module now lives in its own package
with the simplified namespace.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 17:39:12 +00:00
.gemini Initial commit 2026-01-26 23:18:22 +00:00
.github monorepo sepration 2026-01-27 00:24:22 +00:00
changelog/2026/jan refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Concerns refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Console refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Contracts refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Controllers refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
Data refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
database/migrations monorepo sepration 2026-01-27 00:24:22 +00:00
Events refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Exceptions refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Jobs refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
Lang/en_GB monorepo sepration 2026-01-27 00:24:22 +00:00
Listeners refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
Mail refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Mcp/Tools refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
Middleware refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Migrations monorepo sepration 2026-01-27 00:24:22 +00:00
Models refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
Notifications refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
routes refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Service refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
Services refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
tests refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
View refactor: update Tenant module imports after namespace migration 2026-01-27 17:39:12 +00:00
.editorconfig Initial commit 2026-01-26 23:18:22 +00:00
.gitattributes Initial commit 2026-01-26 23:18:22 +00:00
.gitignore Initial commit 2026-01-26 23:18:22 +00:00
AGENTS.md Initial commit 2026-01-26 23:18:22 +00:00
Boot.php refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
CLAUDE.md Initial commit 2026-01-26 23:18:22 +00:00
cliff.toml Initial commit 2026-01-26 23:18:22 +00:00
composer.json refactor: migrate namespace from Core\Commerce to Core\Mod\Commerce 2026-01-27 16:23:12 +00:00
config.php monorepo sepration 2026-01-27 00:24:22 +00:00
GEMINI.md Initial commit 2026-01-26 23:18:22 +00:00
LICENSE Initial commit 2026-01-26 23:18:22 +00:00
README.md Initial commit 2026-01-26 23:18:22 +00:00

Core PHP Framework Project

CI codecov PHP Version Laravel License

A modular monolith Laravel application built with Core PHP Framework.

Features

  • Core Framework - Event-driven module system with lazy loading
  • Admin Panel - Livewire-powered admin interface with Flux UI
  • REST API - Scoped API keys, rate limiting, webhooks, OpenAPI docs
  • MCP Tools - Model Context Protocol for AI agent integration

Requirements

  • PHP 8.2+
  • Composer 2.x
  • SQLite (default) or MySQL/PostgreSQL
  • Node.js 18+ (for frontend assets)

Installation

# Clone or create from template
git clone https://github.com/host-uk/core-template.git my-project
cd my-project

# Install dependencies
composer install
npm install

# Configure environment
cp .env.example .env
php artisan key:generate

# Set up database
touch database/database.sqlite
php artisan migrate

# Start development server
php artisan serve

Visit: http://localhost:8000

Project Structure

app/
├── Console/      # Artisan commands
├── Http/         # Controllers & Middleware
├── Models/       # Eloquent models
├── Mod/          # Your custom modules
└── Providers/    # Service providers

config/
└── core.php      # Core framework configuration

routes/
├── web.php       # Public web routes
├── api.php       # REST API routes
└── console.php   # Artisan commands

Creating Modules

# Create a new module with all features
php artisan make:mod Blog --all

# Create module with specific features
php artisan make:mod Shop --web --api --admin

Modules follow the event-driven pattern:

<?php

namespace App\Mod\Blog;

use Core\Events\WebRoutesRegistering;
use Core\Events\ApiRoutesRegistering;
use Core\Events\AdminPanelBooting;

class Boot
{
    public static array $listens = [
        WebRoutesRegistering::class => 'onWebRoutes',
        ApiRoutesRegistering::class => 'onApiRoutes',
        AdminPanelBooting::class => 'onAdminPanel',
    ];

    public function onWebRoutes(WebRoutesRegistering $event): void
    {
        $event->routes(fn() => require __DIR__.'/Routes/web.php');
        $event->views('blog', __DIR__.'/Views');
    }
}

Core Packages

Package Description
host-uk/core Core framework components
host-uk/core-admin Admin panel & Livewire modals
host-uk/core-api REST API with scopes & webhooks
host-uk/core-mcp Model Context Protocol tools

Flux Pro (Optional)

This template uses the free Flux UI components. If you have a Flux Pro license:

# Configure authentication
composer config http-basic.composer.fluxui.dev your-email your-license-key

# Add the repository
composer config repositories.flux-pro composer https://composer.fluxui.dev

# Install Flux Pro
composer require livewire/flux-pro

Documentation

License

EUPL-1.2 (European Union Public Licence)