Thanks to visit codestin.com
Credit goes to github.com

Skip to content

agentic-cicd is an AI-powered multi-agent system that automates GitLab CI/CD workflows using natural language. Built with LangGraphJS, it connects to GitLab via OAuth, interprets user intent, generates pipelines, and executes deployments β€” all orchestrated by autonomous AI agents and backed by a GitLab MCP server.

Notifications You must be signed in to change notification settings

shalwin04/GitLab-CICD-Agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ agentic-cicd: Automate GitLab CI/CD with Natural Language + AI

β€œAutomate your GitLab CI/CD workflows using natural language β€” powered by AI and Google Cloud.”


✨ Overview

agentic-cicd is an intelligent DevOps agent that allows users to automate complex GitLab CI/CD workflows simply by describing what they want in natural language.

It bridges natural language commands and real infrastructure changes by using an AI-driven multi-agent system that understands, generates, pushes, and monitors CI/CD pipelines on GitLab.

Whether you're a developer looking to set up a CI/CD pipeline or an ops engineer handling deployments β€” this tool simplifies GitLab automation through LLMs + agents + MCP tool servers.


πŸ“ŸοΈ Demo

Live Application youtube demo


🧠 Key Features

  • πŸ” GitLab OAuth Integration – Connect your GitLab account securely.

  • πŸ’¬ Natural Language Input – Describe what you want, like:

    Set up CI to run tests on push and deploy to GKE when main branch is updated.
    
  • πŸ€– Multi-Agent AI Engine – Understands the request and plans accordingly.

  • βš™οΈ Pipeline & Infra Generation – Generates .gitlab-ci.yml, Dockerfile, Terraform, Helm config, etc.

  • ↻ Push + Merge Request – Pushes the generated files to your GitLab repo and opens an MR.

  • πŸ” Pipeline Monitoring – Optionally track status of the build, test, and deployment stages.

  • 🧹 MCP Server/Client Architecture – Modular tool abstraction to interface with GitLab API via agents.


🧹 Architecture

↻ System Flow

image


🧠 Multi-Agent Architecture – LangGraphJS Supervisor Pattern

This project follows the LangGraphJS Multi-Agent Supervisor Pattern to automate GitLab CI/CD workflows using natural language commands.


πŸ§‘β€βš–οΈ 1. Supervisor Agent

  • The central decision-maker.
  • Receives natural language input from the user.
  • Maintains shared memory and execution state across agents.
  • Dynamically delegates to sub-agents using a graph-based control flow.

πŸ”„ Agent Workflow Graph

The Supervisor uses LangGraph to define a directed graph of agents, where edges represent conditional flows based on task results.


πŸ€– Sub-Agents

Each agent handles a distinct responsibility within the pipeline.


🧭 PlanAgent

β€œUnderstand what needs to be done.”

  • Parses user intent and decomposes it into logical subtasks.
  • Understands GitLab CI/CD terminology and translates user commands accordingly.
  • Outputs a plan with goals such as:
    • Generate .gitlab-ci.yml
    • Create Dockerfile
    • Define cloud deployment strategy (e.g., GKE)

πŸ§‘β€πŸ’» CodeAgent

β€œWrite the code/configuration needed.”

  • Converts the structured plan into CI/CD artifacts such as:
    • .gitlab-ci.yml
    • Dockerfile
    • Terraform / Helm configurations
  • Adapts generation based on selected cloud providers (GCP, AWS, etc.)
  • Can scaffold standard GitLab CI templates dynamically.

πŸ§ͺ TestAgent

β€œValidate the configuration before use.”

  • Runs tests on generated configuration to ensure correctness.
  • Performs:
    • YAML linting / CI syntax validation
    • Dry-run of GitLab CI if applicable
    • Optional LLM-assisted analysis of pipeline logic

πŸ’¬ ChatAgent

β€œExplain what’s happening or answer user queries.”

  • Maintains conversation with the user.
  • Can answer questions like:
    • "What is this pipeline doing?"
    • "Why did my build fail?"
  • Pushes updates about:
    • MR creation
    • Pipeline execution
    • Deployment status
  • Can re-prompt for missing details if required

πŸ”§ GitLab MCP Tool Server (Tool Use via API)

Agents like CodeAgent and ChatAgent interact with GitLab via a dedicated Tool Server (GitLab MCP Server).

πŸ›  MCP GitLab Tool Server

  • A REST API wrapper around GitLab’s official APIs.
  • Allows fine-grained agent control over GitLab actions like:
    • Getting project info
    • Creating branches/commits
    • Listing and triggering pipelines
    • Monitoring job statuses
    • Opening Merge Requests

🀝 MCP Client

  • Each agent uses an MCP Client to communicate with the Tool Server.
  • Benefits:
    • Keeps logic clean and separated from direct API calls.
    • Enables observability, tracing, and debugging of agent decisions.
    • Makes actions reversible and replicable.

πŸ”„ Feedback Loop

  1. User Input

    β€œSet up CI to run tests on push and deploy to GKE when main is updated.”

  2. Supervisor Flow

    • PlanAgent β†’ Understands the request and breaks into subgoals.
    • CodeAgent β†’ Generates .gitlab-ci.yml, Dockerfile, etc.
    • TestAgent β†’ Validates the generated files.
    • GitLab MCP Server β†’ Applies the changes via GitLab API (opens MR).
    • ChatAgent β†’ Informs the user and monitors progress.
  3. Pipeline Execution

    • GitLab CI is triggered.
    • Status is periodically updated to the user.

βœ… Why LangGraphJS?

  • Structured Reasoning
    Flow is modeled as a directed graph for better traceability and control.

  • Shared Memory Across Agents
    All agents work with a centralized state context.

  • Retries and Fallbacks
    Automatically retry failed tasks or re-ask user when needed.

  • Plug-and-Play Agents
    Each agent is modular, testable, and can be extended independently.


✨ The result is a natural-language-driven GitLab CI/CD automation system powered by intelligent agents, tailored infrastructure, and real-time feedback – all orchestrated via LangGraph.

πŸ” Authorization:

  • Uses the user’s OAuth token to act on their behalf.
  • Each API call is scoped by the GitLab OAuth access token.

πŸ’½ Tech Stack

Layer Tech
Frontend React, React Router, Vite, Tailwind
Backend Node.js, Express, Supabase
AI Agents LangGraphJS, LangChainJS, Gemini/GPT
Auth GitLab OAuth 2.0
Infra Tools Docker, Terraform, Helm (generated)
Hosting Vercel (frontend), Render (backend)

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/your-org/agentic-cicd.git
cd agentic-cicd

2. Frontend Setup

cd frontend
npm install

Create a .env file:

VITE_BACKEND_URL=https://your-backend-url.onrender.com
VITE_GITLAB_CLIENT_ID=your_gitlab_client_id
VITE_REDIRECT_URI=https://your-frontend-url.vercel.app/oauth/callback
npm run dev

3. Backend Setup

cd backend
npm install

.env file:

GITLAB_CLIENT_ID=your_gitlab_client_id
GITLAB_CLIENT_SECRET=your_gitlab_client_secret
GITLAB_REDIRECT_URI=https://your-frontend-url.vercel.app/oauth/callback

SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key

GOOGLE_API_KEY=your_gemini_api_key
TAVUS_API_KEY=your_tavus_key

Build and Run:

npm run build
npm run start

πŸ§ͺ Usage

  1. Go to the app homepage.

  2. Click "Connect GitLab" and authorize access.

  3. Enter your command like:

    Set up CI to run tests on push and deploy to GKE when main branch is updated.
    
  4. Agent will:

    • Understand your intent
    • Generate .gitlab-ci.yml and Dockerfile
    • Push to a new branch
    • Open a merge request
    • Trigger a pipeline
  5. Watch pipeline logs via GitLab or frontend.


☁️ Deployment Guide

Frontend (Vercel)

  1. Link GitHub Repo β†’ Vercel Dashboard
  2. Set environment variables in Settings
  3. Deploy

Backend (Render)

  1. Create new Web Service β†’ Connect to GitHub
  2. Build Command: npm run build
  3. Start Command: node dist/index.js
  4. Add your environment variables

❗ Troubleshooting

Issue Fix
CORS error Ensure backend sets correct Access-Control-Allow-Origin
OAuth redirect 404 Check GitLab app redirect URI matches deployed frontend
Failed to fetch Backend must be live + CORS enabled
503 MCP Init GitLab token expired or MCP endpoint down
CI config invalid Re-run or correct command syntax

🀝 Contributing

We welcome PRs and ideas!

# Fork -> Clone -> Create Branch -> Code -> Commit -> PR

Please open issues for:

  • Bugs
  • New agent tasks
  • GitLab features you'd like automated

πŸ“„ License

MIT License Β© 2025 MemeVerse CICD Dev Team


πŸ’‘ Inspired By


πŸ—‚οΈ Folder Structure (Simplified)

agentic-cicd/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ App.jsx
β”‚   β”œβ”€β”€ pages/
β”‚   └── components/
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ agents/
β”‚   β”œβ”€β”€ routes/
β”‚   |── services/
|-─ mcp-server/
β”‚
β”œβ”€β”€ .env.example
└── README.md

πŸ“¬ Contact

For inquiries or collaborations: πŸ“§ [email protected] 🐦 Twitter: @samshalwin


About

agentic-cicd is an AI-powered multi-agent system that automates GitLab CI/CD workflows using natural language. Built with LangGraphJS, it connects to GitLab via OAuth, interprets user intent, generates pipelines, and executes deployments β€” all orchestrated by autonomous AI agents and backed by a GitLab MCP server.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published