Editor Extensions: Multi-Platform Group
🚀 Vision
We bring GitLab’s core features and AI capabilities directly into developer workflows, unlocking productivity by making GitLab accessible in the tools developers use every day.
Note: Along with the Editor Extensions: VS Code team, we are responsible for all aspects of the product categories that fall under the Editor Extensions group of the AI-Powered stage of the DevOps lifecycle.
👨💻 Team Members
Name | Role |
---|---|
![]() |
Engineering Manager |
![]() |
Senior Frontend Engineer, Create:Editor Extensions |
![]() |
Senior Backend Engineer, Create:Code Creation |
![]() |
Backend Engineer, Create:Editor Extensions |
![]() |
Staff Fullstack Engineer, AI Powered:Editor Extensions |
![]() |
Backend Engineer |
![]() |
Backend Engineer |
![]() |
Senior Backend Engineer |
![]() |
Staff Fullstack Engineer, Create:Editor Extensions |
🤝 Stable counterparts
Below are our stable counterparts
Name | Role |
---|---|
![]() |
Senior Product Manager |
![]() |
Product Manager |
![]() |
Senior Product Designer |
![]() |
Senior Product Analyst |
💬 Where to find us
Slack
- Team:
- Projects
- Language Server: #f_language_server
- JetBrains extension: #f_jetbrains_plugin
- Visual Studio extension: #f_visual_studio_extension
- Eclipse extension: ##f_eclipse_plugin
- Neovim extension: #f_neovim_plugin
Shared Calendar
Editor Extensions Shared Calendar (Calendar ID: c_673d889354d021f7fa9f20a003b5867185a9bf12989b5eaacbc8b537cc9ef27c@group.calendar.google.com)
💻 Scope
Our team owns the following products
- GitLab Extension for JetBrains
- Repo
- Docs
- Backlog
- Slack Channel: #f_jetbrains_plugin
- GitLab Extension for Visual Studio
- Repo
- Docs
- Backlog
- Slack Channel: #f_visual_studio_extension
- GitLab Extension for Eclipse
- Repo
- Docs
- Backlog
- Slack Channel: #f_eclipse_plugin
- GitLab Extension for Neovim
- Repo
- Docs
- Backlog
- Slack Channel: #f_neovim_plugin
As well as co-own with the Editor Extensions: VS Code group
- GitLab Language Server
- Repo
- Backlog
- Slack Channel: #f_language_server
🏗️ How we work
Something about how we take this as an iterative approach
Issues’ state
We use the issue Status
field to indicate state, following the Product Development Flow
Expand for more details
. To keep things simple, we focus on the main states below and optionally use others when appropriate.
-
New → Not yet prioritized or refined.
-
Planning breakdown → Needs team attention soon (within ~1–2 months); gather scope, risks/deps, acceptance criteria.
-
Ready for development → Immediate priority; clear scope; should be picked up next and ideally completed within ~2 weeks.
-
In dev → Assigned DRI(s), milestone set, work in progress.
-
In review → Implementation complete; MR opened and under review/verification.
-
Blocked → Cannot proceed due to a dependency or external constraint; comment the blocker and next check-in date.
-
Closed → Done (or closed as duplicate/won’t fix) with outcome noted.
Note: We chose Planning breakdown
& Ready for development
as these statues exist on both Issues and Tasks, letting us build one unified set of boards and embedded tables with a single status filter easily.
Issues Boards
Issues’ refinement
- Purpose: Keep our backlog focused and up-to-date
- We re-prioritize and adapt to the changing requirements
- Create clarity about what customer support issues we need to implement
- Give everyone a chance to surface and champion issues (new/urgent bugs, tech improvements or debt)
- Format: 3 stage process described in the “Flow” section below
- Cadence: Every 2 weeks
Expand for more details
Rolling Backlog Issue
This rolling issue is the output of this refinement process, it serves as a visible, prioritized, and team-reviewed top-of-backlog list for every scope we own.
Note: We also take into account most thumbed up issues to make sure we also capture community feedback.
How to Participate (for team members)
To contribute or push a issue forward:
- Add one of these labels:
- Set the status to one of (see Issues’ state):
Planning breakdown
Ready for development
- Comment as needed
- Comment in the relevant issue itself or in the rolling backlog issue if your comment is more relevant there, for example more about order of issues than about a particular issue.
- Tag EM + PM in your comment
- Link to references to specific GitLab resources to improve discoverability.
- For example, comment why this issue is not longer needed, should not be prioritize now, is blocked by other work, is urgent or time-sensitive, is missing info, etc.
How to Participate (for non-team members)
If you want to bring an issue to the attention of the team, please create an issue, if no issue exist yet, then reach out on #g_editor-extensions
Flow
-
EM + PM async pre-pass: Review the backlog, slack pings, re-order, de-duplicate, link and move issues as needed to prepare the initial draft update of the Rolling Backlog Issue
-
Team async review (timebox ~30 min): Review the Rolling Backlog Issue, include any issues you want to push forward, and validate the current priorities if they make sense, and comment as needed
- EM will create a ticket to trigger this review and assign all engineers, please unassign yourself when you finish review
- Feel free to move issues directly, just please comment your reasoning and tag EM + PM
- Please bring your own tech improvement issue you want to include
- Don’t spend time deep investigating any issue at this point, just high level overview of the priorities is enough
-
EM + PM Sync call: Read team comments, confirm ranking, make trade-offs, and pick target deliverables for the next two weeks. (and once every month use this output to create a milestone planning issue that can be subject to change with the next refinement)
- Record and use zoom transcript so team can have transparency on the reasoning and arguments behind changing an issue priority or order, also consider adding those reasons directly in the issue when appropriate.
Planning
Following the issue refinement and getting our priorities in order, below is our planning process
Expand for more details
Milestone Planning Issues
We use Milestone Planning Issues to define our goals for the current/upcoming milestone. The PM and EM are responsible for aligning on the goals. The planning issues are created automatically every month.
Estimates
We use three weights to give a rough estimate of the issue’s complexity. The weight is made out of two parts:
1
- day or two of effort2
- week of effort3
- week and a half of effort
Notes:
- Everything with a base weight above
3
should be a spike that will result in one or more issues with estimated weight. - These are estimates for someone familiar with the codebase/system, you can add extra weight
1
or2
to the base weight if you are new to the team/codebase/system.
Flexibility & assigning deliverables
While the monthly milestone issue shape our product priority every month including both Deliverable & Stretch requirements, due to the very dynamic environment of AI engineering, the quickly changing requirements, and the focus on quality and resolving user issues ASAP, we need to plan on shorter periods to be able to adopt as needed and re-focus our attention quickly.
For those reasons we assign Deliverable to the issues we prioritize and expect to ship every 2 weeks:
- At the start of the milestone, following the issue refinement process then creating the milestone planning issue
- Mid-milestone following the second issue refinement process
Difference between Milestone Planning Issue & Rolling Backlog Issue
- Rolling backlog issue: a list of all prioritized issues, providing visibility into the top of our backlog, which can span several months of work.
- Milestone planning issue: a subset from the rolling backlog backlog, the issues we prioritized from the backlog to implement in the current milestone as deliverable or stretch
Team sync meetings
We have a sync meeting once per week. This is collaborative meeting between this team and the Editor Extensions: VS Code team
- Recordings are uploaded to the Editor Extensions Category playlist on GitLab Unfiltered.
- The timing of the call alternate every week between APAC/AMER & EMEA/AMER so everyone in both team in different timezones can join sync conveniently at least every other call, and everyone can contribute async as well every week
- Weekly Sync Meeting Agenda, agenda is open, everyone in the team is invited to bring relevant topics to align on
Weekly async updates
Team members post weekly async updates on the in progress issues using the Dev Check-in (editor-extensions) comment template
Issues’ labels
Label | Description |
---|---|
Editor Extensions::JetBrains |
JetBrains IDE plugin features, and maintenance. |
Editor Extensions::Visual Studio |
Visual Studio IDE plugin features, and maintenance. |
Editor Extensions::Neovim |
Neovim IDE plugin features, and maintenance. |
Editor Extensions::Eclipse |
Eclipse IDE plugin features, and maintenance. |
Editor Extensions::Language Server |
Shared LSP features, maintenance, and IDE-parity efforts. |
Editor Extensions::All |
Cross-cutting items impacting multiple editor extensions. |
Deliverable |
Committed items for the milestone / must-ship work. |
Useful Links
-
Planning
-
Dashboard & Monitoring
-
Miscellaneous
- Weekly Sync Meeting Agenda
- Editor Extensions playlist on the GitLab Unfiltered YouTube channel
8b12e6b3
)