Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Contributing to Development

Top 10 GitLab projects to Contribute

Project Languages / Technologies Guides Issues to work on
GitLab Ruby on Rails, JavaScript, Vue, Haml, RSpec - General Development Contribution guide - Accepting merge requests sorted by weight
-UI polish with Accepting merge requests
- Good for new contributors sorted by weight
GitLab Runner Go, Shell - GitLab Runner Contribution guide
- General Development Contribution guide
Accepting merge requests sorted by weight
- Good for new contributors sorted by weight
GitLab Omnibus Ruby, HTML, Shell, CSS - GitLab Omnibus Contribution guide
- General Development Contribution guide
Accepting merge requests sorted by weight
- Good for new contributors sorted by weight
GitLab Charts Helm, Kubernetes, Ruby, Shell - GitLab Charts Contribution docs
- General Development Contribution guide
Accepting merge requests sorted by weight
- Good for new contributors sorted by weight
GitLab Development Kit Ruby, JavaScript, HTML, Shell - General Development Contribution guide Available issues sorted by weight
Gitaly Go, Ruby, Git - Gitaly Contribution guide
- General Development Contribution guide
Accepting merge requests sorted by weight
- Good for new contributors sorted by weight
GitLab Pages Go, Shell - GitLab Pages Contribution guide
- General Development Contribution guide
Accepting merge requests sorted by weight
- Good for new contributors sorted by weight
GitLab UI JavaScript, Vue, SCSS, Ruby, HTML - GitLab UI Contribution guide
- General Development Contribution guide
Accepting merge requests sorted by weight
GitLab Shell Go, Ruby, Shell - General Development Contribution guide Accepting merge requests sorted by weight
- Good for new contributors sorted by weight
Pajamas Design System SCSS, Vue, JavaScipt, Ruby, Shell - Pajamas Design System Contribution guide
- General Development Contribution guide
Accepting merge requests sorted by weight

Development

These instructions are for development on all GitLab projects. Please note that use of the GitLab Development Kit is currently experimental on Windows. Linux or macOS are recommended for the best contribution experience.

  1. Create a public fork of any of the GitLab projects.
  2. Download and set up the GitLab Development Kit, see the GDK README for instructions on setting it up and Troubleshooting if you get stuck. Alternatively, you can use GDK with Gitpod to run a pre-configured GDK instance in the cloud.
    • GDK is heavy. If you need to build something fast, by trial and error, you can consider doing so with an empty rails app and port it to GDK after.
  3. Choose an issue to work on.
    • You can find easy issues by looking at issues labeled Accepting merge requests sorted by weight. Low-weight issues will be the easiest to accomplish.
    • Be sure to comment and verify no one else is working on the issue, and to make sure we’re still interested in a given contribution.
    • You may also want to comment and ask for help if you’re new or if you get stuck. We’re more than happy to help!
    • If you work on Enterprise Edition features, you may need a license key. Please see our Code Contributor Program page for details on how you can get one.
  4. Add the feature or fix the bug you’ve chosen to work on.
  5. If it's a feature change that impacts users or admins, update the documentation.
  6. Open a merge request to merge your code and its documentation. The earlier you open a merge request, the sooner you can get feedback. You can mark it as a draft to signal that you’re not done yet. If you're including documentation changes or need help with documentation, mention @gl-docsteam.
  7. Add tests if needed, as well as a changelog entry.
  8. Make sure the test suite is passing.
  9. Make sure to follow the merge request workflow to ensure effective collaboration on your request.
  10. Wait for a reviewer. You’ll likely need to change some things once the reviewer has completed a code review for your merge request. You may also need multiple reviews depending on the size of the change. If you don't hear from anyone in a timely manner, feel free to find reviewers or reach out to Merge Request Coaches as mentioned in the getting help section. Detailed information, along with expected timelines can also be found in the Wider Community Merge Request guide.
  11. Your changes are merged, deployed to GitLab.com, and included in the next release!
Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license