No description
Find a file
Snider c3a783f547 docs: improve CLAUDE.md with Claude Code header and expanded guidance
Add required Claude Code header, Laravel 12 version, example onWebRoutes
method, single test commands, package namespaces, and consolidated
conventions from other AI instruction files.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 14:15:33 +00:00
.gemini update template defaults 2026-01-26 20:39:56 +00:00
.github Add visibility check for public repositories in CI and release workflows 2026-01-26 23:14:11 +00:00
app Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
bootstrap update template defaults 2026-01-26 20:39:56 +00:00
config Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
database Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
public Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
resources Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
routes Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
storage Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
tests Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
.editorconfig update template defaults 2026-01-26 20:39:56 +00:00
.env.example Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
.gitattributes Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
.gitignore chore: add local package development support 2026-01-27 17:41:15 +00:00
AGENTS.md update template defaults 2026-01-26 20:39:56 +00:00
artisan Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
CLAUDE.md docs: improve CLAUDE.md with Claude Code header and expanded guidance 2026-01-28 14:15:33 +00:00
cliff.toml update template defaults 2026-01-26 20:39:56 +00:00
composer.json chore: add local package development support 2026-01-27 17:41:15 +00:00
GEMINI.md update template defaults 2026-01-26 20:39:56 +00:00
LICENSE update template defaults 2026-01-26 20:39:56 +00:00
package.json Merge pull request #5 from host-uk/dependabot/npm_and_yarn/laravel-vite-plugin-2.1.0 2026-01-26 20:45:51 +00:00
phpunit.xml Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
postcss.config.js Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
README.md update template defaults 2026-01-26 20:39:56 +00:00
tailwind.config.js Initial Core PHP Framework template 2026-01-26 17:19:26 +00:00
vite.config.js Initial Core PHP Framework template 2026-01-26 17:19:26 +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)