[{"data":1,"prerenderedAt":987},["ShallowReactive",2],{"/en-us/blog/authors/itzik-gan-baruch":3,"navigation-en-us":20,"banner-en-us":420,"footer-en-us":430,"blog-author-posts-en-us-itzik-gan-baruch":672},{"id":4,"title":5,"body":6,"config":7,"content":9,"description":6,"extension":13,"meta":14,"navigation":15,"path":16,"seo":17,"stem":18,"__hash__":19},"blogAuthors/en-us/blog/authors/itzik-gan-baruch.yml","Itzik Gan Baruch",null,{"template":8},"BlogAuthor",{"name":5,"config":10},{"headshot":11,"ctfId":12},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658921/Blog/Author%20Headshots/iganbaruch-headshot.jpg","iganbaruch","yml",{},true,"/en-us/blog/authors/itzik-gan-baruch",{},"en-us/blog/authors/itzik-gan-baruch","bz9VMiTQ1ixvnoxUFk0jiUcnLG3oQsymgXNCqyRqfsk",{"data":21},{"logo":22,"freeTrial":27,"sales":32,"login":37,"items":42,"search":350,"minimal":381,"duo":400,"pricingDeployment":410},{"config":23},{"href":24,"dataGaName":25,"dataGaLocation":26},"/","gitlab logo","header",{"text":28,"config":29},"Get free trial",{"href":30,"dataGaName":31,"dataGaLocation":26},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":33,"config":34},"Talk to sales",{"href":35,"dataGaName":36,"dataGaLocation":26},"/sales/","sales",{"text":38,"config":39},"Sign in",{"href":40,"dataGaName":41,"dataGaLocation":26},"https://gitlab.com/users/sign_in/","sign in",[43,70,165,170,271,331],{"text":44,"config":45,"cards":47},"Platform",{"dataNavLevelOne":46},"platform",[48,54,62],{"title":44,"description":49,"link":50},"The intelligent orchestration platform for DevSecOps",{"text":51,"config":52},"Explore our Platform",{"href":53,"dataGaName":46,"dataGaLocation":26},"/platform/",{"title":55,"description":56,"link":57},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":58,"config":59},"Meet GitLab Duo",{"href":60,"dataGaName":61,"dataGaLocation":26},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":63,"description":64,"link":65},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":66,"config":67},"Learn more",{"href":68,"dataGaName":69,"dataGaLocation":26},"/why-gitlab/","why gitlab",{"text":71,"left":15,"config":72,"link":74,"lists":78,"footer":147},"Product",{"dataNavLevelOne":73},"solutions",{"text":75,"config":76},"View all Solutions",{"href":77,"dataGaName":73,"dataGaLocation":26},"/solutions/",[79,103,126],{"title":80,"description":81,"link":82,"items":87},"Automation","CI/CD and automation to accelerate deployment",{"config":83},{"icon":84,"href":85,"dataGaName":86,"dataGaLocation":26},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[88,92,95,99],{"text":89,"config":90},"CI/CD",{"href":91,"dataGaLocation":26,"dataGaName":89},"/solutions/continuous-integration/",{"text":55,"config":93},{"href":60,"dataGaLocation":26,"dataGaName":94},"gitlab duo agent platform - product menu",{"text":96,"config":97},"Source Code Management",{"href":98,"dataGaLocation":26,"dataGaName":96},"/solutions/source-code-management/",{"text":100,"config":101},"Automated Software Delivery",{"href":85,"dataGaLocation":26,"dataGaName":102},"Automated software delivery",{"title":104,"description":105,"link":106,"items":111},"Security","Deliver code faster without compromising security",{"config":107},{"href":108,"dataGaName":109,"dataGaLocation":26,"icon":110},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[112,116,121],{"text":113,"config":114},"Application Security Testing",{"href":108,"dataGaName":115,"dataGaLocation":26},"Application security testing",{"text":117,"config":118},"Software Supply Chain Security",{"href":119,"dataGaLocation":26,"dataGaName":120},"/solutions/supply-chain/","Software supply chain security",{"text":122,"config":123},"Software Compliance",{"href":124,"dataGaName":125,"dataGaLocation":26},"/solutions/software-compliance/","software compliance",{"title":127,"link":128,"items":133},"Measurement",{"config":129},{"icon":130,"href":131,"dataGaName":132,"dataGaLocation":26},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[134,138,142],{"text":135,"config":136},"Visibility & Measurement",{"href":131,"dataGaLocation":26,"dataGaName":137},"Visibility and Measurement",{"text":139,"config":140},"Value Stream Management",{"href":141,"dataGaLocation":26,"dataGaName":139},"/solutions/value-stream-management/",{"text":143,"config":144},"Analytics & Insights",{"href":145,"dataGaLocation":26,"dataGaName":146},"/solutions/analytics-and-insights/","Analytics and insights",{"title":148,"items":149},"GitLab for",[150,155,160],{"text":151,"config":152},"Enterprise",{"href":153,"dataGaLocation":26,"dataGaName":154},"/enterprise/","enterprise",{"text":156,"config":157},"Small Business",{"href":158,"dataGaLocation":26,"dataGaName":159},"/small-business/","small business",{"text":161,"config":162},"Public Sector",{"href":163,"dataGaLocation":26,"dataGaName":164},"/solutions/public-sector/","public sector",{"text":166,"config":167},"Pricing",{"href":168,"dataGaName":169,"dataGaLocation":26,"dataNavLevelOne":169},"/pricing/","pricing",{"text":171,"config":172,"link":174,"lists":178,"feature":258},"Resources",{"dataNavLevelOne":173},"resources",{"text":175,"config":176},"View all resources",{"href":177,"dataGaName":173,"dataGaLocation":26},"/resources/",[179,212,230],{"title":180,"items":181},"Getting started",[182,187,192,197,202,207],{"text":183,"config":184},"Install",{"href":185,"dataGaName":186,"dataGaLocation":26},"/install/","install",{"text":188,"config":189},"Quick start guides",{"href":190,"dataGaName":191,"dataGaLocation":26},"/get-started/","quick setup checklists",{"text":193,"config":194},"Learn",{"href":195,"dataGaLocation":26,"dataGaName":196},"https://university.gitlab.com/","learn",{"text":198,"config":199},"Product documentation",{"href":200,"dataGaName":201,"dataGaLocation":26},"https://docs.gitlab.com/","product documentation",{"text":203,"config":204},"Best practice videos",{"href":205,"dataGaName":206,"dataGaLocation":26},"/getting-started-videos/","best practice videos",{"text":208,"config":209},"Integrations",{"href":210,"dataGaName":211,"dataGaLocation":26},"/integrations/","integrations",{"title":213,"items":214},"Discover",[215,220,225],{"text":216,"config":217},"Customer success stories",{"href":218,"dataGaName":219,"dataGaLocation":26},"/customers/","customer success stories",{"text":221,"config":222},"Blog",{"href":223,"dataGaName":224,"dataGaLocation":26},"/blog/","blog",{"text":226,"config":227},"Remote",{"href":228,"dataGaName":229,"dataGaLocation":26},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":231,"items":232},"Connect",[233,238,243,248,253],{"text":234,"config":235},"GitLab Services",{"href":236,"dataGaName":237,"dataGaLocation":26},"/services/","services",{"text":239,"config":240},"Community",{"href":241,"dataGaName":242,"dataGaLocation":26},"/community/","community",{"text":244,"config":245},"Forum",{"href":246,"dataGaName":247,"dataGaLocation":26},"https://forum.gitlab.com/","forum",{"text":249,"config":250},"Events",{"href":251,"dataGaName":252,"dataGaLocation":26},"/events/","events",{"text":254,"config":255},"Partners",{"href":256,"dataGaName":257,"dataGaLocation":26},"/partners/","partners",{"backgroundColor":259,"textColor":260,"text":261,"image":262,"link":266},"#2f2a6b","#fff","Insights for the future of software development",{"altText":263,"config":264},"the source promo card",{"src":265},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":267,"config":268},"Read the latest",{"href":269,"dataGaName":270,"dataGaLocation":26},"/the-source/","the source",{"text":272,"config":273,"lists":275},"Company",{"dataNavLevelOne":274},"company",[276],{"items":277},[278,283,289,291,296,301,306,311,316,321,326],{"text":279,"config":280},"About",{"href":281,"dataGaName":282,"dataGaLocation":26},"/company/","about",{"text":284,"config":285,"footerGa":288},"Jobs",{"href":286,"dataGaName":287,"dataGaLocation":26},"/jobs/","jobs",{"dataGaName":287},{"text":249,"config":290},{"href":251,"dataGaName":252,"dataGaLocation":26},{"text":292,"config":293},"Leadership",{"href":294,"dataGaName":295,"dataGaLocation":26},"/company/team/e-group/","leadership",{"text":297,"config":298},"Team",{"href":299,"dataGaName":300,"dataGaLocation":26},"/company/team/","team",{"text":302,"config":303},"Handbook",{"href":304,"dataGaName":305,"dataGaLocation":26},"https://handbook.gitlab.com/","handbook",{"text":307,"config":308},"Investor relations",{"href":309,"dataGaName":310,"dataGaLocation":26},"https://ir.gitlab.com/","investor relations",{"text":312,"config":313},"Trust Center",{"href":314,"dataGaName":315,"dataGaLocation":26},"/security/","trust center",{"text":317,"config":318},"AI Transparency Center",{"href":319,"dataGaName":320,"dataGaLocation":26},"/ai-transparency-center/","ai transparency center",{"text":322,"config":323},"Newsletter",{"href":324,"dataGaName":325,"dataGaLocation":26},"/company/contact/#contact-forms","newsletter",{"text":327,"config":328},"Press",{"href":329,"dataGaName":330,"dataGaLocation":26},"/press/","press",{"text":332,"config":333,"lists":334},"Contact us",{"dataNavLevelOne":274},[335],{"items":336},[337,340,345],{"text":33,"config":338},{"href":35,"dataGaName":339,"dataGaLocation":26},"talk to sales",{"text":341,"config":342},"Support portal",{"href":343,"dataGaName":344,"dataGaLocation":26},"https://support.gitlab.com","support portal",{"text":346,"config":347},"Customer portal",{"href":348,"dataGaName":349,"dataGaLocation":26},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":351,"login":352,"suggestions":359},"Close",{"text":353,"link":354},"To search repositories and projects, login to",{"text":355,"config":356},"gitlab.com",{"href":40,"dataGaName":357,"dataGaLocation":358},"search login","search",{"text":360,"default":361},"Suggestions",[362,364,368,370,374,378],{"text":55,"config":363},{"href":60,"dataGaName":55,"dataGaLocation":358},{"text":365,"config":366},"Code Suggestions (AI)",{"href":367,"dataGaName":365,"dataGaLocation":358},"/solutions/code-suggestions/",{"text":89,"config":369},{"href":91,"dataGaName":89,"dataGaLocation":358},{"text":371,"config":372},"GitLab on AWS",{"href":373,"dataGaName":371,"dataGaLocation":358},"/partners/technology-partners/aws/",{"text":375,"config":376},"GitLab on Google Cloud",{"href":377,"dataGaName":375,"dataGaLocation":358},"/partners/technology-partners/google-cloud-platform/",{"text":379,"config":380},"Why GitLab?",{"href":68,"dataGaName":379,"dataGaLocation":358},{"freeTrial":382,"mobileIcon":387,"desktopIcon":392,"secondaryButton":395},{"text":383,"config":384},"Start free trial",{"href":385,"dataGaName":31,"dataGaLocation":386},"https://gitlab.com/-/trials/new/","nav",{"altText":388,"config":389},"Gitlab Icon",{"src":390,"dataGaName":391,"dataGaLocation":386},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":388,"config":393},{"src":394,"dataGaName":391,"dataGaLocation":386},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":396,"config":397},"Get Started",{"href":398,"dataGaName":399,"dataGaLocation":386},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":401,"mobileIcon":406,"desktopIcon":408},{"text":402,"config":403},"Learn more about GitLab Duo",{"href":404,"dataGaName":405,"dataGaLocation":386},"/gitlab-duo/","gitlab duo",{"altText":388,"config":407},{"src":390,"dataGaName":391,"dataGaLocation":386},{"altText":388,"config":409},{"src":394,"dataGaName":391,"dataGaLocation":386},{"freeTrial":411,"mobileIcon":416,"desktopIcon":418},{"text":412,"config":413},"Back to pricing",{"href":168,"dataGaName":414,"dataGaLocation":386,"icon":415},"back to pricing","GoBack",{"altText":388,"config":417},{"src":390,"dataGaName":391,"dataGaLocation":386},{"altText":388,"config":419},{"src":394,"dataGaName":391,"dataGaLocation":386},{"title":421,"button":422,"config":427},"See how agentic AI transforms software delivery",{"text":423,"config":424},"Watch GitLab Transcend now",{"href":425,"dataGaName":426,"dataGaLocation":26},"/events/transcend/virtual/","transcend event",{"layout":428,"icon":429},"release","AiStar",{"data":431},{"text":432,"source":433,"edit":439,"contribute":444,"config":449,"items":454,"minimal":661},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":434,"config":435},"View page source",{"href":436,"dataGaName":437,"dataGaLocation":438},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":440,"config":441},"Edit this page",{"href":442,"dataGaName":443,"dataGaLocation":438},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":445,"config":446},"Please contribute",{"href":447,"dataGaName":448,"dataGaLocation":438},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":450,"facebook":451,"youtube":452,"linkedin":453},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[455,502,556,600,627],{"title":166,"links":456,"subMenu":471},[457,461,466],{"text":458,"config":459},"View plans",{"href":168,"dataGaName":460,"dataGaLocation":438},"view plans",{"text":462,"config":463},"Why Premium?",{"href":464,"dataGaName":465,"dataGaLocation":438},"/pricing/premium/","why premium",{"text":467,"config":468},"Why Ultimate?",{"href":469,"dataGaName":470,"dataGaLocation":438},"/pricing/ultimate/","why ultimate",[472],{"title":473,"links":474},"Contact Us",[475,478,480,482,487,492,497],{"text":476,"config":477},"Contact sales",{"href":35,"dataGaName":36,"dataGaLocation":438},{"text":341,"config":479},{"href":343,"dataGaName":344,"dataGaLocation":438},{"text":346,"config":481},{"href":348,"dataGaName":349,"dataGaLocation":438},{"text":483,"config":484},"Status",{"href":485,"dataGaName":486,"dataGaLocation":438},"https://status.gitlab.com/","status",{"text":488,"config":489},"Terms of use",{"href":490,"dataGaName":491,"dataGaLocation":438},"/terms/","terms of use",{"text":493,"config":494},"Privacy statement",{"href":495,"dataGaName":496,"dataGaLocation":438},"/privacy/","privacy statement",{"text":498,"config":499},"Cookie preferences",{"dataGaName":500,"dataGaLocation":438,"id":501,"isOneTrustButton":15},"cookie preferences","ot-sdk-btn",{"title":71,"links":503,"subMenu":512},[504,508],{"text":505,"config":506},"DevSecOps platform",{"href":53,"dataGaName":507,"dataGaLocation":438},"devsecops platform",{"text":509,"config":510},"AI-Assisted Development",{"href":404,"dataGaName":511,"dataGaLocation":438},"ai-assisted development",[513],{"title":514,"links":515},"Topics",[516,521,526,531,536,541,546,551],{"text":517,"config":518},"CICD",{"href":519,"dataGaName":520,"dataGaLocation":438},"/topics/ci-cd/","cicd",{"text":522,"config":523},"GitOps",{"href":524,"dataGaName":525,"dataGaLocation":438},"/topics/gitops/","gitops",{"text":527,"config":528},"DevOps",{"href":529,"dataGaName":530,"dataGaLocation":438},"/topics/devops/","devops",{"text":532,"config":533},"Version Control",{"href":534,"dataGaName":535,"dataGaLocation":438},"/topics/version-control/","version control",{"text":537,"config":538},"DevSecOps",{"href":539,"dataGaName":540,"dataGaLocation":438},"/topics/devsecops/","devsecops",{"text":542,"config":543},"Cloud Native",{"href":544,"dataGaName":545,"dataGaLocation":438},"/topics/cloud-native/","cloud native",{"text":547,"config":548},"AI for Coding",{"href":549,"dataGaName":550,"dataGaLocation":438},"/topics/devops/ai-for-coding/","ai for coding",{"text":552,"config":553},"Agentic AI",{"href":554,"dataGaName":555,"dataGaLocation":438},"/topics/agentic-ai/","agentic ai",{"title":557,"links":558},"Solutions",[559,561,563,568,572,575,579,582,584,587,590,595],{"text":113,"config":560},{"href":108,"dataGaName":113,"dataGaLocation":438},{"text":102,"config":562},{"href":85,"dataGaName":86,"dataGaLocation":438},{"text":564,"config":565},"Agile development",{"href":566,"dataGaName":567,"dataGaLocation":438},"/solutions/agile-delivery/","agile delivery",{"text":569,"config":570},"SCM",{"href":98,"dataGaName":571,"dataGaLocation":438},"source code management",{"text":517,"config":573},{"href":91,"dataGaName":574,"dataGaLocation":438},"continuous integration & delivery",{"text":576,"config":577},"Value stream management",{"href":141,"dataGaName":578,"dataGaLocation":438},"value stream management",{"text":522,"config":580},{"href":581,"dataGaName":525,"dataGaLocation":438},"/solutions/gitops/",{"text":151,"config":583},{"href":153,"dataGaName":154,"dataGaLocation":438},{"text":585,"config":586},"Small business",{"href":158,"dataGaName":159,"dataGaLocation":438},{"text":588,"config":589},"Public sector",{"href":163,"dataGaName":164,"dataGaLocation":438},{"text":591,"config":592},"Education",{"href":593,"dataGaName":594,"dataGaLocation":438},"/solutions/education/","education",{"text":596,"config":597},"Financial services",{"href":598,"dataGaName":599,"dataGaLocation":438},"/solutions/finance/","financial services",{"title":171,"links":601},[602,604,606,608,611,613,615,617,619,621,623,625],{"text":183,"config":603},{"href":185,"dataGaName":186,"dataGaLocation":438},{"text":188,"config":605},{"href":190,"dataGaName":191,"dataGaLocation":438},{"text":193,"config":607},{"href":195,"dataGaName":196,"dataGaLocation":438},{"text":198,"config":609},{"href":200,"dataGaName":610,"dataGaLocation":438},"docs",{"text":221,"config":612},{"href":223,"dataGaName":224,"dataGaLocation":438},{"text":216,"config":614},{"href":218,"dataGaName":219,"dataGaLocation":438},{"text":226,"config":616},{"href":228,"dataGaName":229,"dataGaLocation":438},{"text":234,"config":618},{"href":236,"dataGaName":237,"dataGaLocation":438},{"text":239,"config":620},{"href":241,"dataGaName":242,"dataGaLocation":438},{"text":244,"config":622},{"href":246,"dataGaName":247,"dataGaLocation":438},{"text":249,"config":624},{"href":251,"dataGaName":252,"dataGaLocation":438},{"text":254,"config":626},{"href":256,"dataGaName":257,"dataGaLocation":438},{"title":272,"links":628},[629,631,633,635,637,639,641,645,650,652,654,656],{"text":279,"config":630},{"href":281,"dataGaName":274,"dataGaLocation":438},{"text":284,"config":632},{"href":286,"dataGaName":287,"dataGaLocation":438},{"text":292,"config":634},{"href":294,"dataGaName":295,"dataGaLocation":438},{"text":297,"config":636},{"href":299,"dataGaName":300,"dataGaLocation":438},{"text":302,"config":638},{"href":304,"dataGaName":305,"dataGaLocation":438},{"text":307,"config":640},{"href":309,"dataGaName":310,"dataGaLocation":438},{"text":642,"config":643},"Sustainability",{"href":644,"dataGaName":642,"dataGaLocation":438},"/sustainability/",{"text":646,"config":647},"Diversity, inclusion and belonging (DIB)",{"href":648,"dataGaName":649,"dataGaLocation":438},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":312,"config":651},{"href":314,"dataGaName":315,"dataGaLocation":438},{"text":322,"config":653},{"href":324,"dataGaName":325,"dataGaLocation":438},{"text":327,"config":655},{"href":329,"dataGaName":330,"dataGaLocation":438},{"text":657,"config":658},"Modern Slavery Transparency Statement",{"href":659,"dataGaName":660,"dataGaLocation":438},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":662},[663,666,669],{"text":664,"config":665},"Terms",{"href":490,"dataGaName":491,"dataGaLocation":438},{"text":667,"config":668},"Cookies",{"dataGaName":500,"dataGaLocation":438,"id":501,"isOneTrustButton":15},{"text":670,"config":671},"Privacy",{"href":495,"dataGaName":496,"dataGaLocation":438},[673,683,690,697,704,711,718,725,732,740,751,760,769,778,787,797,808,817,826,835,844,853,862,871,880,888,896,905,914,923,932,941,950,960,969,978],{"content":674,"config":681},{"title":675,"heroImage":676,"category":677,"description":678,"authors":679,"date":680},"AI Catalog: Discover, create, and share agents and flows","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","ai-ml","Explore the GitLab AI Catalog to discover and enable foundational agents and flows, create custom ones tailored to your needs, and share them with your team for seamless collaboration.",[5],"2026-01-14",{"slug":682,"externalUrl":-1},"ai-catalog-discover-and-share-agents",{"content":684,"config":688},{"title":685,"heroImage":676,"category":677,"description":686,"authors":687,"date":680},"Customizing GitLab Duo Agent Platform: Chat rules, prompts, and workflows","Learn how to customize GitLab Duo Agent Platform to match your team's workflow. Configure chat rules, craft system prompts, set up agent tools, and tailor flows for your specific needs.",[5],{"slug":689,"externalUrl":-1},"customizing-gitlab-duo-chat-rules-prompts-workflows",{"content":691,"config":695},{"title":692,"heroImage":676,"category":677,"description":693,"authors":694,"date":680},"Getting started with GitLab Duo Agentic Chat","Learn the chat interface, model and agent selection, and best practices for effective AI collaboration across Web UI and IDEs.",[5],{"slug":696,"externalUrl":-1},"getting-started-with-gitlab-duo-agentic-chat",{"content":698,"config":702},{"title":699,"heroImage":676,"category":677,"description":700,"authors":701,"date":680},"Get started with GitLab Duo Agent Platform: The complete guide","Learn GitLab Duo Agent Platform with this comprehensive series covering everything from first interactions to advanced MCP integration, customization, and production workflows.",[5],{"slug":703,"externalUrl":-1},"gitlab-duo-agent-platform-complete-getting-started-guide",{"content":705,"config":709},{"title":706,"heroImage":676,"category":677,"description":707,"authors":708,"date":680},"Introduction to GitLab Duo Agent Platform","Learn the basics of GitLab Duo Agent Platform and complete your first agent interaction.",[5],{"slug":710,"externalUrl":-1},"introduction-to-gitlab-duo-agent-platform",{"content":712,"config":716},{"title":713,"heroImage":676,"category":677,"description":714,"authors":715,"date":680},"Monitor, manage, and automate AI workflows","Explore the GitLab Duo Agent Platform Automate capabilities. Monitor activity through sessions, automate workflows with event-driven triggers, and manage your AI-powered development processes.",[5],{"slug":717,"externalUrl":-1},"monitor-manage-automate-ai-workflows",{"content":719,"config":723},{"title":720,"heroImage":676,"category":677,"description":721,"authors":722,"date":680},"Understanding agents: Foundational, custom, and external","Deep dive into GitLab Duo Agent Platform agent types. Learn about foundational agents, create custom agents for team workflows, and integrate external agents like Claude Code and OpenAI Codex.",[5],{"slug":724,"externalUrl":-1},"understanding-agents-foundational-custom-external",{"content":726,"config":730},{"title":727,"heroImage":676,"category":677,"description":728,"authors":729,"date":680},"Understanding flows: Multi-agent workflows","Deep dive into GitLab Duo Agent Platform flows. Learn about foundational flows, create custom user-defined workflows, and learn flow orchestration patterns.",[5],{"slug":731,"externalUrl":-1},"understanding-flows-multi-agent-workflows",{"content":733,"config":738},{"title":734,"heroImage":676,"category":677,"description":735,"authors":736,"date":737},"Model Context Protocol integration","Extend GitLab Duo with external Services using MCP. Connect to Jira, Slack, AWS, and more as an MCP client, or enable external AI tools to access your GitLab data as an MCP server.",[5],"2025-09-26",{"slug":739,"externalUrl":-1},"duo-agent-platform-with-mcp",{"content":741,"config":749},{"title":742,"heroImage":743,"category":744,"description":745,"authors":746,"date":748},"A developer's guide to building secure retail apps with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756989645/fojzxakmfdea6jfqjkrl.png","security","Learn how a DevSecOps platform helps retailers develop secure, compliant software for complex, high-traffic retail environments.",[5,747],"Rebeca Fenoy-Anthony","2025-09-04",{"slug":750,"externalUrl":-1},"a-developers-guide-to-building-secure-retail-apps-with-gitlab",{"content":752,"config":758},{"title":753,"heroImage":754,"category":744,"description":755,"authors":756,"date":757},"Software supply chain security guide: Why organizations struggle","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097701/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%285%29_1iy516k40hwBDChKcUJ2zb_1750097700983.png","Part 1 of this new series explores fundamental challenges, practical solutions, and emerging trends, including AI, that every development team needs to understand.",[5],"2025-07-24",{"slug":759,"externalUrl":-1},"software-supply-chain-security-guide-why-organizations-struggle",{"content":761,"config":767},{"title":762,"heroImage":763,"category":540,"description":764,"authors":765,"date":766},"Why are organizations moving to a unified DevSecOps platform?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097063/Blog/Hero%20Images/Blog/Hero%20Images/securitylifecycle-light_securitylifecycle-light.png_1750097063583.png","Learn about GitLab's comprehensive, unified DevSecOps platform, which integrates tools, enhances security, and leverages AI for efficient software development.",[5],"2025-06-02",{"slug":768,"externalUrl":-1},"why-are-organizations-moving-to-a-unified-devsecops-platform",{"content":770,"config":776},{"title":771,"heroImage":772,"category":677,"description":773,"authors":774,"date":775},"What is a large language model (LLM)?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660057/Blog/Hero%20Images/LLM.jpg","Learn how large language models work, their applications, and their impact on the DevSecOps world.",[5],"2025-05-29",{"slug":777,"externalUrl":-1},"what-is-a-large-language-model-llm",{"content":779,"config":785},{"title":780,"heroImage":781,"category":677,"description":782,"authors":783,"date":784},"Quickly resolve broken CI/CD pipelines with AI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097355/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2811%29_78Dav6FR9EGjhebHWuBVan_1750097355230.png","When your CI/CD pipeline fails, it leads to delays, decreased productivity, and stress. AI-powered Root Cause Analysis makes problem-solving faster and smarter.",[5],"2024-12-03",{"slug":786,"externalUrl":-1},"quickly-resolve-broken-ci-cd-pipelines-with-ai",{"content":788,"config":795},{"title":789,"heroImage":790,"category":791,"description":792,"authors":793,"date":794},"How to include file references in your CI/CD components","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664595/Blog/Hero%20Images/blog-image-template-1800x945__9_.png","product","Learn how to include scripts and dependencies in your CI/CD components to minimize duplications and simplify maintenance. This tutorial takes you step-by-step through the process.",[5],"2024-10-16",{"slug":796,"externalUrl":-1},"how-to-include-file-references-in-your-ci-cd-components",{"content":798,"config":806},{"title":799,"heroImage":800,"category":801,"description":802,"authors":803,"date":805},"FAQ: GitLab CI/CD Catalog","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098783/Blog/Hero%20Images/Blog/Hero%20Images/cicdcover_5vLe737i4QfvAqv6PnqUaR_1750098782745.png","engineering","Unlock the full potential of the CI/CD Catalog with expert tips and answers to common questions, including how to create and share components.",[5,804],"Dov Hershkovitch","2024-08-01",{"slug":807,"externalUrl":-1},"faq-gitlab-ci-cd-catalog",{"content":809,"config":815},{"title":810,"heroImage":811,"category":540,"description":812,"authors":813,"date":814},"Interactive: Take a guided tour of the DevSecOps workflow","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668969/Blog/Hero%20Images/blog-image-template-1800x945__1800_x_945_px_.png","Explore GitLab's recommended best practices for DevSecOps with a detailed visual depiction of the main steps in the development lifecycle.",[5],"2024-04-16",{"slug":816,"externalUrl":-1},"interactive-take-a-guided-tour-of-the-devsecops-workflow",{"content":818,"config":824},{"title":819,"heroImage":820,"category":801,"description":821,"authors":822,"date":823},"Refactoring a CI/CD template to a CI/CD component","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665989/Blog/Hero%20Images/AdobeStock_618473457.jpg","CI/CD components are the next generation of CI/CD templates, enhancing pipeline creation and maintenance. Learn how to transition from templates to components.",[5],"2024-03-04",{"slug":825,"externalUrl":-1},"refactoring-a-ci-cd-template-to-a-ci-cd-component",{"content":827,"config":833},{"title":828,"heroImage":829,"category":801,"description":830,"authors":831,"date":832},"Introducing the GitLab CI/CD Catalog Beta","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099399/Blog/Hero%20Images/Blog/Hero%20Images/security-pipelines_4UHVIJlePT8rEzjvYkGYvi_1750099398604.jpg","Discover, reuse, and contribute CI/CD components effortlessly, enhancing collaboration and efficiency when creating pipeline configurations.",[5],"2023-12-21",{"slug":834,"externalUrl":-1},"introducing-the-gitlab-ci-cd-catalog-beta",{"content":836,"config":842},{"title":837,"heroImage":838,"category":540,"description":839,"authors":840,"date":841},"Jenkins to GitLab: The ultimate guide to modernizing your CI/CD environment","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663000/Blog/Hero%20Images/tanukilifecycle.png","Learn how to migrate from Jenkins to the integrated CI/CD of the GitLab DevSecOps Platform to deliver high-quality software rapidly.",[5],"2023-11-01",{"slug":843,"externalUrl":-1},"jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment",{"content":845,"config":851},{"title":846,"heroImage":847,"category":677,"description":848,"authors":849,"date":850},"Unblock code reviews with GitLab Suggested Reviewers","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666316/Blog/Hero%20Images/codereview2.png","Identify the right reviewers more quickly, saving time and accelerating the software development lifecycle.",[5],"2023-09-21",{"slug":852,"externalUrl":-1},"gitlab-suggested-reviewers",{"content":854,"config":860},{"title":855,"heroImage":856,"category":677,"description":857,"authors":858,"date":859},"How GitLab Duo Code Suggestions helped me make long car rides fun","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679869/Blog/Hero%20Images/carride.jpg","AI-powered Gitlab Duo Code Suggestions coupled with Remote Development workspaces helped me create a Python-based guessing game application to keep my daughter entertained.",[5],"2023-08-03",{"slug":861,"externalUrl":-1},"gitlab-duo-code-suggestions-python",{"content":863,"config":869},{"title":864,"heroImage":865,"category":801,"description":866,"authors":867,"date":868},"Quickstart guide for GitLab Remote Development workspaces","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664219/Blog/Hero%20Images/2023-06-22-quickstart-workspaces-cover-image2.png","Learn how to create a workspace from your GitLab account and work directly from the remote development environment.",[5],"2023-06-26",{"slug":870,"externalUrl":-1},"quick-start-guide-for-gitlab-workspaces",{"content":872,"config":878},{"title":873,"heroImage":874,"category":801,"description":875,"authors":876,"date":877},"Define input parameters to includable CI/CD configuration files","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679170/Blog/Hero%20Images/migration-data.jpg","This is the first milestone of the long-term roadmap of the CI/CD Components Catalog roadmap.",[5],"2023-05-08",{"slug":879,"externalUrl":-1},"use-inputs-in-includable-files",{"content":881,"config":886},{"title":882,"heroImage":874,"category":801,"description":883,"authors":884,"date":885},"How to migrate data to GitLab using main importers","Learn about the capabilities of main importers, which are used to import data from external tools and from other GitLab instances.",[5],"2023-02-13",{"slug":887,"externalUrl":-1},"gitlab-importers",{"content":889,"config":894},{"title":890,"heroImage":743,"category":540,"description":891,"authors":892,"date":893},"How to learn CI/CD fast","Continuous integration and continuous delivery (CI/CD) are critical to faster software releases and it's less complicated than it seems to get rolling. Here's how to start fast with CI/CD.",[5],"2022-04-13",{"slug":895,"externalUrl":-1},"how-to-learn-ci-cd-fast",{"content":897,"config":903},{"title":898,"heroImage":743,"category":899,"description":900,"authors":901,"date":902},"How to keep up with CI/CD best practices","insights","In this post, we look at continuous integration/continuous delivery (CI/CD), how to implement some best practices, and why it is important.",[5],"2022-02-03",{"slug":904,"externalUrl":-1},"how-to-keep-up-with-ci-cd-best-practices",{"content":906,"config":912},{"title":907,"heroImage":908,"category":540,"description":909,"authors":910,"date":911},"The role of Value Stream Analytics in GitLab's DevOps Platform","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668041/Blog/Hero%20Images/Understand-Highly-Technical-Spaces.jpg","Better DevOps teams start with value stream management. Here's how to get the most out of GitLab's Value Stream Analytics.",[5],"2022-01-24",{"slug":913,"externalUrl":-1},"gitlab-value-stream-analytics",{"content":915,"config":921},{"title":916,"heroImage":917,"category":540,"description":918,"authors":919,"date":920},"Downtime happens, but GitLab Incident Management can help","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg","GitLab's DevOps Platform doesn't just make it easy to release safe software faster, it also streamlines the process for problem solving. Here's a deep dive into GitLab Incident Management.",[5],"2021-11-30",{"slug":922,"externalUrl":-1},"gitlab-incident-management",{"content":924,"config":930},{"title":925,"heroImage":926,"category":801,"description":927,"authors":928,"date":929},"How to use Terratag to automatically manage tags and labels for your Terraform Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682137/Blog/Hero%20Images/blog-image.png","This blog addresses how you can do that easily and automatically when using Terraform and Terratag (an open source project by env0) on top of the Gitlab CI/CD platform.",[5],"2021-09-14",{"slug":931,"externalUrl":-1},"gitlab-together-with-terratag-open-source-to-help-you-manage-terraform-resources",{"content":933,"config":939},{"title":934,"heroImage":935,"category":801,"description":936,"authors":937,"date":938},"How to stand-up a GitLab instance in AWS Marketplace","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682043/Blog/Hero%20Images/awsmp.png","This is a quick quide to help you provision a GitLab instance in the AWS Marketplace and setup a Runner.",[5],"2021-06-30",{"slug":940,"externalUrl":-1},"how-to-stand-up-gitlab-in-awsmp",{"content":942,"config":948},{"title":943,"heroImage":944,"category":801,"description":945,"authors":946,"date":947},"The basics of CI: How to run jobs sequentially, in parallel, or out of order","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662061/Blog/Hero%20Images/cicdcover.png","New to continuous integration? Learn how to build your first CI pipeline with GitLab.",[5],"2020-12-10",{"slug":949,"externalUrl":-1},"basics-of-gitlab-ci-updated",{"content":951,"config":958},{"title":952,"heroImage":953,"category":954,"description":955,"authors":956,"date":957},"Leading SCM, CI and Code Review in one application","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679607/Blog/Hero%20Images/scm-ci-cr.png","unfiltered","The most important tools for developers are SCM, CI and Code Review, and it is better to have them all together.",[5],"2020-09-30",{"slug":959,"externalUrl":-1},"leading-scm-ci-and-code-review-in-one-application",{"content":961,"config":967},{"title":962,"heroImage":963,"category":801,"description":964,"authors":965,"date":966},"How to integrate Azure DevOps repositories with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664363/Blog/Hero%20Images/aleksey-kuprikov.jpg","How to keep your code in an Azure DevOps repository and run CI/CD with GitLab pipelines.",[5],"2020-07-09",{"slug":968,"externalUrl":-1},"integrating-azure-devops-scm-and-gitlab",{"content":970,"config":976},{"title":971,"heroImage":972,"category":801,"description":973,"authors":974,"date":975},"Get faster and more flexible pipelines with a Directed Acyclic Graph","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681298/Blog/Hero%20Images/james-eades-bfwhP9xodvE-unsplash.jpg","A Directed Acyclic Graph will let you run pipeline steps out of order, break the stage sequencing, and allow jobs to relate to each other directly.",[5],"2020-05-12",{"slug":977,"externalUrl":-1},"directed-acyclic-graph",{"content":979,"config":985},{"title":980,"heroImage":981,"category":801,"description":982,"authors":983,"date":984},"How to trigger multiple pipelines using GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666903/Blog/Hero%20Images/pipeline.jpg","Discover how to trigger and visualize pipelines when you set up GitLab CI/CD across multiple projects.",[5],"2019-07-24",{"slug":986,"externalUrl":-1},"cross-project-pipeline",1772652076355]