[{"data":1,"prerenderedAt":962},["ShallowReactive",2],{"/gitlab-ci-skill":3,"navigation-en-us":289,"banner-en-us":700,"footer-en-us":709,"next-steps-en-us":952},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":280,"meta":281,"navigation":282,"path":283,"seo":284,"slug":6,"stem":287,"testContent":6,"type":6,"__hash__":288},"pages/en-us/gitlab-ci-skill.yml","Gitlab Ci Skill",null,[8,43,97,126,160,210,240,266],{"componentName":9,"componentContent":10},"GitlabCiPageNav",{"links":11,"cta":38},[12,18,23,28,33],{"text":13,"config":14},"How it works",{"href":15,"dataGaName":16,"dataGaLocation":17},"#paradigm","how it works","page nav",{"text":19,"config":20},"Get started",{"href":21,"dataGaName":22,"dataGaLocation":17},"#start","get started",{"text":24,"config":25},"Install",{"href":26,"dataGaName":27,"dataGaLocation":17},"#install","install",{"text":29,"config":30},"Why GitLab",{"href":31,"dataGaName":32,"dataGaLocation":17},"#why-gitlab","why gitlab",{"text":34,"config":35},"Going further",{"href":36,"dataGaName":37,"dataGaLocation":17},"#going-further","going further",{"text":39,"config":40},"View on GitLab",{"href":41,"dataGaName":42,"dataGaLocation":17},"https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill","view on gitlab",{"componentName":44,"componentContent":45},"GitlabCiHero",{"eyebrow":46,"title":47,"description":48,"primaryButton":49,"secondaryButton":54,"feedbackNote":59,"stats":60,"demo":70},"✦ New • Free AI Skill","Draft and validate GitLab CI pipelines without leaving your editor.","A free AI skill that drafts and validates your `.gitlab-ci.yml` in your local editor. Works with Cursor, VS Code, Claude Code, and any agent you already use.\n",{"text":50,"config":51},"Get the skill",{"href":21,"dataGaName":52,"dataGaLocation":53},"get the skill","hero",{"text":55,"config":56},"Powered by glci (experimental)",{"href":57,"dataGaName":58,"dataGaLocation":53},"https://glci-e20136.gitlab.io/","powered by glci","**New!** Actively shipping improvements, [share your feedback with us.](https://gitlab.com/gitlab-org/gitlab/-/work_items/601046)",[61,64,67],{"number":62,"label":63},"0","GitLab accounts needed to validate locally",{"number":65,"label":66},"6+","AI Agents and editors supported",{"number":68,"label":69},"MIT","Open source (skill & CLI)",{"title":71,"lines":72,"footer":95},"~/your-project — draft & validate",[73,76,79,82,84,86,89,91,93],{"kind":74,"text":75},"comment","# 1. the skill drafts your pipeline",{"kind":77,"text":78},"final","✓ .gitlab-ci.yml created from project context",{"kind":80,"text":81},"detail","3 stages, 5 jobs · node:20-alpine",{"kind":83},"spacer",{"kind":74,"text":85},"# 2. validate locally before you push",{"kind":87,"text":88},"command","glci lint",{"kind":77,"text":90},"✓ syntax valid",{"kind":77,"text":92},"✓ all references resolved",{"kind":77,"text":94},"✓ 3 stages, 5 jobs, 0 errors",{"kind":77,"text":96},"ready to commit.",{"componentName":98,"componentContent":99},"GitlabCiParadigm",{"eyebrow":100,"title":101,"description":102,"config":103,"before":105,"after":115,"pullquote":125},"The Shift","From commit-to-validate, to validate-to-commit","Pipelines are the only part of the modern dev stack you still can't validate locally. The skill drafts the YAML in your editor. `glci` (an experimental GitLab project) runs it against the real runner before you push. You stop using your remote pipeline as a debugger and your git history as a typo log.\n",{"id":104},"paradigm",{"label":106,"headline":107,"bullets":108},"Before","Commit. Push. Wait. Fail. Repeat.",[109,110,111,112,113,114],"Write the YAML by hand from memory or docs","Commit and push to a branch to find out if it works","Wait 8–12 minutes for a remote runner","Fail on a typo, a missing variable, or a misnamed job","Edit, push, repeat 3–4 times","Leave a trail of \"fix CI\" commits in your history",{"label":116,"headline":117,"bullets":118},"With the skill + glci","Draft. Validate. Push when it's green.",[119,120,121,122,123,124],"Ask the agent to draft a pipeline from your repo","Run `glci show` to inspect the job graph","Run `glci run` to execute every job in real Docker","Fix what fails — in seconds, not minutes","Push once, with a pipeline you've already seen pass","Keep your git history about your code, not your YAML","The shift isn't a faster pipeline. It's a different relationship with your pipeline. The same one you already have with your application code.\n",{"componentName":127,"componentContent":128},"GitlabCiSteps",{"eyebrow":19,"title":129,"description":130,"config":131,"steps":133,"requirements":144},"Two steps. About five minutes","No GitLab account needed to validate locally. You don't push anything until you choose to.",{"id":132},"start",[134,139],{"timing":135,"title":136,"description":137,"badge":138},"~1 minute","Add the skill to your editor","Drop the skill into Claude Code, Cursor, VS Code, OpenCode, or Codex. The agent now knows GitLab CI/CD — syntax, best practices, your stack.","Plain markdown spec. Portable by design.",{"timing":140,"title":141,"description":142,"badge":143},"~3 minutes","Ask, run, push","\"Write a CI pipeline for this project.\" Review the YAML the agent drafts. Run `glci run`. Push when it's green.","Same gitlab-runner binary as production",{"title":145,"items":146},"What you need",[147,150,153,156],{"title":148,"description":149},"A compatible editor or agent","Claude Code, Cursor, VS Code, OpenCode, Codex, or anything that loads markdown skills.",{"title":151,"description":152},"A project","Any codebase, hosted anywhere. The agent reads from your local working directory and drafts a suggested pipeline automatically.",{"title":154,"description":155},"Docker running locally","So glci can validate and execute jobs in real containers.",{"title":157,"qualifier":158,"description":159},"A GitLab project","(when you're ready to run CI on every push)","The skill and glci validate locally without it; you'll need one when you want pipelines to run in the cloud.",{"componentName":161,"componentContent":162},"GitlabCiAgents",{"eyebrow":24,"title":163,"description":164,"config":165,"agentsLabel":136,"agentsTitle":166,"tools":167},"Works with your existing AI agents","A CLI to run pipelines locally, and a skill to draft them in your editor. Install in either order.",{"id":27},"Pick your agent",[168,175,182,189,196,203],{"name":169,"description":170,"afterText":171,"config":172},"Cursor","Download the skill and learn where to [place files](https://docs.cursor.com/context/rules) that Cursor discovers.","Reload Cursor. The agent uses the skill automatically when prompted: `\"Write a CI pipeline for this project.\"`",{"id":173,"href":174},"cursor","git clone https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill.git ~/.cursor/skills/gitlab-ci-skill",{"name":176,"description":177,"afterText":178,"config":179},"VS Code","Download the skill into your VS Code workspace and reference it from your agent's prompt configuration.","Reload the window, then ask your agent to `\"Write a CI pipeline for this project.\"`",{"id":180,"href":181},"vs-code","git clone https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill.git ~/.github/skills/gitlab-ci-skill",{"name":183,"description":184,"afterText":185,"config":186},"Claude Code","Download the skill into the Claude Code skills directory.","Restart Claude Code. The skill activates automatically when prompted: `\"Write a CI pipeline for this project.\"`",{"id":187,"href":188},"claude-code","git clone https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill.git ~/.claude/skills/gitlab-ci-skill",{"name":190,"description":191,"afterText":192,"config":193},"OpenCode","Download the skill and learn where to [place files](https://opencode.ai/docs/skills/#place-files) that OpenCode discovers.","Afterwards OpenCode will use the skill automatically when prompted: `\"Write a CI pipeline for this project.\"`",{"id":194,"href":195},"opencode","git clone https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill.git ~/.opencode/skills/gitlab-ci-skill",{"name":197,"description":198,"afterText":199,"config":200},"Codex","Download the skill into the Codex agents directory.","The skill activates when prompted about `.gitlab-ci.yml` or asked to draft a pipeline.",{"id":201,"href":202},"codex","git clone https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill.git ~/.agents/skills/gitlab-ci-skill",{"name":204,"description":205,"afterText":206,"config":207},"Other","The skill is a plain markdown spec — drop `SKILL.md` into any agent that loads system prompts from a file.","See the [repo README](https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill) for examples and integration patterns.",{"id":208,"href":209},"other","git clone https://gitlab.com/gitlab-org/ci-cd/gitlab-ci-skill.git",{"componentName":211,"componentContent":212},"GitlabCiFeatures",{"eyebrow":29,"title":213,"description":214,"config":215,"features":218,"footnote":239},"More than a runner. More than this skill","You don't want to log into the UI to write a pipeline. This skill keeps you in your editor for as long as it can. But sometimes you have to come back, whether it's a broken pipeline, an MR review, a deploy gone sideways. When you do, the platform's already wired up. Code, pipelines, registry, secrets, and deploys live in one place. Whatever editor or agent you use plugs in. The same security checks run on AI-written code as on yours.\n",{"id":216,"theme":217},"why-gitlab","dark",[219,224,229,234],{"title":220,"description":221,"config":222},"One data model. Open at the edges.","Code, pipelines, packages, security findings, deploys, releases — all on the same system, connected rather than synced. Whatever editor, agent, or model you bring plugs in via MCP and works from the same authoritative view. Open at the edges, governed in the middle.",{"icon":223},"MachineLearning",{"title":225,"description":226,"config":227},"Context is what separates fast AI from trustworthy AI.","Agents without context write code that looks right and breaks production because they can't see what depends on a change or what already exists. GitLab's knowledge graph keeps a live map of how your code, pipelines, deploys, and security findings connect, so questions about blast radius or downstream impact get answered in seconds, not days. Any agent can read from it.",{"icon":228},"Infrastructure",{"title":230,"description":231,"config":232},"Governance that's structural, not bolted on.","AI-written code goes through the same security scans, the same approvals, and the same audit trail as code you wrote. Agents have scoped identities, behavioral policies, and full chain-of-custody. Bring your own model, your own cloud, your own agent — all governed by the same fabric.",{"icon":233},"Compliance",{"title":235,"description":236,"config":237},"From traditional to autonomous, same platform.","Some of your teams will keep writing code by hand. Others will direct agents on specific tasks. A few will run agents autonomously on lower-risk work. All three live on the same data model and governance so teams advance at their own pace, with no re-platforming as their AI maturity changes.",{"icon":238},"FlowAi","We're actively building this skill, and the team behind it wants it to fit how you actually work. Tell us what's clicking and what's getting in the way. [Share your feedback with us.](https://gitlab.com/gitlab-org/gitlab/-/work_items/601046)",{"componentName":241,"componentContent":242},"GitlabCiGoingFurther",{"eyebrow":34,"title":243,"description":244,"config":245,"items":247},"Two more places GitLab's AI meets your CI","The GitLab CI Skill is purpose-built for drafting and validating new pipelines in your editor. When your CI/CD work changes shape, GitLab has companion products for the other moments.",{"id":246},"going-further",[248,257],{"label":249,"title":250,"description":251,"link":252},"Free AI Skill · Migration","Coming from GitHub Actions?","The GitHub Actions migration skill reads your `.github/workflows/` and converts them to idiomatic GitLab CI/CD, flagging anything that needs a manual decision. Same editors, same workflow.",{"text":253,"config":254},"View the migration skill",{"href":255,"dataGaName":256,"dataGaLocation":37},"/github-actions-to-gitlab-ci/","view migration skill",{"label":258,"title":259,"description":260,"link":261},"GitLab Duo Agent Platform","Pipeline getting complex?","CI Expert Agent lives inside GitLab Duo Agent Platform with full project context: reading live job logs, optimizing build times, debugging flaky jobs, and working across multi-project pipelines. For when your pipelines stop being something you write and start being something you operate.",{"text":262,"config":263},"Meet CI Expert Agent",{"href":264,"dataGaName":265,"dataGaLocation":37},"/gitlab-duo-agent-platform/","meet ci expert agent",{"componentName":267,"componentContent":268},"CommonNextSteps",{"header":269,"blurb":270,"button":271,"secondaryButton":275},"Stop debugging in production","Draft the pipeline. Run it locally. Push when it's green.",{"text":50,"config":272},{"href":21,"icon":273,"dataGaName":52,"dataGaLocation":274},"arrow-right","footer cta",{"text":276,"config":277},"View the source",{"href":41,"variant":278,"dataGaName":279,"dataGaLocation":274},"outline","view the source","yml",{},true,"/en-us/gitlab-ci-skill",{"title":285,"description":286},"GitLab CI Skill — draft and validate pipelines in-editor","A free AI skill that drafts and validates your .gitlab-ci.yml in your local editor. Works with Cursor, VS Code, Claude Code, and any agent you already use.","en-us/gitlab-ci-skill","y3xfvpmkgnNgcJF8nC9lHzKgTPJQ8ucDnujkJ-sRsNc",{"logo":290,"freeTrial":295,"sales":300,"login":305,"items":310,"search":621,"minimal":652,"duo":670,"switchNav":679,"pricingDeployment":690},{"config":291},{"href":292,"dataGaName":293,"dataGaLocation":294},"/","gitlab logo","header",{"text":296,"config":297},"Get free trial",{"href":298,"dataGaName":299,"dataGaLocation":294},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":301,"config":302},"Request a demo",{"href":303,"dataGaName":304,"dataGaLocation":294},"/sales/?contact-topic=request-demo","sales",{"text":306,"config":307},"Sign in",{"href":308,"dataGaName":309,"dataGaLocation":294},"https://gitlab.com/users/sign_in/","sign in",[311,336,436,441,543,599],{"text":312,"config":313,"menu":315},"Platform",{"dataNavLevelOne":314},"platform",{"type":316,"columns":317},"cards",[318,324,330],{"title":312,"description":319,"link":320},"The intelligent orchestration platform for DevSecOps",{"text":321,"config":322},"Explore our Platform",{"href":323,"dataGaName":314,"dataGaLocation":294},"/platform/",{"title":258,"description":325,"link":326},"Agentic AI for the entire software lifecycle",{"text":327,"config":328},"Meet GitLab Duo",{"href":264,"dataGaName":329,"dataGaLocation":294},"gitlab duo agent platform",{"title":29,"description":331,"link":332},"See the top reasons enterprises choose GitLab",{"text":333,"config":334},"Learn more",{"href":335,"dataGaName":32,"dataGaLocation":294},"/why-gitlab/",{"text":337,"left":282,"config":338,"menu":340},"Product",{"dataNavLevelOne":339},"solutions",{"type":341,"link":342,"columns":346,"feature":415},"lists",{"text":343,"config":344},"View all Solutions",{"href":345,"dataGaName":339,"dataGaLocation":294},"/solutions/",[347,371,394],{"title":348,"description":349,"link":350,"items":355},"Automation","CI/CD and automation to accelerate deployment",{"config":351},{"icon":352,"href":353,"dataGaName":354,"dataGaLocation":294},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[356,360,363,367],{"text":357,"config":358},"CI/CD",{"href":359,"dataGaLocation":294,"dataGaName":357},"/solutions/continuous-integration/",{"text":258,"config":361},{"href":264,"dataGaLocation":294,"dataGaName":362},"gitlab duo agent platform - product menu",{"text":364,"config":365},"Source Code Management",{"href":366,"dataGaLocation":294,"dataGaName":364},"/solutions/source-code-management/",{"text":368,"config":369},"Automated Software Delivery",{"href":353,"dataGaLocation":294,"dataGaName":370},"Automated software delivery",{"title":372,"description":373,"link":374,"items":379},"Security","Deliver code faster without compromising security",{"config":375},{"href":376,"dataGaName":377,"dataGaLocation":294,"icon":378},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[380,384,389],{"text":381,"config":382},"Application Security Testing",{"href":376,"dataGaName":383,"dataGaLocation":294},"Application security testing",{"text":385,"config":386},"Software Supply Chain Security",{"href":387,"dataGaLocation":294,"dataGaName":388},"/solutions/supply-chain/","Software supply chain security",{"text":390,"config":391},"Software Compliance",{"href":392,"dataGaName":393,"dataGaLocation":294},"/solutions/software-compliance/","software compliance",{"title":395,"link":396,"items":401},"Measurement",{"config":397},{"icon":398,"href":399,"dataGaName":400,"dataGaLocation":294},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[402,406,410],{"text":403,"config":404},"Visibility & Measurement",{"href":399,"dataGaLocation":294,"dataGaName":405},"Visibility and Measurement",{"text":407,"config":408},"Value Stream Management",{"href":409,"dataGaLocation":294,"dataGaName":407},"/solutions/value-stream-management/",{"text":411,"config":412},"Analytics & Insights",{"href":413,"dataGaLocation":294,"dataGaName":414},"/solutions/analytics-and-insights/","Analytics and insights",{"title":416,"type":341,"items":417},"GitLab for",[418,424,430],{"text":419,"config":420},"Enterprise",{"icon":421,"href":422,"dataGaLocation":294,"dataGaName":423},"Building","/enterprise/","enterprise",{"text":425,"config":426},"Small Business",{"icon":427,"href":428,"dataGaLocation":294,"dataGaName":429},"Work","/small-business/","small business",{"text":431,"config":432},"Public Sector",{"icon":433,"href":434,"dataGaLocation":294,"dataGaName":435},"Organization","/solutions/public-sector/","public sector",{"text":437,"config":438},"Pricing",{"href":439,"dataGaName":440,"dataGaLocation":294,"dataNavLevelOne":440},"/pricing/","pricing",{"text":442,"config":443,"menu":445},"Resources",{"dataNavLevelOne":444},"resources",{"type":341,"link":446,"columns":450,"feature":532},{"text":447,"config":448},"View all resources",{"href":449,"dataGaName":444,"dataGaLocation":294},"/resources/",[451,482,504],{"title":452,"items":453},"Getting started",[454,457,462,467,472,477],{"text":24,"config":455},{"href":456,"dataGaName":27,"dataGaLocation":294},"/install/",{"text":458,"config":459},"Quick start guides",{"href":460,"dataGaName":461,"dataGaLocation":294},"/get-started/","quick setup checklists",{"text":463,"config":464},"Learn",{"href":465,"dataGaLocation":294,"dataGaName":466},"https://university.gitlab.com/","learn",{"text":468,"config":469},"Product documentation",{"href":470,"dataGaName":471,"dataGaLocation":294},"https://docs.gitlab.com/","product documentation",{"text":473,"config":474},"Best practice videos",{"href":475,"dataGaName":476,"dataGaLocation":294},"/getting-started-videos/","best practice videos",{"text":478,"config":479},"Integrations",{"href":480,"dataGaName":481,"dataGaLocation":294},"/integrations/","integrations",{"title":483,"items":484},"Discover",[485,490,495,499],{"text":486,"config":487},"Customer success stories",{"href":488,"dataGaName":489,"dataGaLocation":294},"/customers/","customer success stories",{"text":491,"config":492},"Blog",{"href":493,"dataGaName":494,"dataGaLocation":294},"/blog/","blog",{"text":496,"config":497},"The Source",{"href":498,"dataGaName":494,"dataGaLocation":294},"/the-source/",{"text":500,"config":501},"Remote",{"href":502,"dataGaName":503,"dataGaLocation":294},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":505,"items":506},"Connect",[507,512,517,522,527],{"text":508,"config":509},"GitLab Services",{"href":510,"dataGaName":511,"dataGaLocation":294},"/services/","services",{"text":513,"config":514},"Community",{"href":515,"dataGaName":516,"dataGaLocation":294},"/community/","community",{"text":518,"config":519},"Forum",{"href":520,"dataGaName":521,"dataGaLocation":294},"https://forum.gitlab.com/","forum",{"text":523,"config":524},"Events",{"href":525,"dataGaName":526,"dataGaLocation":294},"/events/","events",{"text":528,"config":529},"Partners",{"href":530,"dataGaName":531,"dataGaLocation":294},"/partners/","partners",{"config":533,"title":536,"text":537,"link":538},{"background":534,"textColor":535},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":539,"config":540},"Read the latest",{"href":541,"dataGaName":542,"dataGaLocation":294},"/whats-new/","whats new",{"text":544,"config":545,"menu":547},"Company",{"dataNavLevelOne":546},"company",{"type":341,"columns":548},[549],{"items":550},[551,556,562,564,569,574,579,584,589,594],{"text":552,"config":553},"About",{"href":554,"dataGaName":555,"dataGaLocation":294},"/company/","about",{"text":557,"config":558,"footerGa":561},"Jobs",{"href":559,"dataGaName":560,"dataGaLocation":294},"/jobs/","jobs",{"dataGaName":560},{"text":523,"config":563},{"href":525,"dataGaName":526,"dataGaLocation":294},{"text":565,"config":566},"Leadership",{"href":567,"dataGaName":568,"dataGaLocation":294},"/company/team/e-group/","leadership",{"text":570,"config":571},"Handbook",{"href":572,"dataGaName":573,"dataGaLocation":294},"https://handbook.gitlab.com/","handbook",{"text":575,"config":576},"Investor relations",{"href":577,"dataGaName":578,"dataGaLocation":294},"https://ir.gitlab.com/","investor relations",{"text":580,"config":581},"Trust Center",{"href":582,"dataGaName":583,"dataGaLocation":294},"/security/","trust center",{"text":585,"config":586},"AI Transparency Center",{"href":587,"dataGaName":588,"dataGaLocation":294},"/ai-transparency-center/","ai transparency center",{"text":590,"config":591},"Newsletter",{"href":592,"dataGaName":593,"dataGaLocation":294},"/company/contact/#contact-forms","newsletter",{"text":595,"config":596},"Press",{"href":597,"dataGaName":598,"dataGaLocation":294},"/press/","press",{"text":600,"config":601,"menu":602},"Contact us",{"dataNavLevelOne":546},{"type":341,"columns":603},[604],{"items":605},[606,611,616],{"text":607,"config":608},"Talk to sales",{"href":609,"dataGaName":610,"dataGaLocation":294},"/sales/","talk to sales",{"text":612,"config":613},"Support portal",{"href":614,"dataGaName":615,"dataGaLocation":294},"https://support.gitlab.com","support portal",{"text":617,"config":618},"Customer portal",{"href":619,"dataGaName":620,"dataGaLocation":294},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":622,"login":623,"suggestions":630},"Close",{"text":624,"link":625},"To search repositories and projects, login to",{"text":626,"config":627},"gitlab.com",{"href":308,"dataGaName":628,"dataGaLocation":629},"search login","search",{"text":631,"default":632},"Suggestions",[633,635,639,641,645,649],{"text":258,"config":634},{"href":264,"dataGaName":258,"dataGaLocation":629},{"text":636,"config":637},"Code Suggestions (AI)",{"href":638,"dataGaName":636,"dataGaLocation":629},"/solutions/code-suggestions/",{"text":357,"config":640},{"href":359,"dataGaName":357,"dataGaLocation":629},{"text":642,"config":643},"GitLab on AWS",{"href":644,"dataGaName":642,"dataGaLocation":629},"/partners/technology-partners/aws/",{"text":646,"config":647},"GitLab on Google Cloud",{"href":648,"dataGaName":646,"dataGaLocation":629},"/partners/technology-partners/google-cloud-platform/",{"text":650,"config":651},"Why GitLab?",{"href":335,"dataGaName":650,"dataGaLocation":629},{"freeTrial":653,"mobileIcon":658,"desktopIcon":663,"secondaryButton":666},{"text":654,"config":655},"Start free trial",{"href":656,"dataGaName":299,"dataGaLocation":657},"https://gitlab.com/-/trials/new/","nav",{"altText":659,"config":660},"Gitlab Icon",{"src":661,"dataGaName":662,"dataGaLocation":657},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":659,"config":664},{"src":665,"dataGaName":662,"dataGaLocation":657},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":667,"config":668},"Get Started",{"href":669,"dataGaName":22,"dataGaLocation":657},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/",{"freeTrial":671,"mobileIcon":675,"desktopIcon":677},{"text":672,"config":673},"Learn more about GitLab Duo",{"href":264,"dataGaName":674,"dataGaLocation":657},"gitlab duo",{"altText":659,"config":676},{"src":661,"dataGaName":662,"dataGaLocation":657},{"altText":659,"config":678},{"src":665,"dataGaName":662,"dataGaLocation":657},{"button":680,"mobileIcon":685,"desktopIcon":687},{"text":681,"config":682},"/switch",{"href":683,"dataGaName":684,"dataGaLocation":657},"#contact","switch",{"altText":659,"config":686},{"src":661,"dataGaName":662,"dataGaLocation":657},{"altText":659,"config":688},{"src":689,"dataGaName":662,"dataGaLocation":657},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":691,"mobileIcon":696,"desktopIcon":698},{"text":692,"config":693},"Back to pricing",{"href":439,"dataGaName":694,"dataGaLocation":657,"icon":695},"back to pricing","GoBack",{"altText":659,"config":697},{"src":661,"dataGaName":662,"dataGaLocation":657},{"altText":659,"config":699},{"src":665,"dataGaName":662,"dataGaLocation":657},{"title":701,"button":702,"config":706},"GitLab Orbit is here: The context layer for AI agents.",{"text":333,"config":703},{"href":704,"dataGaName":705,"dataGaLocation":294},"/gitlab-orbit/","orbit",{"layout":707,"disabled":708},"release",false,{"data":710},{"text":711,"source":712,"edit":718,"contribute":723,"config":728,"items":733,"minimal":941},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":713,"config":714},"View page source",{"href":715,"dataGaName":716,"dataGaLocation":717},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":719,"config":720},"Edit this page",{"href":721,"dataGaName":722,"dataGaLocation":717},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":724,"config":725},"Please contribute",{"href":726,"dataGaName":727,"dataGaLocation":717},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":729,"facebook":730,"youtube":731,"linkedin":732},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[734,781,835,879,909],{"title":437,"links":735,"subMenu":750},[736,740,745],{"text":737,"config":738},"View plans",{"href":439,"dataGaName":739,"dataGaLocation":717},"view plans",{"text":741,"config":742},"Why Premium?",{"href":743,"dataGaName":744,"dataGaLocation":717},"/pricing/premium/","why premium",{"text":746,"config":747},"Why Ultimate?",{"href":748,"dataGaName":749,"dataGaLocation":717},"/pricing/ultimate/","why ultimate",[751],{"title":752,"links":753},"Contact Us",[754,757,759,761,766,771,776],{"text":755,"config":756},"Contact sales",{"href":609,"dataGaName":304,"dataGaLocation":717},{"text":612,"config":758},{"href":614,"dataGaName":615,"dataGaLocation":717},{"text":617,"config":760},{"href":619,"dataGaName":620,"dataGaLocation":717},{"text":762,"config":763},"Status",{"href":764,"dataGaName":765,"dataGaLocation":717},"https://status.gitlab.com/","status",{"text":767,"config":768},"Terms of use",{"href":769,"dataGaName":770,"dataGaLocation":717},"/terms/","terms of use",{"text":772,"config":773},"Privacy statement",{"href":774,"dataGaName":775,"dataGaLocation":717},"/privacy/","privacy statement",{"text":777,"config":778},"Cookie preferences",{"dataGaName":779,"dataGaLocation":717,"id":780,"isOneTrustButton":282},"cookie preferences","ot-sdk-btn",{"title":337,"links":782,"subMenu":791},[783,787],{"text":784,"config":785},"DevSecOps platform",{"href":323,"dataGaName":786,"dataGaLocation":717},"devsecops platform",{"text":788,"config":789},"AI-Assisted Development",{"href":264,"dataGaName":790,"dataGaLocation":717},"ai-assisted development",[792],{"title":793,"links":794},"Topics",[795,800,805,810,815,820,825,830],{"text":796,"config":797},"CICD",{"href":798,"dataGaName":799,"dataGaLocation":717},"/topics/ci-cd/","cicd",{"text":801,"config":802},"GitOps",{"href":803,"dataGaName":804,"dataGaLocation":717},"/topics/gitops/","gitops",{"text":806,"config":807},"DevOps",{"href":808,"dataGaName":809,"dataGaLocation":717},"/topics/devops/","devops",{"text":811,"config":812},"Version Control",{"href":813,"dataGaName":814,"dataGaLocation":717},"/topics/version-control/","version control",{"text":816,"config":817},"DevSecOps",{"href":818,"dataGaName":819,"dataGaLocation":717},"/topics/devsecops/","devsecops",{"text":821,"config":822},"Cloud Native",{"href":823,"dataGaName":824,"dataGaLocation":717},"/topics/cloud-native/","cloud native",{"text":826,"config":827},"AI for Coding",{"href":828,"dataGaName":829,"dataGaLocation":717},"/topics/devops/ai-for-coding/","ai for coding",{"text":831,"config":832},"Agentic AI",{"href":833,"dataGaName":834,"dataGaLocation":717},"/topics/agentic-ai/","agentic ai",{"title":836,"links":837},"Solutions",[838,840,842,847,851,854,858,861,863,866,869,874],{"text":381,"config":839},{"href":376,"dataGaName":381,"dataGaLocation":717},{"text":370,"config":841},{"href":353,"dataGaName":354,"dataGaLocation":717},{"text":843,"config":844},"Agile development",{"href":845,"dataGaName":846,"dataGaLocation":717},"/solutions/agile-delivery/","agile delivery",{"text":848,"config":849},"SCM",{"href":366,"dataGaName":850,"dataGaLocation":717},"source code management",{"text":796,"config":852},{"href":359,"dataGaName":853,"dataGaLocation":717},"continuous integration & delivery",{"text":855,"config":856},"Value stream management",{"href":409,"dataGaName":857,"dataGaLocation":717},"value stream management",{"text":801,"config":859},{"href":860,"dataGaName":804,"dataGaLocation":717},"/solutions/gitops/",{"text":419,"config":862},{"href":422,"dataGaName":423,"dataGaLocation":717},{"text":864,"config":865},"Small business",{"href":428,"dataGaName":429,"dataGaLocation":717},{"text":867,"config":868},"Public sector",{"href":434,"dataGaName":435,"dataGaLocation":717},{"text":870,"config":871},"Education",{"href":872,"dataGaName":873,"dataGaLocation":717},"/solutions/education/","education",{"text":875,"config":876},"Financial services",{"href":877,"dataGaName":878,"dataGaLocation":717},"/solutions/finance/","financial services",{"title":442,"links":880},[881,883,885,887,890,892,895,897,899,901,903,905,907],{"text":24,"config":882},{"href":456,"dataGaName":27,"dataGaLocation":717},{"text":458,"config":884},{"href":460,"dataGaName":461,"dataGaLocation":717},{"text":463,"config":886},{"href":465,"dataGaName":466,"dataGaLocation":717},{"text":468,"config":888},{"href":470,"dataGaName":889,"dataGaLocation":717},"docs",{"text":491,"config":891},{"href":493,"dataGaName":494,"dataGaLocation":717},{"text":893,"config":894},"What's new",{"href":541,"dataGaName":542,"dataGaLocation":717},{"text":486,"config":896},{"href":488,"dataGaName":489,"dataGaLocation":717},{"text":500,"config":898},{"href":502,"dataGaName":503,"dataGaLocation":717},{"text":508,"config":900},{"href":510,"dataGaName":511,"dataGaLocation":717},{"text":513,"config":902},{"href":515,"dataGaName":516,"dataGaLocation":717},{"text":518,"config":904},{"href":520,"dataGaName":521,"dataGaLocation":717},{"text":523,"config":906},{"href":525,"dataGaName":526,"dataGaLocation":717},{"text":528,"config":908},{"href":530,"dataGaName":531,"dataGaLocation":717},{"title":544,"links":910},[911,913,915,917,919,921,925,930,932,934,936],{"text":552,"config":912},{"href":554,"dataGaName":546,"dataGaLocation":717},{"text":557,"config":914},{"href":559,"dataGaName":560,"dataGaLocation":717},{"text":565,"config":916},{"href":567,"dataGaName":568,"dataGaLocation":717},{"text":570,"config":918},{"href":572,"dataGaName":573,"dataGaLocation":717},{"text":575,"config":920},{"href":577,"dataGaName":578,"dataGaLocation":717},{"text":922,"config":923},"Sustainability",{"href":924,"dataGaName":922,"dataGaLocation":717},"/sustainability/",{"text":926,"config":927},"Diversity, inclusion and belonging (DIB)",{"href":928,"dataGaName":929,"dataGaLocation":717},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":580,"config":931},{"href":582,"dataGaName":583,"dataGaLocation":717},{"text":590,"config":933},{"href":592,"dataGaName":593,"dataGaLocation":717},{"text":595,"config":935},{"href":597,"dataGaName":598,"dataGaLocation":717},{"text":937,"config":938},"Modern Slavery Transparency Statement",{"href":939,"dataGaName":940,"dataGaLocation":717},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":942},[943,946,949],{"text":944,"config":945},"Terms",{"href":769,"dataGaName":770,"dataGaLocation":717},{"text":947,"config":948},"Cookies",{"dataGaName":779,"dataGaLocation":717,"id":780,"isOneTrustButton":282},{"text":950,"config":951},"Privacy",{"href":774,"dataGaName":775,"dataGaLocation":717},{"header":953,"blurb":954,"button":955,"secondaryButton":960},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":956,"config":957},"Get your free trial",{"href":958,"dataGaName":299,"dataGaLocation":959},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":755,"config":961},{"href":609,"dataGaName":304,"dataGaLocation":959},1782495352756]