Research Report: Inquiry about a POC JetBrains support and screenshots
Original Research Query
What is this POC about? Does it support JetBrains? gitlab-org/editor-extensions&158
What screenshots are there?
Research Report
This report synthesizes information regarding the GitLab CI/CD Yaml Language Service Proof of Concept (POC), focusing on its purpose, JetBrains IDE support, and available visual demonstrations, based on the provided research reports.
The primary item of interest is the epic GitLab CI/CD Yaml Language Service - POC (gitlab-org/editor-extensions&158).
1. What is this POC about?
The Proof of Concept (POC) is centered around the GitLab CI/CD Yaml Language Service. Its main objective is to deliver advanced language support features for .gitlab-ci.yml files directly within code editors.
Key aspects of the POC include:
-
Purpose: To provide enhanced editing capabilities, real-time validation, and intelligent code assistance for GitLab CI/CD configuration files. This aims to improve the developer experience when working with the GitLab-specific YAML syntax, which includes features like
!referenceandextendstags. - Technology: It leverages the Language Server Protocol (LSP) and the GitLab Language Server (gitlab-org/editor-extensions/gitlab-lsp).
-
Status: The project is experimental and not an official GitLab product. As noted in the main epic description:
Note: This project is experimental and not an official GitLab product. This page contains information related to unofficial products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. The development, release, and timing of...
-
Core Functionality (from gitlab-org/editor-extensions&158+):
The GitLab CI/CD Language Service aims to provide advanced language support features for
.gitlab-ci.ymlfiles through the Language Server Protocol (LSP) and the GitLab Language Server.This service enables advanced editing features, validation, and intelligent code assistance for GitLab CI/CD configuration files.
-
Technical Overview: A detailed technical overview is available in issue Documentation - CI/CD Yaml Language Service (gitlab-org/editor-extensions/gitlab-lsp#824). This document describes the architecture, which includes:
- Document Service & Transformer: Listens to file events (open, change, save) and creates a document context.
- CI YAML Language Service: The central orchestrator that handles document events, queues work, and combines data from different sources.
-
Async Validation Path:
- CIMergedConfigService: Uses the Rails API (via GraphQL) to fetch and validate the merged CI configuration.
-
AST Analysis Path:
- Document Store: Parses the document using a YAML parser and Tree‐Sitter to build an AST.
-
AST Services:
- ReferenceTagASTService and other services for handling specific CI YAML features.
2. Does it support JetBrains?
Yes, the POC explicitly includes support for JetBrains IDEs.
Several issues and merge requests confirm that JetBrains integration is a specific focus:
-
Dedicated Demo Issue: Issue [JetBrains] Demo - CD/CD Yaml Language Service (gitlab-org/editor-extensions/gitlab-jetbrains-plugin#923) was created to:
group information for the CI/CD Language Service demo related to the JetBrains extension.
-
LSP Message Integration: Issue [JetBrains] CI/CD Yaml Language Service messages integration (gitlab-org/editor-extensions/gitlab-jetbrains-plugin#931) outlines the work required to integrate various LSP messages into the JetBrains plugin:
As part of the ongoing initiative to integrate the CI/CD Yaml Language Service into JetBrains, we need to add support for some language feature. This issue's goal is to encapsulate the remaining work to do on the PoC #923+ to get it in a ready to ship state.
Add the following LSP messages support
-
textDocument/documentLink -
textDocument/publishDiagnostic -
textDocument/hover -
textDocument/codeActions -
textDocument/completion -
textDocument/reference
-
- Integration Merge Request: Merge request Draft: feat: GitLab CI/CD Yaml Language Service integration PoC (gitlab-org/editor-extensions/gitlab-jetbrains-plugin!1556) contains the code for this integration.
These items clearly demonstrate active development and testing of the language service within the JetBrains environment.
3. What screenshots are there?
Several visual demonstrations, including a static screenshot and multiple demo videos, are available:
-
Static Screenshot:
- Found in the main epic description of gitlab-org/editor-extensions&158+:

- Found in the main epic description of gitlab-org/editor-extensions&158+:
-
General Demo Videos:
- From issue Demo - CI/CD Yaml Language Service (gitlab-org/editor-extensions/gitlab-lsp#822):
-
GitLab CI/CD Language Service Overview:
▶️ Watch on YouTube[](https://youtu.be/9eBudbs_2pw) -
GitLab CI/CD Language Service Features:
▶️ Watch on YouTube[](https://youtu.be/f97VpzXCdqo)
-
GitLab CI/CD Language Service Overview:
- From issue Demo - CI/CD Yaml Language Service (gitlab-org/editor-extensions/gitlab-lsp#822):
-
JetBrains Specific Demo Videos:
- From issue [JetBrains] Demo - CD/CD Yaml Language Service (gitlab-org/editor-extensions/gitlab-jetbrains-plugin#923) and merge request gitlab-org/editor-extensions/gitlab-jetbrains-plugin!1556+:
(Note: MR
gitlab-org/editor-extensions/gitlab-jetbrains-plugin!1556+links a video with a different upload path but likely the same content:/uploads/6209f04d53d29e063d868a6680c8c4b0/Screen_Recording_2025-03-04_at_12.17.17_PM.mov) - From merge request feat: Support textDocument/hover message (gitlab-org/editor-extensions/gitlab-jetbrains-plugin!1588), demonstrating the hover feature in JetBrains:
 - From merge request feat: Support textDocument/codeAction from the Language Server (gitlab-org/editor-extensions/gitlab-jetbrains-plugin!1622), demonstrating the codeAction feature in JetBrains:

- From issue [JetBrains] Demo - CD/CD Yaml Language Service (gitlab-org/editor-extensions/gitlab-jetbrains-plugin#923) and merge request gitlab-org/editor-extensions/gitlab-jetbrains-plugin!1556+:
4. Relevant Code Snippets
The technical overview in gitlab-org/editor-extensions/gitlab-lsp#824+ references key component file paths within the ci-language-service-poc branch of the gitlab-org/editor-extensions/gitlab-lsp repository:
src/common/document_service.tssrc/common/ci_cd_yaml_language_service/ci_yaml_language_service.tssrc/common/ci_cd_yaml_language_service/ci_merged_config_service.tssrc/common/ci_cd_yaml_language_service/document_store.tssrc/common/ci_cd_yaml_language_service/ast/reference_tag.ts
5. Relevant Comments
The research reports did not identify specific user comments that provided additional information pertinent to the user's query beyond what is contained in the descriptions of the epics and issues themselves.
Conclusion
The GitLab CI/CD Yaml Language Service POC is an experimental project aimed at providing advanced editing features, validation, and intelligent code assistance for .gitlab-ci.yml files using the Language Server Protocol. The POC explicitly supports JetBrains IDEs, with dedicated efforts for integration into the GitLab JetBrains plugin. Screenshots and demo videos showcasing the language service features are available in the main epic description and linked demo issues, including a specific demo for the JetBrains environment.
This issue was automatically created from a research report generated on 2025-05-24T19:04:30.110Z