diff --git a/resources/css/app.css b/resources/css/app.css index 3375c14..45ee968 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -9,6 +9,35 @@ --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --color-gta-dark: #1a1a1a; + --color-gta-light: #f8fafc; + --color-gta-orange: #f57c00; + --color-gta-cyan: #1de9b6; + --color-gta-gray: #334155; + --color-gta-indigo: #3b82f6; + + --color-gray-50: #f8fafc; + --color-gray-100: #f1f5f9; + --color-gray-200: #e2e8f0; + --color-gray-300: #cbd5e1; + --color-gray-400: #94a3b8; + --color-gray-500: #64748b; + --color-gray-600: #475569; + --color-gray-700: #334155; + --color-gray-800: #1e293b; + --color-gray-900: #0f172a; + + --color-indigo-50: #fff7ed; + --color-indigo-100: #ffedd5; + --color-indigo-200: #fed7aa; + --color-indigo-300: #fdba74; + --color-indigo-400: #fb923c; + --color-indigo-500: #f57c00; + --color-indigo-600: #ea580c; + --color-indigo-700: #c2410c; + --color-indigo-800: #9a3412; + --color-indigo-900: #7c2d12; + --animate-fade-in: fade-in 0.3s ease-in-out; @keyframes fade-in { @@ -22,3 +51,75 @@ } } } + +@layer base { + :root { + color-scheme: light dark; + } + + body { + @apply bg-gray-50 text-gray-900 dark:bg-gray-900 dark:text-gray-100; + } +} + +@layer utilities { + .text-gta-neon { + color: var(--color-gta-cyan); + } + + .text-gta-orange { + color: var(--color-gta-orange); + } + + .bg-gta-neon { + background-color: var(--color-gta-cyan); + } + + .bg-gta-orange { + background-color: var(--color-gta-orange); + } + + .border-gta-neon { + border-color: var(--color-gta-cyan); + } + + .border-gta-orange { + border-color: var(--color-gta-orange); + } +} + +@layer components { + .link-gta { + color: var(--color-gta-cyan); + transition: color 0.2s ease-in-out; + } + + .link-gta:hover { + color: #6ee7b7; + } + + .btn-gta-primary { + background-color: var(--color-gta-orange); + color: #ffffff; + border-radius: 0.5rem; + font-weight: 600; + transition: all 0.2s ease-in-out; + } + + .btn-gta-primary:hover { + background-color: #ea580c; + } + + .btn-gta-secondary { + background-color: transparent; + color: var(--color-gta-cyan); + border: 1px solid var(--color-gta-cyan); + border-radius: 0.5rem; + font-weight: 600; + transition: all 0.2s ease-in-out; + } + + .btn-gta-secondary:hover { + background-color: color-mix(in oklab, var(--color-gta-cyan) 16%, transparent); + } +} diff --git a/resources/js/app.js b/resources/js/app.js index 0f55b1d..c035f4c 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -48,13 +48,13 @@ document.addEventListener('DOMContentLoaded', () => { // Remove active class from all buttons tabButtons.forEach(btn => { - btn.classList.remove('active', 'border-indigo-500', 'text-indigo-600', 'dark:text-indigo-400'); + btn.classList.remove('active', 'border-gta-orange', 'text-gta-orange'); btn.classList.add('border-transparent', 'text-gray-500', 'dark:text-gray-400'); }); // Add active class to clicked button this.classList.remove('border-transparent', 'text-gray-500', 'dark:text-gray-400'); - this.classList.add('active', 'border-indigo-500', 'text-indigo-600', 'dark:text-indigo-400'); + this.classList.add('active', 'border-gta-orange', 'text-gta-orange'); // Hide all tab contents tabContents.forEach(content => { diff --git a/resources/views/docs/documentation.blade.php b/resources/views/docs/documentation.blade.php index 95ff321..9b0e53a 100644 --- a/resources/views/docs/documentation.blade.php +++ b/resources/views/docs/documentation.blade.php @@ -21,12 +21,12 @@
@@ -188,22 +188,20 @@ @foreach ($groupedTools as $category => $categoryTools)

- + {{ $category }} Tools ({{ count($categoryTools) }})

@foreach ($categoryTools as $index => $tool) -
+

{{ $tool['name'] }}

{{ $tool['description'] }}

@endforeach
@endforeach - - @@ -268,41 +266,42 @@ class="bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-gray-100 px-2 py-1 rounded text-sm">app/Mcp/Tools/:

-
<?php
+                
@verbatim<?php
 
-                                            namespace App\Mcp\Tools;
+namespace App\Mcp\Tools;
 
-                                            use Illuminate\Contracts\JsonSchema\JsonSchema;
-                                            use Laravel\Mcp\Request;
-                                            use Laravel\Mcp\Response;
-                                            use Laravel\Mcp\Server\Attributes\Description;
-                                            use Laravel\Mcp\Server\Tool;
+use Illuminate\Contracts\JsonSchema\JsonSchema;
+use Laravel\Mcp\Request;
+use Laravel\Mcp\Response;
+use Laravel\Mcp\Server\Attributes\Description;
+use Laravel\Mcp\Server\Tool;
 
-                                            #[Description('Your tool description')]
-                                            class YourTool extends Tool
-                                            {
-                                                public function handle(Request $request): Response
-                                                {
-                                                    // Tool logic here
-                                                    return Response::text('Result');
-                                                }
+#[Description('Your tool description')]
+class YourTool extends Tool
+{
+    public function handle(Request $request): Response
+    {
+        // Tool logic here
+        return Response::text('Result');
+    }
 
-                                                public function schema(JsonSchema $schema): array
-                                                {
-                                                    return [
-                                                        'param' => $schema->string()->required(),
-                                                    ];
-                                                }
-                                            }
+ public function schema(JsonSchema $schema): array + { + return [ + 'param' => $schema->string()->required(), + ]; + } +} +@endverbatim

2. Register the tool in app/Mcp/Servers/FiveMServer.php:

-
protected array $tools = [
-                                                // ... existing tools
-                                                \App\Mcp\Tools\YourTool::class,
-                                            ];
+
@verbatimprotected array $tools = [
+    // ... existing tools
+    \App\Mcp\Tools\YourTool::class,
+];@endverbatim

Code Formatting

Format code with Laravel Pint:

@@ -327,25 +326,19 @@

Resources

diff --git a/resources/views/docs/index.blade.php b/resources/views/docs/index.blade.php index 60fbcff..cda253a 100644 --- a/resources/views/docs/index.blade.php +++ b/resources/views/docs/index.blade.php @@ -10,223 +10,225 @@ FiveM Development MCP Server

- A comprehensive Model Context Protocol server for FiveM development with 5 tools, 3 resources, and 5 prompts. + A comprehensive Model Context Protocol server for FiveM development with 5 tools, 3 resources, and 5 + prompts.

-
+ - -
-

Features

-
- -
-
-
-
- - - -
-
-

Documentation Search

-
+ +
+

Features

+
+ +
+
+
+
+ + +
-
-

- Search FiveM documentation by topic and category. Get direct links to relevant documentation. -

+
+

Documentation Search

-
- - -
-
-
-
- - - -
-
-

Native Functions

-
-
-
-

- Look up GTA5/FiveM native functions with signatures, parameters, and code examples. -

-
+
+

+ Search FiveM documentation by topic and category. Get direct links to relevant + documentation. +

+
- -
-
-
-
- - - - -
-
-

Manifest Generator

-
+ +
+
+
+
+ + +
-
-

- Generate fxmanifest.lua files automatically for any framework and scripting language. -

+
+

Native Functions

-
- - -
-
-
-
- - - -
-
-

Event Reference

-
-
-
-

- Complete database of FiveM events including core, ESX, and QBCore events with examples. -

-
+
+

+ Look up GTA5/FiveM native functions with signatures, parameters, and code examples. +

+
- -
-
-
-
- - - - -
-
-

Boilerplate Generator

-
+ +
+
+
+
+ + + +
-
-

- Generate complete resource structures with client, server, config, and optional NUI files. -

+
+

Manifest Generator

+
+

+ Generate fxmanifest.lua files automatically for any framework and scripting language. +

+
+
- -
-
-
-
- - - - -
-
-

Framework Support

-
+ +
+
+
+
+ + +
-
-

- Full support for Standalone, ESX, and QBCore frameworks in both Lua and JavaScript. -

+
+

Event Reference

+
+

+ Complete database of FiveM events including core, ESX, and QBCore events with examples. +

+
+
+
+ + +
+
+
+
+ + + + +
+
+

Boilerplate Generator

+
+
+
+

+ Generate complete resource structures with client, server, config, and optional NUI files. +

+
+
+
+ + +
+
+
+
+ + + + +
+
+

Framework Support

+
+
+
+

+ Full support for Standalone, ESX, and QBCore frameworks in both Lua and JavaScript. +

+
+
- -
-
-
-

Ready to get started?

-

- Set up the MCP server in just 5 minutes with our quick start guide. -

- + +
+
+
+

Ready to get started?

+

+ Set up the MCP server in just 5 minutes with our quick start guide. +

+
+
- -
-

Resources

-
-
-

MCP Server Configuration

-

- To connect to the FiveM MCP server, use the following configuration in your MCP client: -

-
{
+        
+        
+

Resources

+
+
+

MCP Server Configuration

+

+ To connect to the FiveM MCP server, use the following configuration in your MCP client: +

+
@verbatim{
     "servers": {
-    "fivem": {
-        "url": "{{ route('fivem') }}",
-        "type": "http"
+        "fivem": {
+            "url": "{{ route('fivem') }}",
+            "type": "http"
+        }
     }
-    }
-}
-
-
-

External Links

-
+
+
+

External Links

+
diff --git a/resources/views/docs/quickstart.blade.php b/resources/views/docs/quickstart.blade.php index c264844..d45afc3 100644 --- a/resources/views/docs/quickstart.blade.php +++ b/resources/views/docs/quickstart.blade.php @@ -30,12 +30,12 @@