Commit 92e1b4d8 authored by Amr Elhusseiny's avatar Amr Elhusseiny
Browse files

restructure: AI Clients handbook pages to match new org shape

parent a7b2dc3a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -75,9 +75,10 @@ These are the teams (please update them if they are stale):
| [AI Coding](/handbook/engineering/ai/ai-coding/) | Code Suggestions, Duo Code Review, code-related slash commands (/explain, /refactor, /tests, /fix), Semantic Indexing, Duo Context Exclusion, Repository X-Ray  |
| [AI Core Infra](/handbook/engineering/ai/ai-core-infra/) | Abstraction Layer / AI Gateway for LLM integration to the application (GitLab Chat, Code Suggestions and other AI capabilities) |
| [AI Core Infra](/handbook/engineering/ai/ai-core-infra/) (formerly Model Validation) | Custom feature evaluators, evaluation support, automated evaluation tooling |
| [Duo Chat](/handbook/engineering/ai/duo-chat/)  | GitLab Chat for VS Code and WebIDE  |
| [AI Clients: Developer Clients](/handbook/engineering/ai/ai-clients/developer-clients/) | VS Code extension, JetBrains plugin, Duo CLI |
| [AI Clients: Duo Client SDK](/handbook/engineering/ai/ai-clients/duo-client-sdk/) | GitLab Language Server and shared client SDK powering AI features across all editor extensions |
| [AI Clients: Duo Chat](/handbook/engineering/ai/ai-clients/duo-chat/) | Duo Chat across web and IDE surfaces (Web Chat, Chat Engine) |
| [AI Model Services](/handbook/engineering/ai/ai-model-services/) | Model Selection (model lifecycle, selection engine & UI) / Health & Connectivity (Duo Health Check, setup, connectivity) / Gateway Services (Prompt Registry, Events tracking, AIGW billing) |
| [AI Clients](/handbook/engineering/ai/ai-clients/) | The client-side surfaces where customers experience GitLab Duo: <ul><li>Duo Chat (Web Chat & Chat Engine)</li><li>[Duo Client SDK / Language Server](https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp)</li><li>Duo CLI</li><li>[VS Code](https://gitlab.com/gitlab-org/gitlab-vscode-extension) & [Web IDE](https://gitlab.com/gitlab-org/gitlab-web-ide) extensions</li><li>[JetBrains](https://gitlab.com/gitlab-org/editor-extensions/gitlab-jetbrains-plugin) plugin</li></ul> |
| [Global Search](/handbook/engineering/ai/search/) | Abstraction Layer / Vector Storage / Semantic |
| [Infrastructure Platforms - Runway](/handbook/engineering/infrastructure-platforms/gitlab-delivery/runway/) | AI Gateway Scalability / Runway infrastructure |

+81 −45
Original line number Diff line number Diff line
---
title: "AI Clients"
description: "The AI Clients organization builds the surfaces where customers experience GitLab Duo: chat, the Duo Client SDK, the Duo CLI, and the VS Code and JetBrains editor extensions."
title: AI Clients
description: "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 organization owns the client-side surfaces where customers experience GitLab Duo. We bring GitLab's AI capabilities directly into the tools customers already use and we provide the shared client SDK that powers those experiences across platforms.
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.

---

## 🧭 Teams

The organization is made up of six functional teams plus a principal individual contributor:

| Team | What they own | EM | PM | UX |
| ---- | ------------- | -- | -- | -- |
| Web Chat | The Duo Chat web experience | Donald Cook | Dasha Adushkina | Nick Leonard |
| Chat Engine | The chat orchestration / engine layer | Donald Cook | Dasha Adushkina | Nick Leonard |
| Duo Client SDK | The shared client SDK / Language Server | Donald Cook | James Casey | Yi-Ann Chen |
| Duo CLI | The GitLab Duo command-line interface | Amr Elhusseiny | James Casey | Yi-Ann Chen |
| VS Code | The GitLab VS Code extension | Amr Elhusseiny | James Casey | Yi-Ann Chen |
| JetBrains | The GitLab JetBrains plugin | Amr Elhusseiny | James Casey | Yi-Ann Chen |
## Organizational Structure

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

```mermaid
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](developer-clients/) | Amr Elhusseiny | James Casey | Yi-Ann Chen | Duo CLI, VS Code, JetBrains |
| [Duo Client SDK](duo-client-sdk/) | Donald Cook | James Casey | Yi-Ann Chen | Duo Client SDK |
| [Duo Chat](duo-chat/) | Donald Cook | Dasha Adushkina | Nick Leonard | Web Chat, Chat Engine |

---

## 👥 Leadership

{{< group-by-slugs donaldcook aelhusseiny >}}
| Person | Role |
|---|---|
| {{< member-by-gitlab "donaldcook" >}} | Engineering Manager — AI Clients Stage (Duo Client SDK & Duo Chat) |
| ↳ {{< member-by-gitlab "aelhusseiny" >}} | Engineering Manager — Developer Clients |

### Principal Engineer
---

{{< group-by-slugs erran >}}
## 🤝 Stable Counterparts

---
The following people are [stable counterparts](/handbook/leadership/#stable-counterparts) of the AI Clients stage:

{{< group-by-slugs james.casey dashaadu ychen16 nickleonard jglassman1 erran >}}

## 👩‍💻 Team Members
---

### Web Chat
## Groups

{{< group-by-slugs enrique-alcantara tomasbulva rfrederico >}}
### Developer Clients

### Chat Engine
Owns the editor extension integrations and the Duo CLI. See the [Developer Clients group page](developer-clients/). Functional teams:

{{< group-by-slugs kaveh_nejad_gitlab evakadlecova john-slaughter >}}
- [Duo CLI](developer-clients/duo-cli/)
- [VS Code](developer-clients/vscode/)
- [JetBrains](developer-clients/jetbrains/)

### Duo Client SDK

{{< group-by-slugs tristanread olenahoralkoretska elwyn-gitlab dbernardi-int >}}
Owns the shared language server and client SDK that powers AI features across all editor extensions. See the [Duo Client SDK group page](duo-client-sdk/). Functional teams:

### Duo CLI
- [Duo Client SDK](duo-client-sdk/duo-client-sdk/)

{{< group-by-slugs tomasvik andrei.zubov ametke-jimenez mltheuser.gitlab >}}
### Duo Chat

### VS Code
Owns the Duo Chat experience across all surfaces. See the [Duo Chat group page](duo-chat/). Functional teams:

{{< group-by-slugs mosumah juhee.lee >}}
- [Web Chat](duo-chat/web-chat/)
- [Chat Engine](duo-chat/chat-engine/)

### JetBrains
---

{{< group-by-slugs lauraionel kjamoralin >}}
## 🏷️ 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:

## 🤝 Stable counterparts
| 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` |

The following people are [stable counterparts](/handbook/leadership/#stable-counterparts) of the AI Clients organization:
If a change genuinely spans multiple product areas, attach multiple category labels but keep the stage and group labels aligned to the primary owner.

{{< group-by-slugs james.casey dashaadu ychen16 jglassman1 >}}
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.

---

@@ -74,18 +101,27 @@ The following people are [stable counterparts](/handbook/leadership/#stable-coun

### Slack

We follow the [GitLab Slack channel prefix conventions](/handbook/communication/#slack): `s_` for the cross-team stage/organization channel, `f_` for functional-team channels (engineering + PM + UX together), and `g_` for engineering-only group discussion. Underscores separate distinct things; hyphens join words within a single thing.
We follow the [GitLab Slack channel prefix conventions](/handbook/communication/chat/#channel-categories): `s_` for the cross-team stage channel, `f_` for functional-team channels.

| Scope | Channel | Purpose |
| ----- | ------- | ------- |
| Organization | `#s_ai-clients` | Cross-team AI Clients discussion for all disciplines (eng, PM, UX, stakeholders) |
| Duo Client SDK | `#f_language_server` | Duo Client SDK / Language Server functional team |
| Duo CLI | `#f_duo-cli` | Duo CLI functional team |
| VS Code | `#f_vscode_extension` | VS Code extension functional team |
| JetBrains | `#f_jetbrains_plugin` | JetBrains plugin functional team |
| Channel | Purpose |
|---|---|
| [`#s_ai-clients-questions`](https://gitlab.enterprise.slack.com/archives/C058YCHP17C) | Public-facing AI Clients stage channel for questions and outreach |
| [`#s_ai-clients`](https://gitlab.slack.com/archives/C0BFY0ZRR7W/p1785161570031899?thread_ts=1784037442.282119&cid=C0BFY0ZRR7W) | Internal stage channel for team syncs only |
| [`#s_ai-clients-social`](https://gitlab.enterprise.slack.com/archives/C062W19B8NR) | Stage social channel |
| [`#f_duo_cli`](https://gitlab.enterprise.slack.com/archives/C09GLR7UK0D) | Duo CLI functional team |
| [`#f_vscode_extension`](https://gitlab.enterprise.slack.com/archives/C013QJ9NEPL)  | VS Code extension functional team |
| [`#f_jetbrains_plugin`](https://gitlab.enterprise.slack.com/archives/C02UY9XKABH) | JetBrains plugin functional team |
| [`#f_duo-client-sdk`](https://gitlab.enterprise.slack.com/archives/C05B1PFHRPU) | Duo Client SDK functional team (renamed from `#f_language_server`) |
| [`#duo-chat-lounge`](https://gitlab.enterprise.slack.com/archives/C06LWENL58F) | Duo Chat lounge |

Engineering-only group channels (`#g_duo_chat`, `#g_editor-extensions`) remain for now while membership and stakeholders migrate to the `f_`/`s_` channels above.
### Shared Calendar

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

### Product categories

The AI Clients teams own product categories that fall under the [AI-powered stage](/handbook/product/categories/#ai-powered-stage) of the [DevOps lifecycle](/handbook/product/categories/#devops-stages).
Each AI Clients group owns product categories, documented on the [product categories page](/handbook/product/categories/):

- [Developer Clients group](/handbook/product/categories/#developer-clients-group) — Duo CLI, VS Code, JetBrains
- [Duo Chat group](/handbook/product/categories/#duo-chat-group) — Web Chat, Chat Engine
- [Duo Client SDK group](/handbook/product/categories/#duo-client-sdk-group) — Duo Client SDK
+0 −26
Original line number Diff line number Diff line
---
draft: true
title: "Chat Engine"
description: "The Chat Engine team builds the orchestration and engine layer behind GitLab Duo Chat."
---

## Team Members

This team is part of the [AI Clients](/handbook/engineering/ai/ai-clients/) organization.

{{< group-by-slugs kaveh_nejad_gitlab evakadlecova john-slaughter >}}

### Stable counterparts

The following people are [stable counterparts](/handbook/leadership/#stable-counterparts) of the Chat Engine team:

{{< group-by-slugs dashaadu nickleonard jglassman1 >}}

## Vision

The Chat Engine team owns the orchestration and engine layer that powers GitLab Duo Chat across surfaces.

## Where to find us

- Team Slack: `#f_chat-engine`
- Organization Slack: `#s_ai-clients`
+90 −88

File changed and moved.

Preview size limit exceeded, changes collapsed.

+33 −53
Original line number Diff line number Diff line
@@ -3,83 +3,67 @@ title: Duo CLI
description: "We are building an intelligent command-line interface that brings GitLab Duo's AI capabilities directly to developers' terminals, enhancing productivity through natural language interactions with GitLab's DevSecOps platform."
---

## Team Members
## Overview

This tool falls under the scope of [Editor Extension: Multi-Platform](/handbook/engineering/ai/editor-extensions-multi-platform/).
The Duo CLI functional team is part of the [Developer Clients group](/handbook/engineering/ai/ai-clients/developer-clients/) within the [AI Clients stage](/handbook/engineering/ai/ai-clients/).

{{< group-by-slugs aelhusseiny andrei.zubov elwyn-gitlab aspringfield viktomas >}}
For shared planning processes, workflow boards, useful links, and dashboards, see the [Developer Clients group page](/handbook/engineering/ai/ai-clients/developer-clients/).

### Stable counterparts
## Public Docs

The following people are [stable counterparts](/handbook/leadership/#stable-counterparts) of the Duo CLI group:
[GitLab Duo CLI documentation](https://docs.gitlab.com/user/gitlab_duo_cli/)

{{< group-by-slugs james.casey sam_reiss >}}

## Vision
---

The Duo CLI group is focused on developing GitLab Duo CLI as an AI-powered command-line interface that enables developers to interact with GitLab's DevSecOps platform using natural language. Our goal is to streamline developer workflows by bringing AI-powered assistance directly to the terminal, where developers spend much of their time.
## 👨‍💻 Team Members

## Internal Processes
{{< group-by-slugs aelhusseiny tomasvik  elwyn-gitlab  mltheuser.gitlab ametke-jimenez andrei.zubov >}}

### Development Phases
### Stable Counterparts

The Duo CLI is currently in the Dogfooding phase. Our development approach follows these phases:
The following people are [stable counterparts](/handbook/leadership/#stable-counterparts) of the Duo CLI team:

| Phase | Description | Status |
| -------- | ------- | ------- |
| Ideation | Concept validation and initial research | ✅ Complete |
| MVC | Minimum Viable Concept development | ✅ Complete |
| Dogfooding | Internal Dogfooding | 📍 We are here |
| Beta | Beta Release | 📋 Planned |
| GA | General Availability | 📋 Planned |
{{< group-by-slugs james.casey ychen16 >}}

## Active Work, Resources & Links
---

Find all the information, active work, and communication channels for the Duo CLI project:
## 💬 Slack

### Development Resources
- **Team channel:** [#f_duo_cli](https://gitlab.slack.com/archives/f_duo_cli)
- **Public stage channel:** [#s_ai-clients-questions](https://gitlab.enterprise.slack.com/archives/C058YCHP17C)

- **Repository**: [GitLab Language Server](https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/tree/main/packages/cli?ref_type=heads)
- **Issue Tracker**: [Duo CLI Active Work](https://gitlab.com/groups/gitlab-org/-/boards/9839597?epic_id=3743089)
- **Epic**: [Duo CLI Development Epic](https://gitlab.com/groups/gitlab-org/-/epics/19070)

### Communication Channels

- **Slack**: `#f_duo_cli`
---

- **Leave us feedback in an issue**: [Duo CLI Feedback Epic](https://gitlab.com/groups/gitlab-org/-/epics/19806)
## 💻 Scope

## Dogfooding
The Duo CLI team is focused on developing GitLab Duo CLI as an AI-powered command-line interface that enables developers to interact with GitLab's DevSecOps platform using natural language. Our goal is to streamline developer workflows by bringing AI-powered assistance directly to the terminal, where developers spend much of their time.

The Duo CLI is currently in the dogfooding phase, where GitLab team members are using and testing the tool internally to validate functionality and gather feedback before broader release.
---

### Dogfooding Duo CLI Epic
## 🔗 Active Work, Resources & Links

[Dogfooding Duo CLI Epic](https://gitlab.com/groups/gitlab-org/-/epics/19806)
### Development Resources

### Getting Started
- **Repository**: [GitLab Language Server — CLI package](https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/tree/main/packages/cli?ref_type=heads)
- **Issue Tracker**: [Duo CLI Active Work](https://gitlab.com/groups/gitlab-org/-/boards/9839597?epic_id=3743089)
- **Epic**: [Duo CLI Development Epic](https://gitlab.com/groups/gitlab-org/-/epics/19070)

Install the latest version of Duo CLI with npm and run it using your GitLab personal access token:
### Communication Channels

**Note:** You'll need to generate an API-scope Personal Access Token:
- **Slack**: [#f_duo_cli](https://gitlab.slack.com/archives/f_duo_cli)
- Or simply use [`/feedback`](https://docs.gitlab.com/user/gitlab_duo_cli/use/#slash-commands) command from duo cli to file a gitlab issue

1. Click your GitLab profile
2. Click **Preferences**
3. Click **Personal Access Tokens** in the navigation
4. Create a new Personal Access Token with `api` scope
### Issues' Labels

### Installation
Check [AI Clients labeling guidance](/handbook/engineering/ai/ai-clients/#-how-we-label-issues-and-merge-requests)

[Installation Guide](https://gitlab.com/groups/gitlab-org/-/epics/19806#installation)
---

**Run the following in any terminal:**
### Getting Started

```bash
npm i -g @gitlab/duo-cli
duo
```
[Getting Started Guide](https://docs.gitlab.com/user/gitlab_duo_cli/#get-started)

### Help us shape Duo CLI by Providing Feedback
### Help Us Shape Duo CLI by Providing Feedback

We're collecting feedback to make the CLI effective for GitLab team members. Please test core development workflows like:

@@ -93,7 +77,3 @@ We're collecting feedback to make the CLI effective for GitLab team members. Ple
- **Features**: Use feature template for missing capabilities or enhancements
- **Usability**: Report confusing workflows, unclear errors, documentation gaps
- **Success Stories**: Share what works well and productivity wins

---

*Note: This page documents the Duo CLI initiative which is currently in early development phases. Information will be updated as the project progresses.*
Loading