AI Clients

The AI Clients stage owns the surfaces through which developers and users interact with GitLab Duo AI capabilities — including editor extensions, the Duo CLI, the Duo Chat web interface, and the shared client SDK.

🚀 Mission

The AI Clients stage owns the surfaces where customers experience GitLab Duo. We bring GitLab’s AI capabilities directly into the tools customers already use — their IDE, terminal, and the GitLab web interface — and we provide the shared client SDK that powers those experiences across platforms.


Organizational Structure

The AI Clients stage is organised into three groups, each with functional teams:

graph TD
    S["AI Clients<br>(stage)"] --> DC["Developer Clients<br>(group)"]
    S --> SDK["Duo Client SDK<br>(group)"]
    S --> CHAT["Duo Chat<br>(group)"]
    DC --> CLI[Duo CLI]
    DC --> VSC[VS Code]
    DC --> JB[JetBrains]
    SDK --> SDKT[Duo Client SDK]
    CHAT --> WC[Web Chat]
    CHAT --> CE[Chat Engine]
Group Engineering Manager Product Manager UX Functional Teams
Developer Clients Amr Elhusseiny James Casey Yi-Ann Chen Duo CLI, VS Code, JetBrains
Duo Client SDK Donald Cook James Casey Yi-Ann Chen Duo Client SDK
Duo Chat Donald Cook Dasha Adushkina Nick Leonard Web Chat, Chat Engine

👥 Leadership

Person Role
Donald CookDonald Cook Engineering Manager — AI Clients Stage (Duo Client SDK & Duo Chat)
Amr ElhusseinyAmr Elhusseiny Engineering Manager — Developer Clients

🤝 Stable Counterparts

The following people are stable counterparts of the AI Clients stage:

Name Role
James CaseyJames Casey Director of Product
Dasha AdushkinaDasha Adushkina Senior Product Manager
Yi-Ann ChenYi-Ann Chen Senior Product Designer, AI
Nick LeonardNick Leonard Staff Product Designer, Plan:Project Management
Erran CareyErran Carey Staff Fullstack Engineer, AI Powered:Editor Extensions

Groups

Developer Clients

Owns the editor extension integrations and the Duo CLI. See the Developer Clients group page. Functional teams:

Duo Client SDK

Owns the shared language server and client SDK that powers AI features across all editor extensions. See the Duo Client SDK group page. Functional teams:

Duo Chat

Owns the Duo Chat experience across all surfaces. See the Duo Chat group page. Functional teams:


🏷️ How we label issues and merge requests

Labels power triage-ops automation, reporting, and Technical Writing planning. Every issue and MR should carry section::ai, exactly one stage label (devops::*), exactly one group label (group::*), and the relevant category label(s) — use the combinations below as the default:

Area Labels
Duo CLI (terminal client) section::ai, devops::ai clients, group::developer clients, category: duo cli
VS Code extension section::ai, devops::ai clients, group::developer clients, category: vs code
JetBrains plugin section::ai, devops::ai clients, group::developer clients, category: jetbrains
Duo Client SDK / Language Server section::ai, devops::ai clients, group::duo client sdk, category: duo client sdk
Duo Chat (UI and in-GitLab chat experiences) section::ai, devops::ai clients, group::duo chat, category: web chat
Duo Chat (backend / chat-engine capability work) section::ai, devops::ai clients, group::duo chat, category: chat engine
Duo Developer (end-to-end flow, Agent Foundations) section::ai, devops::agent foundations, group::agent developer, category: duo developer
Flow Components (reusable flow / orchestration components) section::ai, devops::agent foundations, group::agent developer, category: flow components

If a change genuinely spans multiple product areas, attach multiple category labels but keep the stage and group labels aligned to the primary owner.

Legacy Editor Extensions::* labels are not part of this taxonomy — don’t rely on them as ownership signals, and remove them from templates over time.


💬 Where to find us

Slack

We follow the GitLab Slack channel prefix conventions: s_ for the cross-team stage channel, f_ for functional-team channels.

Channel Purpose
#s_ai-clients-questions Public-facing AI Clients stage channel for questions and outreach
#s_ai-clients Internal stage channel for team syncs only
#s_ai-clients-social Stage social channel
#f_duo_cli Duo CLI functional team
#f_vscode_extension VS Code extension functional team
#f_jetbrains_plugin JetBrains plugin functional team
#f_duo-client-sdk Duo Client SDK functional team (renamed from #f_language_server)
#duo-chat-lounge Duo Chat lounge

Shared Calendar

AI Clients Shared Calendar (Calendar ID: c_673d889354d021f7fa9f20a003b5867185a9bf12989b5eaacbc8b537cc9ef27c@group.calendar.google.com)

Product categories

Each AI Clients group owns product categories, documented on the product categories page:


Developer Clients Group
The Developer Clients group owns and maintains the editor extensions for VS Code and JetBrains IDEs, as well as the Duo CLI, bringing GitLab's core features and AI capabilities directly into developer workflows.
Duo Chat Group
The Duo Chat group is dedicated to enhancing DevSecOps productivity by building an AI natural language interface to GitLab's Platform, delivered across web and IDE surfaces.
Duo Client SDK Group
The Duo Client SDK group owns the shared language server that powers AI features across all GitLab editor extensions and client surfaces.
Ownership and boundaries - AI Clients
This page provides clarity and a clear expectation between all parties who author/maintain features in AI Clients systems.