Today I started contributing to GitLab. Nothing is merged yet, but I got through the setup and picked a first issue, so here is how it went.
Reading the docs first
I started with GitLab's contributing documentation. It covers how to contribute and what needs to be done at each step. I already had a GitLab account from when I wanted to contribute to another org during Google Summer of Code, so I logged in with that and followed the process from there.
Onboarding
The onboarding step creates an issue for you, and you tick off the tasks listed in it.
I filled in my profile, my Discord user ID, my bio and my social links. A community maintainer, @sabadi1, picked up my onboarding issue and asked me to introduce myself and say what I want to work on.
The setup problem
Next was setting up the GitLab Development Kit (GDK). My laptop runs Windows and is a bit slow, so running the full stack on it would be painful. For my first contributions I'll borrow my friend's MacBook instead.
Finding a first issue
I went through a lot of repositories. GitLab labels some issues as quick wins, which is a nice way to start. I'll begin with those and move to harder ones later.
My first pick is GlDashboardPanel scrollable body isn't keyboard focusable.
When the panel body overflows and scrolls, keyboard users can't scroll it. GitLab already has a workaround for panels with a footer, so the task is to move that fix into the component itself.
What stood out
Almost everything is automated, and where it isn't, the maintainers are clearly putting in a lot of work, so hats off to them. The documentation is also really good. Everything I needed was written down.
I'm excited to contribute. Let's see what happens next.



Top comments (2)
Getting through the setup is most of day one, so that's a good start. Don't worry that nothing is merged yet; the first review is often where you learn the most. If you'd like a smaller project alongside, Styx has #33, a TypeScript fix with a guide, and issues get a reply within 2 working days.
@nicholasflemmer, I would love to work upon that, can you drop the repo link?