In short, we are open to nearly all contributions! We love feedback in all forms, issues, comments, PRs, etc!
Unless you feel confident your change will be accepted (trivial bug fixes, code cleanup, etc) you should first create an issue or a Sourcegraph RFC (preferred for bigger changes) to discuss your change with us. This lets us all discuss the design and proposed implementation of your change, which helps ensure your time is well spent and that your contribution will be accepted.
Exception: If you contribute functionality that already exists as a paid Sourcegraph feature, we are unlikely to accept it. Consult us beforehand for a definitive answer. (We'll add more details about the process here, and they'll be similar to GitLab's stewardship principles.)
All interactions with the Sourcegraph open source project are governed by the Sourcegraph Community Code of Conduct.
- Select one of the issues labeled as good first issue.
- Clone the repo:
git clone https://github.com/sourcegraph/sourcegraph
. - Set up your development environment to run the project locally.
- Before creating a pull request, ensure that recommended checks pass locally. We're actively working on making our CI pipeline public to automate this step.
- IMPORTANT: Once you have a pull request ready to review, the 'verification/cla-signed' check will be flagged, and you will be prompted to sign the CLA with a link provided by our bot. Once you sign, add a comment tagging
@sourcegraph/contribution-reviewers
. After that your pull request will be ready for review.- For Sourcegraph team members, see these notes for how to verify that the CLA has been signed.
- Once you've chosen an issue, comment on it to announce that you will be working on it, making it visible for others that this issue is being tackled. If you end up not creating a pull request for this issue, please delete your comment.
- If you have any questions, please refer to the docs first. If you don’t find any relevant information, mention the issue author.
- The issue author will try to provide guidance. Sourcegraph always works in async mode. We will try to answer as soon as possible, but please keep time zones differences in mind.
- Join the Sourcegraph Community Space on Discord where the Sourcegraph team can help you!
All open issues are not yet solved. If the task is interesting to you, take it and feel free to do it. There is no need to ask for permission or get in line. Even if someone else can do the task faster than you, don't stop - your solution may be better. It is the beauty of Open Source!
- How to structure
- Git branch name convention:
[developer-initials]/short-feature-description
- Examples on Github
- (For Sourcegraph team) How to accept contributions