Claude-skill-registry fusecore
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.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/fusecore" ~/.claude/skills/majiayu000-claude-skill-registry-fusecore && rm -rf "$T"
manifest:
skills/data/fusecore/SKILL.mdsource content
FuseCore Modular Architecture
Agent Workflow (MANDATORY)
Before ANY implementation in FuseCore project, launch in parallel:
- fuse-ai-pilot:explore-codebase - Analyze existing modules in
/FuseCore/ - fuse-ai-pilot:research-expert - Verify Laravel 12 patterns via Context7
- fuse-laravel:laravel-expert - Apply Laravel best practices
After implementation, run fuse-ai-pilot:sniper for validation.
Overview
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 |
| Traits | for resource loading |
| Contracts | , |
| React Integration | Isolated React per module |
| i18n | Multi-language support (FR/EN/DE/IT/ES) |
Critical Rules
- All code in
- Never in/FuseCore/{Module}//app/ - One module.json per module - Required for discovery
- ServiceProvider per module - Use
traitHasModule - Files < 100 lines - Split at 90 lines (SOLID)
- Interfaces in
- Never in components/App/Contracts/ - Migrations in module -
/Database/Migrations/ - Routes in module -
/Routes/api.php
Architecture Overview
FuseCore/ ├── 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"]
Reference Guide
Architecture
| 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 |
Implementation
| 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 |
Resources
| 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 |
Guides
| Topic | Reference | When to consult |
|---|---|---|
| Creating Module | creating-module.md | Step-by-step guide |
Templates (Code Examples)
| 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 |
Quick Reference
Create New Module
# 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
module.json
{ "name": "ModuleName", "version": "1.0.0", "enabled": true, "isCore": false, "dependencies": ["User"] }
ServiceProvider
class ModuleNameServiceProvider extends ServiceProvider { use HasModule; public function boot(): void { $this->loadModuleMigrations(); } }
Routes
Route::middleware(['api', 'auth:sanctum'])->group(function () { Route::apiResource('items', ItemController::class); });
Module Checklist
-
directory created/FuseCore/{Module}/ -
with name, version, dependenciesmodule.json -
with{Module}ServiceProvider.php
traitHasModule - Routes in
/Routes/api.php - Migrations in
/Database/Migrations/ - Models in
/App/Models/ - Controllers in
/App/Http/Controllers/ - React in
(if needed)/Resources/React/ - i18n in
/Resources/React/i18n/locales/
SOLID Compliance
| Rule | FuseCore Implementation |
|---|---|
| Single Responsibility | One module = one feature |
| Open/Closed | Extend via |
| Liskov Substitution | |
| Interface Segregation | Separate contracts |
| Dependency Inversion | Inject via ServiceProvider |
File limits: All files < 100 lines. Split at 90.
Naming Conventions
| Type | Convention | Example |
|---|---|---|
| Module folder | PascalCase | |
| module.json name | PascalCase | |
| ServiceProvider | | |
| Controller | | |
| Model | Singular | |
| Migration | | |
| Routes file | | Always |