Files
fivem-mcp/app/Mcp/Prompts/AddFrameworkIntegration.php
T
Adrian Mejias d3d1f5fdb3 Add FiveM resources and templates for documentation and code snippets
- Introduced a new code snippets resource for common FiveM patterns in Lua and JavaScript.
- Added a framework comparison document outlining Standalone, ESX, and QBCore features.
- Created search results view for FiveM documentation queries.
- Developed client and server template scripts for ESX and QBCore frameworks.
- Implemented NUI templates including HTML, CSS, and JavaScript for user interfaces.
- Established routes for documentation and console commands.
- Added tests for various features including documentation routes and tool functionalities.
- Configured Vite for asset management with Laravel.
- Updated .gitignore files for storage and framework directories.
2026-02-28 21:53:04 -06:00

61 lines
2.1 KiB
PHP

<?php
namespace App\Mcp\Prompts;
use Illuminate\Contracts\JsonSchema\JsonSchema;
use Laravel\Mcp\Request;
use Laravel\Mcp\Response;
use Laravel\Mcp\Server\Attributes\Description;
use Laravel\Mcp\Server\Prompt;
#[Description('Add ESX or QBCore framework integration to existing resource')]
class AddFrameworkIntegration extends Prompt
{
public function handle(Request $request): Response
{
$code = $request->get('code', '');
$currentFramework = $request->get('current_framework', 'standalone');
$targetFramework = $request->get('target_framework', 'esx');
$parts = [sprintf(
"Convert this FiveM resource from %s to %s:\n\n",
$currentFramework,
$targetFramework
)];
if ($code) {
$parts[] = sprintf("Current Code:\n```\n%s\n```\n\n", $code);
}
$parts[] = sprintf(
"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n\n%s",
"Please:",
"1. Update the fxmanifest.lua with framework dependencies",
"2. Replace custom player systems with framework functions",
"3. Convert money/inventory operations to framework equivalents",
"4. Update event handlers to use framework events",
"5. Add framework-specific features if beneficial",
"6. Maintain backward compatibility where possible",
"7. Add comments explaining the integration changes",
"Use the GetEventReference tool to find relevant framework events."
);
return Response::prompt(implode('', $parts));
}
public function schema(JsonSchema $schema): array
{
return [
'code' => $schema->string()
->description('Current resource code')
->default(''),
'current_framework' => $schema->enum(['standalone', 'esx', 'qbcore'])
->description('Current framework')
->default('standalone'),
'target_framework' => $schema->enum(['esx', 'qbcore'])
->description('Target framework')
->default('esx'),
];
}
}