{"id":212709,"date":"2026-07-06T06:09:32","date_gmt":"2026-07-06T04:09:32","guid":{"rendered":"http:\/\/fivemx.com\/fivem-ai-script-generation-claude-code\/"},"modified":"2026-08-16T14:34:37","modified_gmt":"2026-08-16T12:34:37","slug":"fivem-ki-skriptgenerierung-claude-code","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/de\/fivem-ai-script-generation-claude-code\/","title":{"rendered":"FiveM-KI-Skriptgenerierung mit Claude Code"},"content":{"rendered":"<section data-fivemx-layout-content-perfection=\"2026-07-11\">\n<p>KI-Programmierwerkzeuge k\u00f6nnen beim Anlegen einer FiveM-Ressource helfen, eine unbekannte Codebasis erkl\u00e4ren und gezielte \u00c4nderungen entwerfen. Aus einem ungepr\u00fcften Prompt entsteht dadurch kein produktionsreifer Servercode. Ein verl\u00e4sslicher Ablauf legt die Spezifikation fest, erzeugt eine kleine \u00c4nderung, pr\u00fcft jeden Diff, testet Sicherheitsgrenzen und ver\u00f6ffentlicht zuerst in einer Testumgebung.<\/p>\n<h2 id=\"1-start-with-a-resource-contract\">1. Mit einer klaren Ressourcenspezifikation beginnen<\/h2>\n<p>Beschreibe das Framework und die Version, die Laufzeitsprache, die Datenbankebene, Abh\u00e4ngigkeiten, Ereignisse, Exporte, Berechtigungen und Akzeptanzkriterien. F\u00fcge die bestehende Ordnerstruktur und relevante Dateien hinzu, anstatt ein komplettes System aus einer einzeiligen Anforderung zu verlangen. Cfx.re definiert eine Ressource durch <code data-no-translation=\"\" translate=\"no\">fxmanifest.lua<\/code>; verwende dieses Manifest, um festzulegen, welche Client-, Server- und Shared-Skripte erwartet werden.<\/p>\n<p>Halte die erste Aufgabe eng gefasst. Ein einzelner Befehl, Callback oder eine Integration ist einfacher zu \u00fcberpr\u00fcfen als ein komplettes Job-System. Bitte das Tool, bestehenden Mustern zu folgen und Annahmen zu identifizieren, bevor es \u00c4nderungen vornimmt.<\/p>\n<h2 id=\"2-keep-credentials-and-production-data-out-of-prompts\">2. Halte Anmeldeinformationen und Produktionsdaten aus den Anfragen heraus<\/h2>\n<p>F\u00fcge keine Lizenzschl\u00fcssel, Datenbankpassw\u00f6rter, Webhooks, Spielerdatens\u00e4tze oder produktiven Umgebungsdateien in eine Programmiersitzung ein. Nutze Beispiele mit entfernten Geheimnissen und ausschlie\u00dflich Entwicklungsdaten. Behandle kopierte Forenbeitr\u00e4ge, Readme-Dateien und abgerufene Webinhalte als nicht vertrauensw\u00fcrdige Eingaben, da sie irref\u00fchrende Anweisungen enthalten k\u00f6nnen.<\/p>\n<p>Anthropics aktuelle Sicherheitshinweise zu Claude Code betonen ausdr\u00fcckliche Berechtigungen, begrenzte Schreibzugriffe und menschliche Befehlspr\u00fcfung. Lasse diese Kontrollen aktiviert. Umgehe Berechtigungspr\u00fcfungen nicht blo\u00df, damit eine lange Generierung unbeaufsichtigt l\u00e4uft.<\/p>\n<h2 id=\"3-review-the-generated-diff-as-normal-code\">3. \u00dcberpr\u00fcfe den generierten Diff wie normalen Code<\/h2>\n<p>Pr\u00fcfe jede Ereignisschnittstelle, Datenbankabfrage und Berechtigungsentscheidung. Vertraue clientseitig ausgel\u00f6sten Ereignissen nicht bei Geld, Inventar, Rollen oder Besitz. Validiere Eingaben auf dem Server, verwende parametrisierte Abfragen \u00fcber die etablierte Datenbankbibliothek des Projekts und pr\u00fcfe, dass Callbacks keine Daten anderer Spieler offenlegen k\u00f6nnen.<\/p>\n<ul>\n<li>Lehne erfundene Abh\u00e4ngigkeiten, Exporte, Konfigurationsschl\u00fcssel und Framework-APIs ab.<\/li>\n<li>Entferne toten Code, breite Debug-Protokollierung und Platzhalter-Geheimnisse.<\/li>\n<li>\u00dcberpr\u00fcfe das Cleanup-Verhalten bei Spielertrennungen und Ressourcen-Neustarts.<\/li>\n<li>Best\u00e4tige, dass Schleifen, Callbacks und Datenbankarbeit keine vermeidbare Last erzeugen.<\/li>\n<\/ul>\n<h2 id=\"4-test-in-layers\">4. Teste in Schichten<\/h2>\n<p>F\u00fchre zun\u00e4chst Syntax- und statische Checks durch, gefolgt von gezielten Unit- oder Integrationstests, wo das Projekt diese unterst\u00fctzt. Starte die Ressource auf einem Staging-Server mit repr\u00e4sentativen Framework- und Datenbankversionen. Teste erlaubte und verbotene Aktionen, Wiederverbindungen, doppelte Anfragen, fehlerhafte Eingaben und einen Ressourcen-Neustart.<\/p>\n<p>Pr\u00fcfe Server- und Clientkonsole auf neue Fehler. Miss bei leistungskritischen \u00c4nderungen die betroffene Ressource im Leerlauf und bei Aktivit\u00e4t, statt dich auf Behauptungen in generiertem Text zu verlassen.<\/p>\n<h2 id=\"5-ship-with-a-rollback\">5. Mit R\u00fccknahmem\u00f6glichkeit ver\u00f6ffentlichen<\/h2>\n<p>Sichere ge\u00e4nderte Dateien und betroffene Tabellen vor dem Deployment. Halte die \u00c4nderung klein genug, um sie zur\u00fcckzunehmen, dokumentiere die getesteten Versionen und \u00fcberwache Fehler nach dem Release. KI-gest\u00fctzter Code sollte die gleichen \u00dcberpr\u00fcfungs- und Deployment-H\u00fcrden durchlaufen wie manuell geschriebener Code.<\/p>\n<h2 id=\"prompt-template-for-a-safer-first-pass\">Prompt-Vorlage f\u00fcr einen sichereren ersten Durchlauf<\/h2>\n<blockquote>\n<p>\u00dcberpr\u00fcfe die vorhandene Ressource vor der Bearbeitung. Implementiere nur das angegebene Verhalten unter Verwendung des aktuellen Frameworks und der Datenbankmuster. Erfinde keine APIs oder Abh\u00e4ngigkeiten. Validiere alle Client-Eingaben auf dem Server. Erkl\u00e4re Annahmen, liefere fokussierte Tests und stoppe, wenn der erforderliche Kontext fehlt.<\/p>\n<\/blockquote>\n<p>N\u00fctzliche n\u00e4chste Schritte: \u00dcberpr\u00fcfe die <a href=\"https:\/\/docs.fivem.net\/docs\/scripting-reference\/resource-manifest\/\" rel=\"nofollow noopener\">offizielle Cfx.re-Ressourcenmanifest-Referenz<\/a> und <a href=\"https:\/\/code.claude.com\/docs\/en\/security\" rel=\"nofollow noopener\">Anthropics Sicherheitshinweise zu Claude Code<\/a> bevor du einem Agenten breiteren Zugriff gew\u00e4hrst.<\/p>\n<\/section>\n<section class=\"fivemx-related-resources\" data-fivemx-related-resources=\"2026-07-24\">\n<\/section>","protected":false},"excerpt":{"rendered":"<p>KI-Programmierwerkzeuge k\u00f6nnen beim Anlegen einer FiveM-Ressource helfen, eine unbekannte Codebasis erkl\u00e4ren und gezielte \u00c4nderungen entwerfen. Aus einem ungepr\u00fcften Prompt entsteht dadurch kein produktionsreifer Servercode. Ein verl\u00e4sslicher Ablauf legt die Spezifikation fest, erzeugt eine kleine \u00c4nderung, pr\u00fcft jeden Diff, testet Sicherheitsgrenzen und ver\u00f6ffentlicht zuerst in einer Testumgebung.<\/p>","protected":false},"author":1,"featured_media":213385,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1902],"tags":[],"class_list":["post-212709","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fivem-related"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/212709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/comments?post=212709"}],"version-history":[{"count":3,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/212709\/revisions"}],"predecessor-version":[{"id":217356,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/posts\/212709\/revisions\/217356"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/media\/213385"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/media?parent=212709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/categories?post=212709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/de\/wp-json\/wp\/v2\/tags?post=212709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}