Help us improve
Share bugs, ideas, or general feedback.
From fuse-laravel
FuseCore Modular Architecture - Laravel 12 modular monolith with auto-discovery, React integration, and SOLID principles. Use when creating modules, understanding FuseCore structure, or implementing features in FuseCore projects.
npx claudepluginhub fusengine/agents --plugin fuse-laravelHow this skill is triggered — by the user, by Claude, or both
Slash command
/fuse-laravel:fusecoreThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before ANY implementation in FuseCore project, use `TeamCreate` to spawn 3 agents:
references/architecture.mdreferences/contracts.mdreferences/creating-module.mdreferences/i18n.mdreferences/migrations.mdreferences/module-discovery.mdreferences/module-json.mdreferences/module-structure.mdreferences/react-integration.mdreferences/routes.mdreferences/service-provider.mdreferences/templates/ApiRoutes.php.mdreferences/templates/Controller.php.mdreferences/templates/Migration.php.mdreferences/templates/Model.php.mdreferences/templates/ReactStructure.mdreferences/templates/Request.php.mdreferences/templates/Resource.php.mdreferences/templates/Service.php.mdreferences/templates/ServiceProvider.php.mdSOLID principles for Laravel 12 and PHP 8.5. Files < 100 lines, interfaces separated, PHPDoc mandatory. Auto-detects Laravel and FuseCore architecture.
Use when converting existing code to modular architecture. Detects Laravel (FuseCore or standard) / Next.js / React and applies correct modular patterns. Triggers: "modularize", "convert to modules", "migrate to modular", "restructure modules".
Provides Laravel patterns for PHP apps including Eloquent ORM, migrations, routing, controllers, queues, jobs, authentication, middleware, and testing. Use for Laravel projects.
Share bugs, ideas, or general feedback.
Before ANY implementation in FuseCore project, use TeamCreate to spawn 3 agents:
/FuseCore/After implementation, run fuse-ai-pilot:sniper for validation.
FuseCore is a Modular Monolith architecture for Laravel 12 with React 19 integration.
| Component | Purpose |
|---|---|
| Module | Self-contained feature (User, Dashboard, Blog) |
| Auto-Discovery | Automatic registration via module.json |
| Traits | HasModule for resource loading |
| Contracts | ModuleInterface, ReactModuleInterface |
| React Integration | Isolated React per module |
| i18n | Multi-language support (FR/EN/DE/IT/ES) |
/FuseCore/{Module}/ - Never in /app/HasModule trait/App/Contracts/ - Never in components/Database/Migrations//Routes/api.phpFuseCore/
├── Core/ # Infrastructure (priority 0)
│ ├── App/
│ │ ├── Contracts/ # ModuleInterface, ReactModuleInterface
│ │ ├── Services/ # ModuleDiscovery, RouteAggregator
│ │ ├── Traits/ # HasModule, HasModuleDatabase
│ │ └── Providers/ # FuseCoreServiceProvider
│ ├── Config/fusecore.php
│ └── module.json
│
├── User/ # Auth module
│ ├── App/Models/ # User.php, Profile.php
│ ├── Config/ # Module config (sanctum.php, etc.)
│ ├── Database/Migrations/
│ ├── Resources/React/ # Isolated React
│ ├── Routes/api.php
│ └── module.json # dependencies: []
│
└── {YourModule}/ # Your new module
├── App/
│ ├── Models/
│ ├── Http/Controllers/
│ ├── Services/
│ └── Providers/{YourModule}ServiceProvider.php
├── Config/ # Module-specific config
├── Database/Migrations/
├── Resources/React/
├── Routes/api.php
└── module.json # dependencies: ["User"]
| Topic | Reference | When to consult |
|---|---|---|
| Overview | architecture.md | Understanding FuseCore design |
| Module Structure | module-structure.md | Directory organization |
| Auto-Discovery | module-discovery.md | How modules are loaded |
| module.json | module-json.md | Module configuration |
| Topic | Reference | When to consult |
|---|---|---|
| Contracts | contracts.md | ModuleInterface, ReactModuleInterface |
| Traits | traits.md | HasModule, HasModuleDatabase |
| ServiceProvider | service-provider.md | Module registration |
| Routes | routes.md | API routing |
| Topic | Reference | When to consult |
|---|---|---|
| React Integration | react-integration.md | Frontend per module |
| Migrations | migrations.md | Database per module |
| i18n | i18n.md | Multi-language setup |
| Topic | Reference | When to consult |
|---|---|---|
| Creating Module | creating-module.md | Step-by-step guide |
| Template | Purpose |
|---|---|
| module.json.md | Module configuration |
| ServiceProvider.php.md | Module service provider |
| Controller.php.md | API controller |
| Model.php.md | Eloquent model |
| Migration.php.md | Database migration |
| ReactStructure.md | React module structure |
| ApiRoutes.php.md | API routes file |
| Resource.php.md | API Resource |
| Request.php.md | Form Request |
| Service.php.md | Business logic service |
# 1. Create directory structure
mkdir -p FuseCore/{ModuleName}/{App/{Models,Http/Controllers,Services,Providers},Database/Migrations,Resources/React,Routes}
# 2. Create module.json
# 3. Create ServiceProvider with HasModule trait
# 4. Create routes/api.php
# 5. Run: php artisan fusecore:cache-clear
{
"name": "ModuleName",
"version": "1.0.0",
"enabled": true,
"isCore": false,
"dependencies": ["User"]
}
class ModuleNameServiceProvider extends ServiceProvider
{
use HasModule;
public function boot(): void
{
$this->loadModuleMigrations();
}
}
Route::middleware(['api', 'auth:sanctum'])->group(function () {
Route::apiResource('items', ItemController::class);
});
/FuseCore/{Module}/ directory createdmodule.json with name, version, dependencies{Module}ServiceProvider.php with HasModule trait/Routes/api.php/Database/Migrations//App/Models//App/Http/Controllers//Resources/React/ (if needed)/Resources/React/i18n/locales/| Rule | FuseCore Implementation |
|---|---|
| Single Responsibility | One module = one feature |
| Open/Closed | Extend via ModuleInterface |
| Liskov Substitution | ReactModuleInterface extends ModuleInterface |
| Interface Segregation | Separate contracts |
| Dependency Inversion | Inject via ServiceProvider |
File limits: All files < 100 lines. Split at 90.
| Type | Convention | Example |
|---|---|---|
| Module folder | PascalCase | BlogPost |
| module.json name | PascalCase | "name": "BlogPost" |
| ServiceProvider | {Module}ServiceProvider | BlogPostServiceProvider |
| Controller | {Resource}Controller | PostController |
| Model | Singular | Post |
| Migration | create_{table}_table | create_posts_table |
| Routes file | api.php | Always api.php |