php-admin/CLAUDE.md
2026-01-26 20:48:24 +00:00

1.7 KiB

Core PHP Framework Project

Architecture

Modular monolith using Core PHP Framework. Modules live in app/Mod/{Name}/Boot.php.

Event-driven registration:

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

Commands

composer run dev              # Dev server (if configured)
php artisan serve             # Laravel dev server
npm run dev                   # Vite
./vendor/bin/pint --dirty     # Format changed files
php artisan test              # All tests
php artisan make:mod Blog     # Create module

Module Structure

app/Mod/Blog/
├── Boot.php              # Event listeners
├── Models/               # Eloquent models
├── Routes/
│   ├── web.php          # Web routes
│   └── api.php          # API routes
├── Views/               # Blade templates
├── Livewire/            # Livewire components
├── Migrations/          # Database migrations
└── Tests/               # Module tests

Packages

Package Purpose
host-uk/core Core framework, events, module discovery
host-uk/core-admin Admin panel, Livewire modals
host-uk/core-api REST API, scopes, rate limiting, webhooks
host-uk/core-mcp Model Context Protocol for AI agents

Conventions

  • UK English (colour, organisation, centre)
  • PSR-12 coding style (Laravel Pint)
  • Pest for testing
  • Livewire + Flux Pro for UI

License

  • Core\ namespace and vendor packages: EUPL-1.2 (copyleft)
  • app/Mod/*, app/Website/*: Your choice (no copyleft)

See LICENSE for full details.