[{"data":1,"prerenderedAt":2306},["ShallowReactive",2],{"/de-de/blog/customizing-gitlab-duo-chat-rules-prompts-workflows":3,"navigation-de-de":1528,"banner-de-de":1958,"footer-de-de":1966,"blog-post-authors-de-de-Itzik Gan Baruch":2206,"blog-related-posts-de-de-customizing-gitlab-duo-chat-rules-prompts-workflows":2221,"blog-promotions-de-de":2244,"next-steps-de-de":2296},{"id":4,"title":5,"authors":6,"body":8,"category":1506,"date":1507,"description":1508,"extension":1509,"externalUrl":1510,"faq":1510,"featured":1511,"heroImage":1512,"meta":1513,"navigation":824,"path":1514,"seo":1515,"slug":1519,"stem":1520,"tags":1521,"template":1526,"updatedDate":1510,"__hash__":1527},"blogPosts/de-de/blog/customizing-gitlab-duo-chat-rules-prompts-workflows.md","GitLab Duo Agent Platform anpassen: Chat-Regeln, Prompts und Workflows",[7],"Itzik Gan Baruch",{"type":9,"value":10,"toc":1480},"minimark",[11,24,30,58,72,76,83,103,107,112,119,126,130,133,154,217,221,224,232,237,299,303,341,350,358,362,370,382,387,401,406,413,419,426,431,448,452,472,476,625,629,666,670,688,695,699,712,719,724,885,890,926,934,941,945,948,961,965,968,974,979,1006,1011,1022,1027,1061,1068,1072,1080,1109,1113,1116,1122,1127,1159,1163,1194,1199,1203,1206,1211,1222,1227,1237,1242,1252,1256,1381,1385,1388,1405,1413,1417,1457,1460,1468,1476],[12,13,14],"p",{},[15,16,17,18,23],"em",{},"Teil 8 des achtteiligen Leitfadens ",[19,20,22],"a",{"href":21},"/de-de/blog/gitlab-duo-agent-platform-complete-getting-started-guide/","GitLab Duo Agent Platform – Der komplette Einstieg",", in dem du lernst, KI-Agents und Workflows im Development Lifecycle zu erstellen und bereitzustellen. Von der ersten Interaktion bis zu produktionsreifen Automatisierungs-Workflows mit vollständiger Anpassung.",[12,25,26],{},[27,28,29],"strong",{},"In diesem Artikel:",[31,32,33,40,46,52],"ul",{},[34,35,36],"li",{},[19,37,39],{"href":38},"#einf%C3%BChrung-in-die-anpassung","Einführung in die Anpassung",[34,41,42],{},[19,43,45],{"href":44},"#teil-1-agent-verhalten-anpassen","Agent-Verhalten anpassen",[34,47,48],{},[19,49,51],{"href":50},"#teil-2-funktionen-mit-mcp-erweitern","Funktionen mit MCP erweitern",[34,53,54],{},[19,55,57],{"href":56},"#teil-3-custom-agents-und-flows-erstellen","Custom Agents und Flows erstellen",[59,60,61],"blockquote",{},[12,62,63,64,71],{},"🎯 ",[19,65,68],{"href":66,"rel":67},"https://about.gitlab.com/de-de/gitlab-duo-agent-platform/",[],[27,69,70],{},"GitLab Duo Agent Platform"," heute ausprobieren!",[73,74,39],"h2",{"id":75},"einführung-in-die-anpassung",[12,77,78,79,82],{},"Die ",[19,80,70],{"href":66,"rel":81},[]," bietet sofort leistungsstarke Funktionen. Durch Anpassung an die spezifischen Team-Anforderungen lässt sich noch größerer Nutzen erzielen. GitLab bietet flexible Anpassungsoptionen auf mehreren Ebenen:",[31,84,85,91,97],{},[34,86,87,90],{},[27,88,89],{},"User-Level",": Persönliche Präferenzen über alle Projekte hinweg (Custom Rules, AGENTS.md, MCP-Config)",[34,92,93,96],{},[27,94,95],{},"Workspace-Level",": Projektspezifische Konfigurationen (Custom Rules, AGENTS.md, MCP-Config)",[34,98,99,102],{},[27,100,101],{},"Project-Level",": Custom Agents und Flows, die innerhalb eines spezifischen Projekts erstellt und verwaltet werden",[73,104,106],{"id":105},"teil-1-agent-verhalten-anpassen","Teil 1: Agent-Verhalten anpassen",[108,109,111],"h3",{"id":110},"custom-rules","Custom Rules",[12,113,114,118],{},[19,115,111],{"href":116,"rel":117},"https://docs.gitlab.com/user/duo_agent_platform/customize/custom_rules/",[]," liefern Anweisungen für Agents und Flows und gewährleisten konsistentes Verhalten im Team ohne Wiederholungen – beispielsweise für Entwicklungs-Style-Guides oder Test-Ausführung.",[12,120,121,122,125],{},"Navigation: ",[27,123,124],{},"IDE-Workspace oder User-Konfigurationsverzeichnis",".",[108,127,129],{"id":128},"custom-rules-auf-user-level","Custom Rules auf User-Level",[12,131,132],{},"User-Level-Regeln gelten für alle Projekte und Workspaces.",[12,134,135,136,141,142,145,146,150,151],{},"Detaillierte Anweisungen zum Erstellen von User-Level Custom Rules finden sich in der ",[19,137,140],{"href":138,"rel":139},"https://docs.gitlab.com/user/duo_agent_platform/customize/custom_rules/#create-user-level-custom-rules",[],"GitLab-Dokumentation",".\n",[27,143,144],{},"Datei erstellen:"," ",[147,148,149],"code",{},"~/.gitlab/duo/chat-rules.md"," im Home-Verzeichnis.\n",[27,152,153],{},"Beispielregeln:",[155,156,162],"pre",{"className":157,"code":158,"language":159,"meta":160,"style":161},"language-markdown shiki shiki-themes github-light","- JSDoc-Kommentare für alle Funktionen inkludieren\n- Einfache Anführungszeichen für Strings nutzen\n- Bestehenden Code-Style im Repository befolgen\n- Prägnante Erklärungen verfassen, ausführliche Beschreibungen vermeiden\n- Tests für alle Code-Änderungen vorschlagen\n- async/await anstatt Promises verwenden\n","markdown","- Immer TypeScript für neuen Code verwenden, nie JavaScript","",[147,163,164,177,185,193,201,209],{"__ignoreMap":161},[165,166,169,173],"span",{"class":167,"line":168},"line",1,[165,170,172],{"class":171},"sqxcx","-",[165,174,176],{"class":175},"sgsFI"," JSDoc-Kommentare für alle Funktionen inkludieren\n",[165,178,180,182],{"class":167,"line":179},2,[165,181,172],{"class":171},[165,183,184],{"class":175}," Einfache Anführungszeichen für Strings nutzen\n",[165,186,188,190],{"class":167,"line":187},3,[165,189,172],{"class":171},[165,191,192],{"class":175}," Bestehenden Code-Style im Repository befolgen\n",[165,194,196,198],{"class":167,"line":195},4,[165,197,172],{"class":171},[165,199,200],{"class":175}," Prägnante Erklärungen verfassen, ausführliche Beschreibungen vermeiden\n",[165,202,204,206],{"class":167,"line":203},5,[165,205,172],{"class":171},[165,207,208],{"class":175}," Tests für alle Code-Änderungen vorschlagen\n",[165,210,212,214],{"class":167,"line":211},6,[165,213,172],{"class":171},[165,215,216],{"class":175}," async/await anstatt Promises verwenden\n",[108,218,220],{"id":219},"custom-rules-auf-workspace-level","Custom Rules auf Workspace-Level",[12,222,223],{},"Workspace-Regeln gelten nur für ein spezifisches Projekt und überschreiben User-Level-Regeln für dieses Projekt.",[12,225,226,145,228,231],{},[27,227,144],{},[147,229,230],{},".gitlab/duo/chat-rules.md"," im Projekt-Root.",[12,233,234],{},[27,235,236],{},"Beispielregeln für ein Vue.js-Projekt:",[155,238,240],{"className":157,"code":239,"language":159,"meta":161,"style":161},"- Vue 3 Composition API mit `\u003Cscript setup>` verwenden\n- Immer TypeScript-Typen für Props inkludieren\n- Scoped Styles mit SCSS nutzen\n- Slippers UI Design System befolgen\n- Komponenten unter 300 Zeilen halten\n- Kebab-Case für Komponentennamen verwenden\n- Accessibility-Attribute inkludieren (aria-*, role)\n",[147,241,242,256,263,270,277,284,291],{"__ignoreMap":161},[165,243,244,246,249,253],{"class":167,"line":168},[165,245,172],{"class":171},[165,247,248],{"class":175}," Vue 3 Composition API mit ",[165,250,252],{"class":251},"sYu0t","`\u003Cscript setup>`",[165,254,255],{"class":175}," verwenden\n",[165,257,258,260],{"class":167,"line":179},[165,259,172],{"class":171},[165,261,262],{"class":175}," Immer TypeScript-Typen für Props inkludieren\n",[165,264,265,267],{"class":167,"line":187},[165,266,172],{"class":171},[165,268,269],{"class":175}," Scoped Styles mit SCSS nutzen\n",[165,271,272,274],{"class":167,"line":195},[165,273,172],{"class":171},[165,275,276],{"class":175}," Slippers UI Design System befolgen\n",[165,278,279,281],{"class":167,"line":203},[165,280,172],{"class":171},[165,282,283],{"class":175}," Komponenten unter 300 Zeilen halten\n",[165,285,286,288],{"class":167,"line":211},[165,287,172],{"class":171},[165,289,290],{"class":175}," Kebab-Case für Komponentennamen verwenden\n",[165,292,294,296],{"class":167,"line":293},7,[165,295,172],{"class":171},[165,297,298],{"class":175}," Accessibility-Attribute inkludieren (aria-*, role)\n",[108,300,302],{"id":301},"best-practices-für-custom-rules","Best Practices für Custom Rules",[31,304,305,311,317,323,329,335],{},[34,306,307,310],{},[27,308,309],{},"Spezifisch sein",": „Einfache Anführungszeichen verwenden\" ist besser als „Style Guide befolgen\".",[34,312,313,316],{},[27,314,315],{},"Priorisieren",": Wichtigste Regeln zuerst auflisten.",[34,318,319,322],{},[27,320,321],{},"Team-Fokus",": Regeln sollten Team-Standards widerspiegeln, nicht persönliche Präferenzen.",[34,324,325,328],{},[27,326,327],{},"Umsetzbar",": Regeln sollten klar genug für KI-Agents sein.",[34,330,331,334],{},[27,332,333],{},"Wartbar",": Regeln aktualisieren, wenn sich Standards ändern.",[34,336,337,340],{},[27,338,339],{},"Konflikte vermeiden",": Nicht dem tatsächlichen Code-Style der Codebase widersprechen.",[12,342,343,346,347,349],{},[27,344,345],{},"Tipp:"," Code Owners nutzen, um zu verwalten, wer Änderungen an ",[147,348,230],{}," genehmigt.",[12,351,352,353,125],{},"Ein detailliertes Use-Case-Tutorial für Custom Rules findet sich im ",[19,354,357],{"href":355,"rel":356},"https://about.gitlab.com/de-de/blog/custom-rules-duo-agentic-chat-deep-dive/",[],"Custom Rules in GitLab Duo Agentic Chat Deep-Dive-Blogpost",[73,359,361],{"id":360},"agentsmd-für-agent-verhalten-anpassung","AGENTS.md für Agent-Verhalten-Anpassung",[12,363,364,369],{},[19,365,368],{"href":366,"rel":367},"https://agents.md/",[],"AGENTS.md"," ist eine Industrie-Standard-Datei zur Anpassung von Agent-Verhalten. Sie ermöglicht die Definition, wie sich Agents in Chat-Konversationen, Foundational Flows und Custom Flows verhalten sollen, ohne die Agents selbst zu modifizieren.",[12,371,372,375,376,381],{},[27,373,374],{},"Unterschied zu Custom Rules:"," AGENTS.md wird von allen Agents und Flows (foundational und custom) genutzt. Die Datei folgt einem Industrie-Standard, den auch andere KI-Tools verwenden können – beispielsweise Claude Code als ",[19,377,380],{"href":378,"rel":379},"https://docs.gitlab.com/user/duo_agent_platform/agents/external/",[],"External Agent",". AGENTS.md nutzen, wenn Anweisungen über mehrere Kontexte hinweg gelten sollen.",[12,383,384,386],{},[27,385,89],{}," (gilt für alle Projekte und Workspaces):",[31,388,389,395],{},[34,390,391,392],{},"macOS/Linux: ",[147,393,394],{},"~/.gitlab/duo/AGENTS.md",[34,396,397,398],{},"Windows: ",[147,399,400],{},"%APPDATA%\\GitLab\\duo\\AGENTS.md",[12,402,403,405],{},[27,404,95],{}," (gilt für ein spezifisches Projekt):",[31,407,408],{},[34,409,410,412],{},[147,411,368],{}," im Projekt-Root erstellen.",[12,414,415,418],{},[27,416,417],{},"Subdirectory-Level"," (gilt für spezifische Verzeichnisse in Monorepos):",[31,420,421],{},[34,422,423,425],{},[147,424,368],{}," in Subdirectories für kontextspezifische Anweisungen erstellen.",[12,427,428],{},[27,429,430],{},"Funktionsweise:",[31,432,433,436,439,442,445],{},[34,434,435],{},"User-Level AGENTS.md gilt global über alle Projekte hinweg.",[34,437,438],{},"Workspace-Level AGENTS.md gilt für ein spezifisches Projekt.",[34,440,441],{},"Subdirectory-Level AGENTS.md-Dateien liefern Kontext für spezifische Codebase-Teile.",[34,443,444],{},"Agents und Flows kombinieren Anweisungen von allen anwendbaren Ebenen.",[34,446,447],{},"Neu hinzugefügte oder aktualisierte AGENTS.md-Anweisungen erfordern das Auslösen neuer Flows oder das Starten eines neuen Chats mit einem (Custom) Agent.",[108,449,451],{"id":450},"was-agentsmd-steuert","Was AGENTS.md steuert",[31,453,454,457,460,463,466,469],{},[34,455,456],{},"Agent-Persönlichkeit und Ton",[34,458,459],{},"Projektspezifische Anweisungen",[34,461,462],{},"Coding-Standards und Konventionen",[34,464,465],{},"Tool-Nutzungspräferenzen",[34,467,468],{},"Output-Formatierungsanforderungen",[34,470,471],{},"Repository-Struktur und Organisation",[108,473,475],{"id":474},"agentsmd-beispiel","AGENTS.md-Beispiel",[155,477,479],{"className":157,"code":478,"language":159,"meta":161,"style":161},"# Agent-Anpassung für unser Projekt\n## Allgemeine Richtlinien\n- Code-Qualität immer über Geschwindigkeit priorisieren\n- Architektur-Patterns des Projekts befolgen\n- Bestehende Code-Beispiele bei Änderungsvorschlägen referenzieren\n- Bei mehrdeutigen Anforderungen um Klärung bitten\n## Code-Style\n- TypeScript für neuen Code verwenden\n- ESLint-Konfiguration im Projekt befolgen\n- Unit-Tests für alle neuen Funktionen inkludieren\n- Beschreibende Variablennamen nutzen (keine Einzelbuchstaben außer Schleifen)\n## Dokumentation\n- JSDoc-Kommentare zu allen öffentlichen Funktionen hinzufügen\n- README.md bei neuen Features aktualisieren\n- Beispiele in Code-Kommentaren inkludieren\n## Sicherheit\n- Nie Secrets oder API-Keys hartcodiert vorschlagen\n- User-Input immer validieren\n- Parametrisierte Queries für Datenbankoperationen verwenden\n- Potenzielle Sicherheitsprobleme sofort kennzeichnen\n",[147,480,481,487,492,499,506,513,520,525,533,541,549,557,563,571,579,587,593,601,609,617],{"__ignoreMap":161},[165,482,483],{"class":167,"line":168},[165,484,486],{"class":485},"surfw","# Agent-Anpassung für unser Projekt\n",[165,488,489],{"class":167,"line":179},[165,490,491],{"class":485},"## Allgemeine Richtlinien\n",[165,493,494,496],{"class":167,"line":187},[165,495,172],{"class":171},[165,497,498],{"class":175}," Code-Qualität immer über Geschwindigkeit priorisieren\n",[165,500,501,503],{"class":167,"line":195},[165,502,172],{"class":171},[165,504,505],{"class":175}," Architektur-Patterns des Projekts befolgen\n",[165,507,508,510],{"class":167,"line":203},[165,509,172],{"class":171},[165,511,512],{"class":175}," Bestehende Code-Beispiele bei Änderungsvorschlägen referenzieren\n",[165,514,515,517],{"class":167,"line":211},[165,516,172],{"class":171},[165,518,519],{"class":175}," Bei mehrdeutigen Anforderungen um Klärung bitten\n",[165,521,522],{"class":167,"line":293},[165,523,524],{"class":485},"## Code-Style\n",[165,526,528,530],{"class":167,"line":527},8,[165,529,172],{"class":171},[165,531,532],{"class":175}," TypeScript für neuen Code verwenden\n",[165,534,536,538],{"class":167,"line":535},9,[165,537,172],{"class":171},[165,539,540],{"class":175}," ESLint-Konfiguration im Projekt befolgen\n",[165,542,544,546],{"class":167,"line":543},10,[165,545,172],{"class":171},[165,547,548],{"class":175}," Unit-Tests für alle neuen Funktionen inkludieren\n",[165,550,552,554],{"class":167,"line":551},11,[165,553,172],{"class":171},[165,555,556],{"class":175}," Beschreibende Variablennamen nutzen (keine Einzelbuchstaben außer Schleifen)\n",[165,558,560],{"class":167,"line":559},12,[165,561,562],{"class":485},"## Dokumentation\n",[165,564,566,568],{"class":167,"line":565},13,[165,567,172],{"class":171},[165,569,570],{"class":175}," JSDoc-Kommentare zu allen öffentlichen Funktionen hinzufügen\n",[165,572,574,576],{"class":167,"line":573},14,[165,575,172],{"class":171},[165,577,578],{"class":175}," README.md bei neuen Features aktualisieren\n",[165,580,582,584],{"class":167,"line":581},15,[165,583,172],{"class":171},[165,585,586],{"class":175}," Beispiele in Code-Kommentaren inkludieren\n",[165,588,590],{"class":167,"line":589},16,[165,591,592],{"class":485},"## Sicherheit\n",[165,594,596,598],{"class":167,"line":595},17,[165,597,172],{"class":171},[165,599,600],{"class":175}," Nie Secrets oder API-Keys hartcodiert vorschlagen\n",[165,602,604,606],{"class":167,"line":603},18,[165,605,172],{"class":171},[165,607,608],{"class":175}," User-Input immer validieren\n",[165,610,612,614],{"class":167,"line":611},19,[165,613,172],{"class":171},[165,615,616],{"class":175}," Parametrisierte Queries für Datenbankoperationen verwenden\n",[165,618,620,622],{"class":167,"line":619},20,[165,621,172],{"class":171},[165,623,624],{"class":175}," Potenzielle Sicherheitsprobleme sofort kennzeichnen\n",[108,626,628],{"id":627},"best-practices-für-agentsmd","Best Practices für AGENTS.md",[31,630,631,636,642,648,654,660],{},[34,632,633,635],{},[27,634,309],{},": Konkrete Beispiele aus dem Projekt inkludieren.",[34,637,638,641],{},[27,639,640],{},"Prägnant halten",": Fokus auf das Projektspezifische.",[34,643,644,647],{},[27,645,646],{},"Versionskontrolle",": Im Repository committen und Änderungen nachverfolgen.",[34,649,650,653],{},[27,651,652],{},"Team-Alignment",": Mit dem Team diskutieren, bevor finalisiert wird.",[34,655,656,659],{},[27,657,658],{},"Regelmäßig aktualisieren",": Bei Projekt-Evolution verfeinern.",[34,661,662,665],{},[27,663,664],{},"Repository-Struktur dokumentieren",": Agents helfen, die Codebase-Organisation zu verstehen.",[108,667,669],{"id":668},"anforderungen","Anforderungen",[31,671,672,675,678,681],{},[34,673,674],{},"GitLab 18.8 oder höher",[34,676,677],{},"Für VS Code: GitLab Workflow Extension 6.60 oder höher",[34,679,680],{},"Für JetBrains: GitLab Plugin 3.26.0 oder höher",[34,682,683,684,687],{},"Für Flows: Flow-Konfiguration aktualisieren, um auf ",[147,685,686],{},"user_rule","-Kontext zuzugreifen",[12,689,690,125],{},[19,691,694],{"href":692,"rel":693},"https://docs.gitlab.com/user/duo_agent_platform/customize/agents_md/",[],"Mehr über AGENTS.md erfahren",[108,696,698],{"id":697},"custom-review-instructions","Custom Review Instructions",[12,700,701,705,706,711],{},[19,702,698],{"href":703,"rel":704},"https://docs.gitlab.com/user/gitlab_duo/customize_duo/review_instructions/",[]," liefern spezifische Richtlinien für den ",[19,707,710],{"href":708,"rel":709},"https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/",[],"Code Review Foundational Flow",". Die Instructions gewährleisten konsistente Code-Review-Standards und lassen sich auf spezifische Dateitypen im Projekt anpassen.",[12,713,714,145,716,231],{},[27,715,144],{},[147,717,718],{},".gitlab/duo/mr-review-instructions.yaml",[12,720,721],{},[27,722,723],{},"Beispiel Review Instructions:",[155,725,729],{"className":726,"code":727,"language":728,"meta":161,"style":161},"language-yaml shiki shiki-themes github-light","instructions:\n  - name: Ruby Style Guide\n    fileFilters:\n      - \"*.rb\"           # Ruby-Dateien im Root-Verzeichnis\n      - \"lib/**/*.rb\"    # Ruby-Dateien in lib und Subdirectories\n      - \"!spec/**/*.rb\"  # Test-Dateien ausschließen\n    instructions: |\n      1. Alle Methoden mit ordnungsgemäßer Dokumentation sicherstellen\n      2. Ruby-Style-Guide-Konventionen befolgen\n      3. Symbols gegenüber Strings für Hash-Keys bevorzugen\n\n  - name: TypeScript Source Files\n    fileFilters:\n      - \"**/*.ts\"        # TypeScript-Dateien in beliebigem Verzeichnis\n      - \"!**/*.test.ts\"  # Test-Dateien ausschließen\n    instructions: |\n      1. Ordnungsgemäße TypeScript-Typen sicherstellen ('any' vermeiden)\n      2. Namenskonventionen befolgen\n      3. Komplexe Funktionen dokumentieren\n\n","yaml",[147,730,731,740,755,762,774,784,794,805,810,815,820,826,837,843,853,862,870,875,880],{"__ignoreMap":161},[165,732,733,737],{"class":167,"line":168},[165,734,736],{"class":735},"shJU0","instructions",[165,738,739],{"class":175},":\n",[165,741,742,745,748,751],{"class":167,"line":179},[165,743,744],{"class":175},"  - ",[165,746,747],{"class":735},"name",[165,749,750],{"class":175},": ",[165,752,754],{"class":753},"sYBdl","Ruby Style Guide\n",[165,756,757,760],{"class":167,"line":187},[165,758,759],{"class":735},"    fileFilters",[165,761,739],{"class":175},[165,763,764,767,770],{"class":167,"line":195},[165,765,766],{"class":175},"      - ",[165,768,769],{"class":753},"\"*.rb\"",[165,771,773],{"class":772},"sAwPA","           # Ruby-Dateien im Root-Verzeichnis\n",[165,775,776,778,781],{"class":167,"line":203},[165,777,766],{"class":175},[165,779,780],{"class":753},"\"lib/**/*.rb\"",[165,782,783],{"class":772},"    # Ruby-Dateien in lib und Subdirectories\n",[165,785,786,788,791],{"class":167,"line":211},[165,787,766],{"class":175},[165,789,790],{"class":753},"\"!spec/**/*.rb\"",[165,792,793],{"class":772},"  # Test-Dateien ausschließen\n",[165,795,796,799,801],{"class":167,"line":293},[165,797,798],{"class":735},"    instructions",[165,800,750],{"class":175},[165,802,804],{"class":803},"sD7c4","|\n",[165,806,807],{"class":167,"line":527},[165,808,809],{"class":753},"      1. Alle Methoden mit ordnungsgemäßer Dokumentation sicherstellen\n",[165,811,812],{"class":167,"line":535},[165,813,814],{"class":753},"      2. Ruby-Style-Guide-Konventionen befolgen\n",[165,816,817],{"class":167,"line":543},[165,818,819],{"class":753},"      3. Symbols gegenüber Strings für Hash-Keys bevorzugen\n",[165,821,822],{"class":167,"line":551},[165,823,825],{"emptyLinePlaceholder":824},true,"\n",[165,827,828,830,832,834],{"class":167,"line":559},[165,829,744],{"class":175},[165,831,747],{"class":735},[165,833,750],{"class":175},[165,835,836],{"class":753},"TypeScript Source Files\n",[165,838,839,841],{"class":167,"line":565},[165,840,759],{"class":735},[165,842,739],{"class":175},[165,844,845,847,850],{"class":167,"line":573},[165,846,766],{"class":175},[165,848,849],{"class":753},"\"**/*.ts\"",[165,851,852],{"class":772},"        # TypeScript-Dateien in beliebigem Verzeichnis\n",[165,854,855,857,860],{"class":167,"line":581},[165,856,766],{"class":175},[165,858,859],{"class":753},"\"!**/*.test.ts\"",[165,861,793],{"class":772},[165,863,864,866,868],{"class":167,"line":589},[165,865,798],{"class":735},[165,867,750],{"class":175},[165,869,804],{"class":803},[165,871,872],{"class":167,"line":595},[165,873,874],{"class":753},"      1. Ordnungsgemäße TypeScript-Typen sicherstellen ('any' vermeiden)\n",[165,876,877],{"class":167,"line":603},[165,878,879],{"class":753},"      2. Namenskonventionen befolgen\n",[165,881,882],{"class":167,"line":611},[165,883,884],{"class":753},"      3. Komplexe Funktionen dokumentieren\n",[12,886,887],{},[27,888,889],{},"Best Practices für Custom Review Instructions:",[31,891,892,898,908,914,920],{},[34,893,894,897],{},[27,895,896],{},"Spezifisch und umsetzbar",": Klare, nummerierte Anweisungen funktionieren am besten.",[34,899,900,903,904,907],{},[27,901,902],{},"Glob-Patterns nutzen",": Spezifische Dateitypen mit ",[147,905,906],{},"fileFilters"," gezielt ansprechen.",[34,909,910,913],{},[27,911,912],{},"Auf wichtige Standards fokussieren",": Kritischste Review-Punkte priorisieren.",[34,915,916,919],{},[27,917,918],{},"Das „Warum\" erklären",": Reviewern helfen, die Begründung zu verstehen.",[34,921,922,925],{},[27,923,924],{},"Patterns testen",": Sicherstellen, dass Glob-Patterns die beabsichtigten Dateien matchen.",[12,927,928,930,931,933],{},[27,929,345],{}," Code Owners nutzen, um Änderungen an ",[147,932,718],{}," zu schützen.",[12,935,936,937,125],{},"Detaillierte Setup-Anleitungen und Beispiele finden sich in der ",[19,938,940],{"href":703,"rel":939},[],"Custom Review Instructions-Dokumentation",[73,942,944],{"id":943},"teil-2-funktionen-mit-mcp-erweitern","Teil 2: Funktionen mit MCP erweitern",[12,946,947],{},"Model Context Protocol (MCP) ermöglicht Agents den Zugriff auf externe Systeme wie Jira, Slack, AWS und mehr. Dieser Abschnitt behandelt MCP-Konfiguration zur Erweiterung von Agent-Funktionen.",[59,949,950],{},[12,951,952,145,955,960],{},[27,953,954],{},"🎯 Jetzt ausprobieren:",[19,956,959],{"href":957,"rel":958},"https://gitlab.navattic.com/mcp",[],"Interaktive MCP-Demo"," – Model Context Protocol erkunden.",[108,962,964],{"id":963},"mcp-konfiguration-für-externe-integrationen","MCP-Konfiguration für externe Integrationen",[12,966,967],{},"Model Context Protocol (MCP) ermöglicht Agents den Zugriff auf externe Systeme wie Jira, Slack, AWS und mehr.",[12,969,970,973],{},[27,971,972],{},"Scope:"," User-Level (gilt für alle Workspaces) oder Workspace-Level (projektspezifisch, überschreibt User-Config)",[12,975,976],{},[27,977,978],{},"User-Konfiguration erstellen:",[31,980,981,989,997],{},[34,982,983,750,986],{},[27,984,985],{},"macOS/Linux",[147,987,988],{},"~/.gitlab/duo/mcp.json",[34,990,991,750,994],{},[27,992,993],{},"Windows",[147,995,996],{},"C:\\Users\\\u003Cusername>\\AppData\\Roaming\\GitLab\\duo\\mcp.json",[34,998,999,1002,1003],{},[27,1000,1001],{},"VS Code",": Command ausführen: ",[147,1004,1005],{},"GitLab MCP: Open User Settings (JSON)",[12,1007,1008],{},[27,1009,1010],{},"Workspace-Konfiguration erstellen:",[31,1012,1013],{},[34,1014,1015,750,1018,1021],{},[27,1016,1017],{},"Datei erstellen",[147,1019,1020],{},".gitlab/duo/mcp.json"," im Projekt-Root",[12,1023,1024],{},[27,1025,1026],{},"Best Practices:",[31,1028,1029,1035,1041,1047,1053],{},[34,1030,1031,1034],{},[27,1032,1033],{},"Security First",": MCP-Server verwenden, die OAuth erfordern, nicht Plaintext-Password-Tokens.",[34,1036,1037,1040],{},[27,1038,1039],{},"Minimaler Scope",": Nur MCP-Server aktivieren, die tatsächlich genutzt und denen vertraut wird.",[34,1042,1043,1046],{},[27,1044,1045],{},"Lokal testen",": MCP-Verbindungen und Autorisierung verifizieren, bevor Team-übergreifend geteilt wird.",[34,1048,1049,1052],{},[27,1050,1051],{},"Integrationen dokumentieren",": Erklären, was jeder MCP-Server bereitstellt.",[34,1054,1055,1057,1058,1060],{},[27,1056,646],{},": Konfiguration in ",[147,1059,1020],{}," mit Code-Owners-Approval speichern.",[12,1062,1063,1064,125],{},"Detaillierte Setup-Anleitungen und Konfigurationsbeispiele finden sich in ",[19,1065,1067],{"href":1066},"/de-de/blog/duo-agent-platform-with-mcp/","Teil 7: Model Context Protocol (MCP) Integration",[73,1069,1071],{"id":1070},"teil-3-custom-agents-und-flows-erstellen","Teil 3: Custom Agents und Flows erstellen",[12,1073,1074,1075,1079],{},"Custom Agents und Flows ermöglichen die Automatisierung teamspezifischer Workflows. Bevor in die Anpassung eingestiegen wird, ist es hilfreich zu verstehen, was sie sind und wie sie funktionieren. Diese Teile des ",[19,1076,1078],{"href":1077},"/blog/gitlab-duo-agent-platform-complete-getting-started-guide/","GitLab Duo Agent Platform-Leitfadens"," helfen dabei:",[31,1081,1082,1091,1100],{},[34,1083,1084,1090],{},[27,1085,1086],{},[19,1087,1089],{"href":1088},"/de-de/blog/understanding-agents-foundational-custom-external/","Teil 3: Agents verstehen"," — Foundational, Custom und External Agents kennenlernen und wann welcher Typ genutzt wird.",[34,1092,1093,1099],{},[27,1094,1095],{},[19,1096,1098],{"href":1097},"/de-de/blog/understanding-flows-multi-agent-workflows/","Teil 4: Flows verstehen"," — Erfahren, wie Flows mehrere Agents orchestrieren, um komplexe Probleme zu lösen.",[34,1101,1102,1108],{},[27,1103,1104],{},[19,1105,1107],{"href":1106},"/de-de/blog/ai-catalog-discover-and-share-agents/","Teil 5: AI Catalog"," — Lernen, wie Agents und Flows organisations-übergreifend entdeckt, erstellt und geteilt werden.\nSobald die Grundlagen verstanden sind, liefert dieser Abschnitt einen Überblick über Anpassungsoptionen mit Links zu detaillierten Leitfäden.",[108,1110,1112],{"id":1111},"system-prompts-für-custom-agents","System-Prompts für Custom Agents",[12,1114,1115],{},"System-Prompts definieren Persönlichkeit, Expertise und Verhalten eines Agents. Ein gut gestalteter Prompt macht Agents effektiver und auf Team-Anforderungen ausgerichtet.",[12,1117,1118,1121],{},[27,1119,1120],{},"Was sind System-Prompts?"," System-Prompts sind Anweisungen, die einem Agent mitteilen, wie er sich verhalten, welche Expertise er hat und wie er auf Requests reagieren soll. Sie sind die Grundlage für Custom Agent-Verhalten.",[12,1123,1124],{},[27,1125,1126],{},"Schlüsselelemente eines starken System-Prompts:",[31,1128,1129,1135,1141,1147,1153],{},[34,1130,1131,1134],{},[27,1132,1133],{},"Rollendefinition",": Was der Agent ist und was er tut",[34,1136,1137,1140],{},[27,1138,1139],{},"Expertise-Bereiche",": Spezifische Domänen oder Technologien",[34,1142,1143,1146],{},[27,1144,1145],{},"Verhaltensrichtlinien",": Wie er interagieren und reagieren soll",[34,1148,1149,1152],{},[27,1150,1151],{},"Output-Format",": Struktur der Antworten",[34,1154,1155,1158],{},[27,1156,1157],{},"Einschränkungen",": Was er vermeiden soll",[12,1160,1161],{},[27,1162,1026],{},[31,1164,1165,1171,1177,1183,1189],{},[34,1166,1167,1170],{},[27,1168,1169],{},"Detailliert sein",": Spezifischere Prompts erzeugen bessere Ergebnisse.",[34,1172,1173,1176],{},[27,1174,1175],{},"Beispiele nutzen",": Dem Agent zeigen, wie guter Output aussieht.",[34,1178,1179,1182],{},[27,1180,1181],{},"Scope definieren",": Klar aussprechen, was der Agent tun und nicht tun soll.",[34,1184,1185,1188],{},[27,1186,1187],{},"Iterativ testen",": Prompts basierend auf Agent-Verhalten verfeinern.",[34,1190,1191,1193],{},[27,1192,646],{},": Prompt-Änderungen im Repository nachverfolgen.",[12,1195,1196,1197,125],{},"Detaillierte Anleitungen zum Erstellen von System-Prompts und Custom Agents finden sich in ",[19,1198,1089],{"href":1088},[108,1200,1202],{"id":1201},"custom-agents-und-flows","Custom Agents und Flows",[12,1204,1205],{},"Es gibt viel zu lernen, und für einfacheres Lesen sind die Tutorials aufgeteilt:",[12,1207,1208],{},[27,1209,1210],{},"Custom Agents:",[31,1212,1213,1216],{},[34,1214,1215],{},"Lernen, wie Agents mit Custom System-Prompts erstellt, Tools konfiguriert und Berechtigungen verwaltet werden.",[34,1217,1218,1219,125],{},"Siehe ",[19,1220,1221],{"href":1088},"Teil 3: Agents verstehen – Custom Agents-Abschnitt",[12,1223,1224],{},[27,1225,1226],{},"Custom Flows:",[31,1228,1229,1232],{},[34,1230,1231],{},"Lernen, wie mehrstufige Workflows erstellt, Komponenten konfiguriert und eventgesteuerte Automatisierung eingerichtet wird.",[34,1233,1218,1234,125],{},[19,1235,1236],{"href":1097},"Teil 4: Flows verstehen – Custom Flows-Abschnitt",[12,1238,1239],{},[27,1240,1241],{},"Agent-Tools:",[31,1243,1244,1247],{},[34,1245,1246],{},"Tools bestimmen, welche Aktionen Agents durchführen können. Tools basierend auf Agent-Zweck und Sicherheitsanforderungen konfigurieren.",[34,1248,1218,1249,1251],{},[19,1250,1089],{"href":1088}," für Tool-Konfigurationsdetails.",[73,1253,1255],{"id":1254},"schnellreferenz-wann-welche-anpassung-nutzen","Schnellreferenz: Wann welche Anpassung nutzen",[1257,1258,1259,1275],"table",{},[1260,1261,1262],"thead",{},[1263,1264,1265,1269,1272],"tr",{},[1266,1267,1268],"th",{},"Tool",[1266,1270,1271],{},"Am besten für",[1266,1273,1274],{},"Speicherort",[1276,1277,1278,1296,1312,1326,1339,1355,1368],"tbody",{},[1263,1279,1280,1285,1288],{},[1281,1282,1283],"td",{},[27,1284,111],{},[1281,1286,1287],{},"Chat-Antworten in IDE steuern (Ton, Style, Verhalten)",[1281,1289,1290,1292,1293,1295],{},[147,1291,149],{}," (User) oder ",[147,1294,230],{}," (Workspace)",[1263,1297,1298,1302,1305],{},[1281,1299,1300],{},[27,1301,368],{},[1281,1303,1304],{},"Standards über Chat, Flows und andere KI-Tools hinweg durchsetzen",[1281,1306,1307,1292,1309,1311],{},[147,1308,394],{},[147,1310,368],{}," (Workspace-Root)",[1263,1313,1314,1318,1321],{},[1281,1315,1316],{},[27,1317,698],{},[1281,1319,1320],{},"Code-Review-Standards für spezifische Dateitypen steuern",[1281,1322,1323,1325],{},[147,1324,718],{}," (nur Workspace)",[1263,1327,1328,1333,1336],{},[1281,1329,1330],{},[27,1331,1332],{},"System-Prompts",[1281,1334,1335],{},"Individuelles Agent-Verhalten anpassen",[1281,1337,1338],{},"AI Catalog beim Erstellen eines Agents",[1263,1340,1341,1346,1349],{},[1281,1342,1343],{},[27,1344,1345],{},"MCP-Konfiguration",[1281,1347,1348],{},"Agents mit externen Tools verbinden",[1281,1350,1351,1292,1353,1295],{},[147,1352,988],{},[147,1354,1020],{},[1263,1356,1357,1362,1365],{},[1281,1358,1359],{},[27,1360,1361],{},"Custom Agents",[1281,1363,1364],{},"Spezialisierte Agents für teamspezifische Aufgaben erstellen",[1281,1366,1367],{},"Automate → Agents oder AI Catalog",[1263,1369,1370,1375,1378],{},[1281,1371,1372],{},[27,1373,1374],{},"Custom Flows",[1281,1376,1377],{},"Mehrere Agents in Workflows orchestrieren",[1281,1379,1380],{},"Automate → Flows oder AI Catalog",[73,1382,1384],{"id":1383},"was-als-nächstes-kommt","Was als Nächstes kommt",[12,1386,1387],{},"Herzlichen Glückwunsch! Die gesamte GitLab Duo Agent Platform-Serie ist abgeschlossen. Du verstehst jetzt:",[31,1389,1390,1393,1396,1399,1402],{},[34,1391,1392],{},"Wie Agents und Flows über den gesamten SDLC hinweg genutzt werden, angepasst an Use Cases",[34,1394,1395],{},"Wie Lösungen im AI Catalog entdeckt und geteilt werden",[34,1397,1398],{},"Wie KI-Workflows überwacht und verwaltet werden",[34,1400,1401],{},"Wie Funktionen mit MCP-Integrationen erweitert werden",[34,1403,1404],{},"Wie jeder Aspekt der GitLab Duo Agent Platform für das Team angepasst wird",[12,1406,1407,1412],{},[27,1408,1409],{},[19,1410,1411],{"href":21},"Zur vollständigen Serienübersicht zurückkehren",", um alle Teile zu überprüfen und spezifische Themen vertieft zu erkunden.",[73,1414,1416],{"id":1415},"ressourcen","Ressourcen",[31,1418,1419,1425,1431,1436,1443,1450],{},[34,1420,1421],{},[19,1422,1424],{"href":116,"rel":1423},[],"Custom Rules-Dokumentation",[34,1426,1427],{},[19,1428,1430],{"href":692,"rel":1429},[],"AGENTS.md-Dokumentation",[34,1432,1433],{},[19,1434,940],{"href":703,"rel":1435},[],[34,1437,1438],{},[19,1439,1442],{"href":1440,"rel":1441},"https://docs.gitlab.com/user/duo_agent_platform/agents/custom/",[],"Custom Agents-Dokumentation",[34,1444,1445],{},[19,1446,1449],{"href":1447,"rel":1448},"https://docs.gitlab.com/user/duo_agent_platform/flows/custom/",[],"Custom Flows-Dokumentation",[34,1451,1452],{},[19,1453,1456],{"href":1454,"rel":1455},"https://docs.gitlab.com/user/gitlab_duo/model_context_protocol/mcp_clients/",[],"MCP Clients-Dokumentation",[1458,1459],"hr",{},[12,1461,1462,145,1465],{},[27,1463,1464],{},"Vorheriger Teil:",[19,1466,1467],{"href":1066},"Teil 7: Model Context Protocol-Integration",[12,1469,1470,145,1473],{},[27,1471,1472],{},"Zurück zum Start:",[19,1474,1475],{"href":21},"Komplette Serienübersicht",[1477,1478,1479],"style",{},"html pre.shiki code .sqxcx, html code.shiki .sqxcx{--shiki-default:#E36209}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .surfw, html code.shiki .surfw{--shiki-default:#005CC5;--shiki-default-font-weight:bold}html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}",{"title":161,"searchDepth":179,"depth":179,"links":1481},[1482,1483,1489,1496,1499,1503,1504,1505],{"id":75,"depth":179,"text":39},{"id":105,"depth":179,"text":106,"children":1484},[1485,1486,1487,1488],{"id":110,"depth":187,"text":111},{"id":128,"depth":187,"text":129},{"id":219,"depth":187,"text":220},{"id":301,"depth":187,"text":302},{"id":360,"depth":179,"text":361,"children":1490},[1491,1492,1493,1494,1495],{"id":450,"depth":187,"text":451},{"id":474,"depth":187,"text":475},{"id":627,"depth":187,"text":628},{"id":668,"depth":187,"text":669},{"id":697,"depth":187,"text":698},{"id":943,"depth":179,"text":944,"children":1497},[1498],{"id":963,"depth":187,"text":964},{"id":1070,"depth":179,"text":1071,"children":1500},[1501,1502],{"id":1111,"depth":187,"text":1112},{"id":1201,"depth":187,"text":1202},{"id":1254,"depth":179,"text":1255},{"id":1383,"depth":179,"text":1384},{"id":1415,"depth":179,"text":1416},"ai","2026-01-14","GitLab Duo Agent Platform an Team-Workflows anpassen. Chat-Regeln konfigurieren, System-Prompts erstellen, Agent-Tools einrichten und Flows anpassen.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png",{},"/de-de/blog/customizing-gitlab-duo-chat-rules-prompts-workflows",{"noIndex":1511,"title":1516,"description":1517,"ogImage":1518},"GitLab Duo Agent Platform anpassen","Team-Workflows anpassen durch Chat-Regeln, System-Prompts und mehr – Konfigurationsoptionen für GitLab Duo Agent Platform.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1752678395/impw8no5tbskr6k2afgu.jpg","customizing-gitlab-duo-chat-rules-prompts-workflows","de-de/blog/customizing-gitlab-duo-chat-rules-prompts-workflows",[1522,1523,1524,1525],"AI","product","features","tutorial","BlogPost","7GI4XQreAxKpDZceV4u5roAgmgGP0xtvOc0gXMzlDaU",{"logo":1529,"freeTrial":1534,"sales":1539,"login":1544,"items":1549,"search":1876,"minimal":1910,"duo":1928,"switchNav":1937,"pricingDeployment":1948},{"config":1530},{"href":1531,"dataGaName":1532,"dataGaLocation":1533},"/de-de/","gitlab logo","header",{"text":1535,"config":1536},"Kostenlose Testversion anfordern",{"href":1537,"dataGaName":1538,"dataGaLocation":1533},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":1540,"config":1541},"Demo anfordern",{"href":1542,"dataGaName":1543,"dataGaLocation":1533},"/de-de/sales/?contact-topic=request-demo","sales",{"text":1545,"config":1546},"Anmelden",{"href":1547,"dataGaName":1548,"dataGaLocation":1533},"https://gitlab.com/users/sign_in/","sign in",[1550,1578,1680,1685,1798,1854],{"text":1551,"config":1552,"menu":1554},"Plattform",{"dataNavLevelOne":1553},"platform",{"type":1555,"columns":1556},"cards",[1557,1563,1570],{"title":1551,"description":1558,"link":1559},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":1560,"config":1561},"Die Plattform erkunden",{"href":1562,"dataGaName":1553,"dataGaLocation":1533},"/de-de/platform/",{"title":70,"description":1564,"link":1565},"Agentische KI für den gesamten Software-Lebenszyklus",{"text":1566,"config":1567},"Lerne GitLab Duo kennen",{"href":1568,"dataGaName":1569,"dataGaLocation":1533},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":1571,"description":1572,"link":1573},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":1574,"config":1575},"Mehr erfahren",{"href":1576,"dataGaName":1577,"dataGaLocation":1533},"/de-de/why-gitlab/","why gitlab",{"text":1579,"left":824,"config":1580,"menu":1582},"Produkt",{"dataNavLevelOne":1581},"solutions",{"type":1583,"link":1584,"columns":1588,"feature":1659},"lists",{"text":1585,"config":1586},"Alle Lösungen anzeigen",{"href":1587,"dataGaName":1581,"dataGaLocation":1533},"/de-de/solutions/",[1589,1614,1637],{"title":1590,"description":1591,"link":1592,"items":1597},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":1593},{"icon":1594,"href":1595,"dataGaName":1596,"dataGaLocation":1533},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[1598,1602,1605,1610],{"text":1599,"config":1600},"CI/CD",{"href":1601,"dataGaLocation":1533,"dataGaName":1599},"/de-de/solutions/continuous-integration/",{"text":70,"config":1603},{"href":1568,"dataGaLocation":1533,"dataGaName":1604},"gitlab duo agent platform - product menu",{"text":1606,"config":1607},"Quellcodeverwaltung",{"href":1608,"dataGaLocation":1533,"dataGaName":1609},"/de-de/solutions/source-code-management/","Source Code Management",{"text":1611,"config":1612},"Automatische Softwarebereitstellung",{"href":1595,"dataGaLocation":1533,"dataGaName":1613},"Automated software delivery",{"title":1615,"description":1616,"link":1617,"items":1622},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":1618},{"href":1619,"dataGaName":1620,"dataGaLocation":1533,"icon":1621},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1623,1627,1632],{"text":1624,"config":1625},"Anwendungssicherheitstests",{"href":1619,"dataGaName":1626,"dataGaLocation":1533},"Application security testing",{"text":1628,"config":1629},"Schutz der Software-Lieferkette",{"href":1630,"dataGaLocation":1533,"dataGaName":1631},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":1633,"config":1634},"Software-Compliance",{"href":1635,"dataGaName":1636,"dataGaLocation":1533},"/de-de/solutions/software-compliance/","software compliance",{"title":1638,"link":1639,"items":1644},"Messung",{"config":1640},{"icon":1641,"href":1642,"dataGaName":1643,"dataGaLocation":1533},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[1645,1649,1654],{"text":1646,"config":1647},"Sichtbarkeit und Messung",{"href":1642,"dataGaLocation":1533,"dataGaName":1648},"Visibility and Measurement",{"text":1650,"config":1651},"Wertstrommanagement",{"href":1652,"dataGaLocation":1533,"dataGaName":1653},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":1655,"config":1656},"Analysen und Einblicke",{"href":1657,"dataGaLocation":1533,"dataGaName":1658},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":1660,"type":1583,"items":1661},"GitLab für",[1662,1668,1674],{"text":1663,"config":1664},"Enterprise",{"icon":1665,"href":1666,"dataGaLocation":1533,"dataGaName":1667},"Building","/de-de/enterprise/","enterprise",{"text":1669,"config":1670},"Kleinunternehmen",{"icon":1671,"href":1672,"dataGaLocation":1533,"dataGaName":1673},"Work","/de-de/small-business/","small business",{"text":1675,"config":1676},"Öffentlicher Sektor",{"icon":1677,"href":1678,"dataGaLocation":1533,"dataGaName":1679},"Organization","/de-de/solutions/public-sector/","public sector",{"text":1681,"config":1682},"Preise",{"href":1683,"dataGaName":1684,"dataGaLocation":1533,"dataNavLevelOne":1684},"/de-de/pricing/","pricing",{"text":1416,"config":1686,"menu":1688},{"dataNavLevelOne":1687},"resources",{"type":1583,"link":1689,"columns":1693,"feature":1787},{"text":1690,"config":1691},"Alle Ressourcen anzeigen",{"href":1692,"dataGaName":1687,"dataGaLocation":1533},"/de-de/resources/",[1694,1727,1754],{"title":1695,"items":1696},"Erste Schritte",[1697,1702,1707,1712,1717,1722],{"text":1698,"config":1699},"Installieren",{"href":1700,"dataGaName":1701,"dataGaLocation":1533},"/de-de/install/","install",{"text":1703,"config":1704},"Kurzanleitungen",{"href":1705,"dataGaName":1706,"dataGaLocation":1533},"/de-de/get-started/","quick setup checklists",{"text":1708,"config":1709},"Lernen",{"href":1710,"dataGaLocation":1533,"dataGaName":1711},"https://university.gitlab.com/","learn",{"text":1713,"config":1714},"Produktdokumentation",{"href":1715,"dataGaName":1716,"dataGaLocation":1533},"https://docs.gitlab.com/","product documentation",{"text":1718,"config":1719},"Best-Practice-Videos",{"href":1720,"dataGaName":1721,"dataGaLocation":1533},"/de-de/getting-started-videos/","best practice videos",{"text":1723,"config":1724},"Integrationen",{"href":1725,"dataGaName":1726,"dataGaLocation":1533},"/de-de/integrations/","integrations",{"title":1728,"items":1729},"Entdecken",[1730,1735,1740,1745,1749],{"text":1731,"config":1732},"Kundenerfolge",{"href":1733,"dataGaName":1734,"dataGaLocation":1533},"/de-de/customers/","customer success stories",{"text":1736,"config":1737},"Blog",{"href":1738,"dataGaName":1739,"dataGaLocation":1533},"/de-de/blog/","blog",{"text":1741,"config":1742},"Demo-Hub",{"href":1743,"dataGaName":1744,"dataGaLocation":1533},"/de-de/demo-hub/","demo hub",{"text":1746,"config":1747},"The Source",{"href":1748,"dataGaName":1739,"dataGaLocation":1533},"/de-de/the-source/",{"text":1750,"config":1751},"Remote",{"href":1752,"dataGaName":1753,"dataGaLocation":1533},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1755,"items":1756},"Vernetzen",[1757,1762,1767,1772,1777,1782],{"text":1758,"config":1759},"GitLab-Services",{"href":1760,"dataGaName":1761,"dataGaLocation":1533},"/de-de/services/","services",{"text":1763,"config":1764},"Beitragen",{"href":1765,"dataGaName":1766,"dataGaLocation":1533},"https://contributors.gitlab.com","contribute",{"text":1768,"config":1769},"Community",{"href":1770,"dataGaName":1771,"dataGaLocation":1533},"/community/","community",{"text":1773,"config":1774},"Forum",{"href":1775,"dataGaName":1776,"dataGaLocation":1533},"https://forum.gitlab.com/","forum",{"text":1778,"config":1779},"Veranstaltungen",{"href":1780,"dataGaName":1781,"dataGaLocation":1533},"/events/","events",{"text":1783,"config":1784},"Partner",{"href":1785,"dataGaName":1786,"dataGaLocation":1533},"/de-de/partners/","partners",{"config":1788,"title":1791,"text":1792,"link":1793},{"background":1789,"textColor":1790},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Neues bei GitLab","Über die neuesten Funktionen und Verbesserungen auf dem Laufenden bleiben.",{"text":1794,"config":1795},"Aktuelle Nachrichten",{"href":1796,"dataGaName":1797,"dataGaLocation":1533},"/de-de/whats-new/","whats new",{"text":1799,"config":1800,"menu":1802},"Unternehmen",{"dataNavLevelOne":1801},"company",{"type":1583,"columns":1803},[1804],{"items":1805},[1806,1811,1817,1819,1824,1829,1834,1839,1844,1849],{"text":1807,"config":1808},"Über",{"href":1809,"dataGaName":1810,"dataGaLocation":1533},"/de-de/company/","about",{"text":1812,"config":1813,"footerGa":1816},"Karriere",{"href":1814,"dataGaName":1815,"dataGaLocation":1533},"/jobs/","jobs",{"dataGaName":1815},{"text":1778,"config":1818},{"href":1780,"dataGaName":1781,"dataGaLocation":1533},{"text":1820,"config":1821},"Geschäftsführung",{"href":1822,"dataGaName":1823,"dataGaLocation":1533},"/company/team/e-group/","leadership",{"text":1825,"config":1826},"Handbuch",{"href":1827,"dataGaName":1828,"dataGaLocation":1533},"https://handbook.gitlab.com/","handbook",{"text":1830,"config":1831},"Investor Relations",{"href":1832,"dataGaName":1833,"dataGaLocation":1533},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1835,"config":1836},"Trust Center",{"href":1837,"dataGaName":1838,"dataGaLocation":1533},"/de-de/security/","trust center",{"text":1840,"config":1841},"AI Transparency Center",{"href":1842,"dataGaName":1843,"dataGaLocation":1533},"/de-de/ai-transparency-center/","ai transparency center",{"text":1845,"config":1846},"Newsletter",{"href":1847,"dataGaName":1848,"dataGaLocation":1533},"/company/contact/#contact-forms","newsletter",{"text":1850,"config":1851},"Presse",{"href":1852,"dataGaName":1853,"dataGaLocation":1533},"/press/","press",{"text":1855,"config":1856,"menu":1857},"Kontakt",{"dataNavLevelOne":1801},{"type":1583,"columns":1858},[1859],{"items":1860},[1861,1866,1871],{"text":1862,"config":1863},"Vertrieb kontaktieren",{"href":1864,"dataGaName":1865,"dataGaLocation":1533},"/de-de/sales/","talk to sales",{"text":1867,"config":1868},"Support-Portal",{"href":1869,"dataGaName":1870,"dataGaLocation":1533},"https://support.gitlab.com/hc/en-us","support portal",{"text":1872,"config":1873},"Kundenportal",{"href":1874,"dataGaName":1875,"dataGaLocation":1533},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1877,"login":1878,"suggestions":1885},"Schließen",{"text":1879,"link":1880},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":1881,"config":1882},"gitlab.com",{"href":1547,"dataGaName":1883,"dataGaLocation":1884},"search login","search",{"text":1886,"default":1887},"Vorschläge",[1888,1890,1895,1897,1902,1907],{"text":70,"config":1889},{"href":1568,"dataGaName":70,"dataGaLocation":1884},{"text":1891,"config":1892},"Codevorschläge (KI)",{"href":1893,"dataGaName":1894,"dataGaLocation":1884},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":1599,"config":1896},{"href":1601,"dataGaName":1599,"dataGaLocation":1884},{"text":1898,"config":1899},"GitLab auf AWS",{"href":1900,"dataGaName":1901,"dataGaLocation":1884},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":1903,"config":1904},"GitLab auf Google Cloud",{"href":1905,"dataGaName":1906,"dataGaLocation":1884},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":1571,"config":1908},{"href":1576,"dataGaName":1909,"dataGaLocation":1884},"Why GitLab?",{"freeTrial":1911,"mobileIcon":1916,"desktopIcon":1921,"secondaryButton":1924},{"text":1912,"config":1913},"Kostenlos testen",{"href":1914,"dataGaName":1538,"dataGaLocation":1915},"https://gitlab.com/-/trials/new/","nav",{"altText":1917,"config":1918},"GitLab-Symbol",{"src":1919,"dataGaName":1920,"dataGaLocation":1915},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1917,"config":1922},{"src":1923,"dataGaName":1920,"dataGaLocation":1915},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1695,"config":1925},{"href":1926,"dataGaName":1927,"dataGaLocation":1915},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":1929,"mobileIcon":1933,"desktopIcon":1935},{"text":1930,"config":1931},"Mehr über GitLab Duo erfahren",{"href":1568,"dataGaName":1932,"dataGaLocation":1915},"gitlab duo",{"altText":1917,"config":1934},{"src":1919,"dataGaName":1920,"dataGaLocation":1915},{"altText":1917,"config":1936},{"src":1923,"dataGaName":1920,"dataGaLocation":1915},{"button":1938,"mobileIcon":1943,"desktopIcon":1945},{"text":1939,"config":1940},"/Option",{"href":1941,"dataGaName":1942,"dataGaLocation":1915},"#contact","switch",{"altText":1917,"config":1944},{"src":1919,"dataGaName":1920,"dataGaLocation":1915},{"altText":1917,"config":1946},{"src":1947,"dataGaName":1920,"dataGaLocation":1915},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1949,"mobileIcon":1954,"desktopIcon":1956},{"text":1950,"config":1951},"Zurück zur Preisübersicht",{"href":1683,"dataGaName":1952,"dataGaLocation":1915,"icon":1953},"back to pricing","GoBack",{"altText":1917,"config":1955},{"src":1919,"dataGaName":1920,"dataGaLocation":1915},{"altText":1917,"config":1957},{"src":1923,"dataGaName":1920,"dataGaLocation":1915},{"title":1959,"button":1960,"config":1964},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":1574,"config":1961},{"href":1962,"dataGaName":1963,"dataGaLocation":1533},"/de-de/gitlab-orbit/","orbit",{"layout":1965,"disabled":1511},"release",{"data":1967},{"text":1968,"source":1969,"edit":1975,"contribute":1980,"config":1985,"items":1990,"minimal":2195},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":1970,"config":1971},"Quelltext der Seite anzeigen",{"href":1972,"dataGaName":1973,"dataGaLocation":1974},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1976,"config":1977},"Diese Seite bearbeiten",{"href":1978,"dataGaName":1979,"dataGaLocation":1974},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1981,"config":1982},"Beteilige dich",{"href":1983,"dataGaName":1984,"dataGaLocation":1974},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1986,"facebook":1987,"youtube":1988,"linkedin":1989},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1991,2036,2088,2130,2162],{"title":1681,"links":1992,"subMenu":2007},[1993,1997,2002],{"text":1994,"config":1995},"Tarife anzeigen",{"href":1683,"dataGaName":1996,"dataGaLocation":1974},"view plans",{"text":1998,"config":1999},"Vorteile von Premium",{"href":2000,"dataGaName":2001,"dataGaLocation":1974},"/de-de/pricing/premium/","why premium",{"text":2003,"config":2004},"Vorteile von Ultimate",{"href":2005,"dataGaName":2006,"dataGaLocation":1974},"/de-de/pricing/ultimate/","why ultimate",[2008],{"title":1855,"links":2009},[2010,2012,2014,2016,2021,2026,2031],{"text":1862,"config":2011},{"href":1864,"dataGaName":1543,"dataGaLocation":1974},{"text":1867,"config":2013},{"href":1869,"dataGaName":1870,"dataGaLocation":1974},{"text":1872,"config":2015},{"href":1874,"dataGaName":1875,"dataGaLocation":1974},{"text":2017,"config":2018},"Status",{"href":2019,"dataGaName":2020,"dataGaLocation":1974},"https://status.gitlab.com/","status",{"text":2022,"config":2023},"Nutzungsbedingungen",{"href":2024,"dataGaName":2025,"dataGaLocation":1974},"/terms/","terms of use",{"text":2027,"config":2028},"Datenschutzerklärung",{"href":2029,"dataGaName":2030,"dataGaLocation":1974},"/de-de/privacy/","privacy statement",{"text":2032,"config":2033},"Cookie-Einstellungen",{"dataGaName":2034,"dataGaLocation":1974,"id":2035,"isOneTrustButton":824},"cookie preferences","ot-sdk-btn",{"title":1579,"links":2037,"subMenu":2046},[2038,2042],{"text":2039,"config":2040},"DevSecOps-Plattform",{"href":1562,"dataGaName":2041,"dataGaLocation":1974},"devsecops platform",{"text":2043,"config":2044},"KI-unterstützte Entwicklung",{"href":1568,"dataGaName":2045,"dataGaLocation":1974},"ai-assisted development",[2047],{"title":2048,"links":2049},"Themen",[2050,2054,2059,2064,2068,2073,2078,2083],{"text":1599,"config":2051},{"href":2052,"dataGaName":2053,"dataGaLocation":1974},"/de-de/topics/ci-cd/","cicd",{"text":2055,"config":2056},"GitOps",{"href":2057,"dataGaName":2058,"dataGaLocation":1974},"/de-de/topics/gitops/","gitops",{"text":2060,"config":2061},"DevOps",{"href":2062,"dataGaName":2063,"dataGaLocation":1974},"/de-de/topics/devops/","devops",{"text":646,"config":2065},{"href":2066,"dataGaName":2067,"dataGaLocation":1974},"/de-de/topics/version-control/","version control",{"text":2069,"config":2070},"DevSecOps",{"href":2071,"dataGaName":2072,"dataGaLocation":1974},"/de-de/topics/devsecops/","devsecops",{"text":2074,"config":2075},"Cloud-nativ",{"href":2076,"dataGaName":2077,"dataGaLocation":1974},"/de-de/topics/cloud-native/","cloud native",{"text":2079,"config":2080},"KI für das Programmieren",{"href":2081,"dataGaName":2082,"dataGaLocation":1974},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":2084,"config":2085},"Agentische KI",{"href":2086,"dataGaName":2087,"dataGaLocation":1974},"/de-de/topics/agentic-ai/","agentic ai",{"title":2089,"links":2090},"Lösungen",[2091,2094,2096,2101,2105,2108,2111,2114,2116,2118,2120,2125],{"text":1624,"config":2092},{"href":1619,"dataGaName":2093,"dataGaLocation":1974},"Application Security Testing",{"text":1611,"config":2095},{"href":1595,"dataGaName":1596,"dataGaLocation":1974},{"text":2097,"config":2098},"Agile Entwicklung",{"href":2099,"dataGaName":2100,"dataGaLocation":1974},"/de-de/solutions/agile-delivery/","agile delivery",{"text":2102,"config":2103},"SCM",{"href":1608,"dataGaName":2104,"dataGaLocation":1974},"source code management",{"text":1599,"config":2106},{"href":1601,"dataGaName":2107,"dataGaLocation":1974},"continuous integration & delivery",{"text":1650,"config":2109},{"href":1652,"dataGaName":2110,"dataGaLocation":1974},"value stream management",{"text":2055,"config":2112},{"href":2113,"dataGaName":2058,"dataGaLocation":1974},"/de-de/solutions/gitops/",{"text":1663,"config":2115},{"href":1666,"dataGaName":1667,"dataGaLocation":1974},{"text":1669,"config":2117},{"href":1672,"dataGaName":1673,"dataGaLocation":1974},{"text":1675,"config":2119},{"href":1678,"dataGaName":1679,"dataGaLocation":1974},{"text":2121,"config":2122},"Bildungswesen",{"href":2123,"dataGaName":2124,"dataGaLocation":1974},"/de-de/solutions/education/","education",{"text":2126,"config":2127},"Finanzdienstleistungen",{"href":2128,"dataGaName":2129,"dataGaLocation":1974},"/de-de/solutions/finance/","financial services",{"title":1416,"links":2131},[2132,2134,2136,2138,2141,2143,2146,2148,2150,2152,2154,2156,2158,2160],{"text":1698,"config":2133},{"href":1700,"dataGaName":1701,"dataGaLocation":1974},{"text":1703,"config":2135},{"href":1705,"dataGaName":1706,"dataGaLocation":1974},{"text":1708,"config":2137},{"href":1710,"dataGaName":1711,"dataGaLocation":1974},{"text":1713,"config":2139},{"href":1715,"dataGaName":2140,"dataGaLocation":1974},"docs",{"text":1736,"config":2142},{"href":1738,"dataGaName":1739,"dataGaLocation":1974},{"text":2144,"config":2145},"Neuerungen",{"href":1796,"dataGaName":1797,"dataGaLocation":1974},{"text":1731,"config":2147},{"href":1733,"dataGaName":1734,"dataGaLocation":1974},{"text":1750,"config":2149},{"href":1752,"dataGaName":1753,"dataGaLocation":1974},{"text":1758,"config":2151},{"href":1760,"dataGaName":1761,"dataGaLocation":1974},{"text":1763,"config":2153},{"href":1765,"dataGaName":1766,"dataGaLocation":1974},{"text":1768,"config":2155},{"href":1770,"dataGaName":1771,"dataGaLocation":1974},{"text":1773,"config":2157},{"href":1775,"dataGaName":1776,"dataGaLocation":1974},{"text":1778,"config":2159},{"href":1780,"dataGaName":1781,"dataGaLocation":1974},{"text":1783,"config":2161},{"href":1785,"dataGaName":1786,"dataGaLocation":1974},{"title":1799,"links":2163},[2164,2166,2168,2170,2172,2174,2179,2184,2186,2188,2190],{"text":1807,"config":2165},{"href":1809,"dataGaName":1801,"dataGaLocation":1974},{"text":1812,"config":2167},{"href":1814,"dataGaName":1815,"dataGaLocation":1974},{"text":1820,"config":2169},{"href":1822,"dataGaName":1823,"dataGaLocation":1974},{"text":1825,"config":2171},{"href":1827,"dataGaName":1828,"dataGaLocation":1974},{"text":1830,"config":2173},{"href":1832,"dataGaName":1833,"dataGaLocation":1974},{"text":2175,"config":2176},"Nachhaltigkeit",{"href":2177,"dataGaName":2178,"dataGaLocation":1974},"/sustainability/","Sustainability",{"text":2180,"config":2181},"Vielfalt, Inklusion und Zugehörigkeit",{"href":2182,"dataGaName":2183,"dataGaLocation":1974},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1835,"config":2185},{"href":1837,"dataGaName":1838,"dataGaLocation":1974},{"text":1845,"config":2187},{"href":1847,"dataGaName":1848,"dataGaLocation":1974},{"text":1850,"config":2189},{"href":1852,"dataGaName":1853,"dataGaLocation":1974},{"text":2191,"config":2192},"Transparenzerklärung zu moderner Sklaverei",{"href":2193,"dataGaName":2194,"dataGaLocation":1974},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":2196},[2197,2200,2203],{"text":2198,"config":2199},"Terms",{"href":2024,"dataGaName":2025,"dataGaLocation":1974},{"text":2201,"config":2202},"Cookies",{"dataGaName":2034,"dataGaLocation":1974,"id":2035,"isOneTrustButton":824},{"text":2204,"config":2205},"Datenschutz",{"href":2029,"dataGaName":2030,"dataGaLocation":1974},[2207],{"id":2208,"title":7,"body":1510,"config":2209,"content":2211,"description":1510,"extension":2215,"meta":2216,"navigation":824,"path":2217,"seo":2218,"stem":2219,"__hash__":2220},"blogAuthors/en-us/blog/authors/itzik-gan-baruch.yml",{"template":2210},"BlogAuthor",{"name":7,"config":2212},{"headshot":2213,"ctfId":2214},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658921/Blog/Author%20Headshots/iganbaruch-headshot.jpg","iganbaruch","yml",{},"/en-us/blog/authors/itzik-gan-baruch",{},"en-us/blog/authors/itzik-gan-baruch","bz9VMiTQ1ixvnoxUFk0jiUcnLG3oQsymgXNCqyRqfsk",[2222,2228,2236],{"title":2223,"description":2224,"heroImage":1512,"category":1506,"date":2225,"authors":2226,"slug":2227,"externalUrl":1510},"Wie ich einen Demo-Generator mit Duo Agent Platform baute","So sahen Demos nicht immer aus. Ein Rückblick auf ihre Entwicklung, plus ein Tutorial zum Bau einer eigenen Demo und eines eigenen Agenten.","2026-08-13",[7],"agentic-click-through-demo",{"title":2229,"description":2230,"heroImage":2231,"category":1506,"date":2232,"authors":2233,"slug":2235,"externalUrl":1510},"Governance für agentische KI, MCPs und KI-Code-Assistenten","KI-Agenten schreiben, pushen und deployen, ohne dass jeder Schritt geprüft wird. Ein praktisches Framework für Zugriff, Berechtigungen und Audit-Trails.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785337625/ifzlc2hyzaxhzmjgyymh.png","2026-07-31",[2234],"Julie Griffin","govern-agentic-ai-mcps-code-assistants",{"title":2237,"description":2238,"heroImage":2239,"category":1506,"date":2240,"authors":2241,"slug":2243,"externalUrl":1510},"Claude Opus 5 auf GitLab: Reasoning für die anspruchsvollsten Aufgaben","Anthropics Claude Opus 5 ist jetzt auf der GitLab Duo Agent Platform verfügbar und bringt tieferes Reasoning für die anspruchsvollsten Aufgaben.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-07-27",[2242],"Brittany Lutz","claude-opus-5-on-gitlab-duo-agent-platform",{"promotions":2245},[2246,2259,2270,2282],{"id":2247,"categories":2248,"header":2249,"text":2250,"button":2251,"image":2256},"ai-modernization",[1506],"Hält KI, was uns versprochen wurde?","Das Quiz dauert maximal 5 Minuten.",{"text":2252,"config":2253},"Ermittle deinen KI-Reifegrad",{"href":2254,"dataGaName":2255,"dataGaLocation":1739},"/de-de/assessments/ai-modernization-assessment/","modernization assessment",{"config":2257},{"src":2258},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":2260,"categories":2261,"header":2262,"text":2250,"button":2263,"image":2267},"devops-modernization",[1523,2072],"Verwaltest du Tool-Chaos oder stellst du Innovationen bereit?",{"text":2264,"config":2265},"Ermittle deinen DevOps-Reifegrad",{"href":2266,"dataGaName":2255,"dataGaLocation":1739},"/de-de/assessments/devops-modernization-assessment/",{"config":2268},{"src":2269},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":2271,"categories":2272,"header":2274,"text":2250,"button":2275,"image":2279},"security-modernization",[2273],"security","Tauschst du Schnelligkeit gegen Sicherheit ein?",{"text":2276,"config":2277},"Ermittle deinen Sicherheitsreifegrad",{"href":2278,"dataGaName":2255,"dataGaLocation":1739},"/de-de/assessments/security-modernization-assessment/",{"config":2280},{"src":2281},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":2283,"paths":2284,"header":2287,"text":2288,"button":2289,"image":2294},"github-azure-migration",[2285,2286],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Ist dein Team bereit für den Umzug von GitHub nach Azure?","GitHub stellt bereits auf Azure um. Finde heraus, was das für dich bedeutet.",{"text":2290,"config":2291},"Erfahre, wie GitLab im Vergleich zu GitHub abschneidet",{"href":2292,"dataGaName":2293,"dataGaLocation":1739},"/de-de/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":2295},{"src":2269},{"header":2297,"blurb":2298,"button":2299,"secondaryButton":2304},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":2300,"config":2301},"Kostenlosen Test starten",{"href":2302,"dataGaName":1538,"dataGaLocation":2303},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":1862,"config":2305},{"href":1864,"dataGaName":1543,"dataGaLocation":2303},1786803723581]