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.
