fusecore
3
总安装量
1
周安装量
#61635
全站排名
安装命令
npx skills add https://github.com/fusengine/agents --skill fusecore
Agent 安装分布
amp
1
cline
1
opencode
1
cursor
1
continue
1
kimi-cli
1
Skill 文档
FuseCore Modular Architecture
Agent Workflow (MANDATORY)
Before ANY implementation in FuseCore project, use TeamCreate to spawn 3 agents:
- 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 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) |
Critical Rules
- All code in
/FuseCore/{Module}/– Never in/app/ - One module.json per module – Required for discovery
- ServiceProvider per module – Use
HasModuletrait - Files < 100 lines – Split at 90 lines (SOLID)
- Interfaces in
/App/Contracts/– Never in components - 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
-
/FuseCore/{Module}/directory created -
module.jsonwith name, version, dependencies -
{Module}ServiceProvider.phpwithHasModuletrait - Routes in
/Routes/api.php - Migrations in
/Database/Migrations/ - Models in
/App/Models/ - Controllers in
/App/Http/Controllers/ - React in
/Resources/React/(if needed) - i18n in
/Resources/React/i18n/locales/
SOLID Compliance
| 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.
Naming Conventions
| 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 |