# Case Study: FragonForge. KI-gestützte Code-Automatisierung für GitLab **Published**: 2026-02-11T11:49:00Z **Read time**: 5 min > Wie wir eine Self-Hosted-Plattform gebaut haben, die GitLab Issues automatisch in fertige Merge Requests verwandelt. Mit integrierter Code-Analyse und einem Project Orchestrator, der ganze Projekte autonom umsetzt. Inklusive technischer Insights zu asynchronen KI-Agenten, SQLite vs. PostgreSQL und mehrstufiger Konfigurationsarchitektur.

Auf einen Blick

Projekt Eigenentwicklung, Fragon Studios
Branche DevOps / Software Engineering
Technologien .NET 10, React, TypeScript, SQLite, Docker
Zeitraum 2025, laufend
Ergebnis Von Issue zu Merge Request in unter 5 Minuten, vollautomatisch

Die Ausgangssituation

Softwareentwicklung besteht zu einem großen Teil aus repetitiven Aufgaben: Boilerplate-Code schreiben, Dependencies aktualisieren, Code Reviews durchführen, Sicherheitslücken finden. Als Engineering Lab mit Fokus auf Effizienz stellten wir uns die Frage: Was wäre, wenn ein KI-Agent diese Aufgaben eigenständig übernimmt? Direkt in unserem bestehenden GitLab-Workflow, ohne Umwege?

Die am Markt verfügbaren Lösungen wie GitHub Copilot, CodeRabbit oder Cursor waren entweder an GitHub gebunden, rein SaaS-basiert (Daten verlassen also den eigenen Server) oder deckten nur Teilbereiche ab. Für ein Unternehmen mit selbst gehostetem GitLab und strikten DSGVO-Anforderungen war keine davon geeignet.

Die Herausforderung

Wir brauchten eine Lösung, die drei Kernprobleme gleichzeitig löst:

Automatische Code-Generierung. Ein Entwickler beschreibt ein Issue, die KI liefert eine fertige Merge Request.

Automatische Code-Analyse. Bei jeder MR werden Security, Dependencies und Code Style geprüft.

Volle Datensouveränität. Kein Code verlässt die eigene Infrastruktur. Der einzige externe Call ist der zum LLM, und selbst der lässt sich bei Bedarf durch ein lokales Modell ersetzen.

Zusätzlich muss das System mit beliebig vielen Repositories umgehen können, unterschiedliche Tech-Stacks erkennen (.NET, Node.js, etc.) und konfigurierbar sein, ohne dass jemand Docker-Container neustarten muss.


Unsere Lösung: FragonForge

FragonForge ist eine Self-Hosted-Plattform, die sich als Webhook in GitLab einklinkt und drei Kernfunktionen bietet.

1. Coding Agent: Vom Issue zur Merge Request

Der Workflow ist denkbar einfach: Ein Entwickler erstellt ein GitLab Issue und setzt das Label ai-task. FragonForge empfängt den Webhook, klont das Repository und erstellt einen Feature-Branch. Ein KI-Agent analysiert das Issue und schreibt den Code. FragonForge erstellt automatisch eine Draft Merge Request mit allen Änderungen. Der Entwickler reviewt und mergt.

Was Sie daraus mitnehmen können: Der Schlüssel zum Erfolg war die Entscheidung, den Agent nicht interaktiv zu gestalten. Statt eines Chatbots, der Rückfragen stellt, bekommt der Agent einmal den vollständigen Kontext (Issue-Beschreibung, Repository-Struktur, bestehender Code) und liefert ein Ergebnis. Das reduziert die Latenz drastisch und macht den Workflow asynchron. Der Entwickler muss nicht warten.

2. Static Analysis: Automatische Code-Qualitätsprüfung

Bei jeder Merge Request laufen vier Analyse-Tools automatisch: Semgrep für Security-Schwachstellen und Code Patterns (SAST), Trivy für Dependency- und Container-Vulnerabilities, dotnet format bzw. ESLint für Code-Style-Konsistenz, und dotnet audit bzw. npm audit für bekannte Paket-Schwachstellen.

Die Ergebnisse werden im Dashboard aggregiert und nach Severity kategorisiert. FragonForge erkennt automatisch den Projekttyp und wählt die passenden Tools aus.

Technischer Insight: Die Tool-Integration läuft direkt im FragonForge-Container, nicht als separate CI-Pipeline. Das hat zwei Vorteile: Die Ergebnisse landen sofort in der eigenen Datenbank (statt als CI-Artefakte), und das Dashboard kann historische Trends über alle Repositories hinweg darstellen.

3. Project Orchestrator: Ganze Projekte autonom umsetzen

Das ambitionierteste Feature: Man beschreibt ein Projekt in natürlicher Sprache, und FragonForge zerlegt es in einzelne Issues mit Abhängigkeiten. Diese werden dann sequentiell oder parallel abgearbeitet.

Der Flow: Projektbeschreibung eingeben, ein Planungs-LLM zerlegt die Beschreibung in konkrete Issues mit Dependency-Graph, der Entwickler reviewed und editiert den Plan, und FragonForge erstellt die Issues in GitLab und arbeitet sie ab. Bei bestandenem Quality Gate wird automatisch gemergt.

Architektur-Entscheidung: Planung und Coding verwenden bewusst unterschiedliche LLM-Modelle. Für die Planung eignen sich leistungsstärkere Modelle (z.B. Claude Opus), während die Coding-Tasks mit schnelleren Modellen (z.B. Claude Sonnet) effizient abgearbeitet werden.


Architektur-Entscheidungen und Learnings

Warum ein Monolith statt Microservices? FragonForge ist ein einzelner Docker-Container mit .NET-Backend und React-Frontend. Für ein Self-Hosted-Produkt muss das Deployment so einfach wie möglich sein. Ein docker-compose up und eine Handvoll Umgebungsvariablen reichen aus.

SQLite statt PostgreSQL. Für die Task-Historie, Analyse-Ergebnisse und Konfiguration verwenden wir SQLite. Kein zusätzlicher Datenbankserver nötig, Backup ist eine einzelne Datei, und für den Anwendungsfall (hunderte Tasks pro Tag, nicht Millionen) ist die Performance mehr als ausreichend.

Konfiguration auf drei Ebenen. FragonForge löst Konfiguration in einer klaren Hierarchie auf: Global (Standardwerte für alle Repositories), Per Repository (überschreibt globale Settings via Dashboard), und Im Repository (eine .fragonforge.yml im Repo überschreibt alles). Das ermöglicht Teams, ihre Einstellungen selbst zu verwalten, ohne Admin-Zugriff auf das Dashboard zu brauchen.

Ergebnisse

FragonForge umfasst heute über 379 automatisierte Tests, verwandelt Issues in unter 5 Minuten in fertige Merge Requests, integriert 4 Analyse-Tools mit aggregiertem Dashboard und unterstützt Multi-Repository-Setups mit automatischer Projekttyp-Erkennung. Das Ganze läuft vollständig self-hosted auf einem einzelnen VPS.


Takeaways für Ihre Projekte

KI-Agenten funktionieren am besten asynchron. Statt interaktiver Chatbots, die Rückfragen stellen, liefert ein "Fire-and-Forget"-Ansatz mit klarem Kontext bessere und schnellere Ergebnisse.

Self-Hosting ist kein Kompromiss. Mit modernen Container-Technologien ist ein Self-Hosted-Deployment genauso komfortabel wie SaaS. Ohne Datensouveränität aufzugeben.

Automatisierung beginnt bei den langweiligen Aufgaben. Dependency Updates, Security Scans, Code-Style-Checks: Hier bringt Automatisierung den größten ROI, weil sie Entwickler von Arbeit befreit, die niemand gerne macht.

Konfigurierbarkeit auf mehreren Ebenen (global, per repo, im repo) skaliert besser als ein zentralisiertes Settings-Panel, weil Teams Ownership über ihre Konfiguration behalten.

FragonForge wird von Fragon Studios als Lösung für Self-Hosted GitLab-Instanzen entwickelt.