Contributing ============ This page documents at a very high level how to contribute to VTK. Please check our [developer instructions] for a more detailed guide to developing and contributing to the project, and our [VTK Git README] for additional information. 1. The canonical VTK source is maintained on a GitLab instance at https://gitlab.kitware.com/vtk/vtk.<br/> [Create an account] there if you don't have one yet.<br/> **Note:** *If you're reading this document on GitHub, bear in mind that it is just a mirror, so pull requests here aren't merged. But don't worry, the workflow in GitLab is pretty similar and you can even sign up using your GitHub account.* 2. [Fork VTK] into your user's namespace on GitLab. 3. Follow the [download instructions] to create a local clone of the main VTK repository: $ git clone https://gitlab.kitware.com/vtk/vtk.git VTK $ cd VTK The main repository will be configured as your `origin` remote. For more information see: [Setup] 4. Run the [developer setup script] to prepare your VTK work tree and create Git command aliases used below: $ ./Utilities/SetupForDevelopment.sh This will prompt for your GitLab user name and configure a remote called `gitlab` to refer to it. For more information see: [Setup] 5. Edit files and create commits (repeat as needed): $ edit file1 file2 file3 $ git add file1 file2 file3 $ git commit For more information see: [Create a Topic] 6. Push commits in your topic branch to your fork in GitLab: $ git gitlab-push For more information see: [Share a Topic] 7. Visit your fork in GitLab, browse to the "**Merge Requests**" link on the left, and use the "**New Merge Request**" button in the upper right to create a Merge Request. For more information see: [Create a Merge Request] VTK uses GitLab for code review and Buildbot to test proposed patches before they are merged. Our [Wiki] is used to document features, flesh out designs and host other documentation. Our API is documented using [Doxygen] with updated documentation generated nightly. We have a [VTK Discourse] forum to coordinate development and to provide support. [VTK Git README]: Documentation/docs/developers_guide/git/README.md [developer instructions]: Documentation/docs/developers_guide/git/develop.md [Create an account]: https://gitlab.kitware.com/users/sign_in [Fork VTK]: https://gitlab.kitware.com/vtk/vtk/-/forks/new [download instructions]: Documentation/docs/developers_guide/git/download.md#clone [developer setup script]: /Utilities/SetupForDevelopment.sh [Setup]: Documentation/docs/developers_guide/develop_quickstart.md#initial-setup [Create a Topic]: Documentation/docs/developers_guide/git/develop.md#create-a-topic [Share a Topic]: Documentation/docs/developers_guide/git/develop.md#share-a-topic [Create a Merge Request]: Documentation/docs/developers_guide/git/develop.md#create-a-merge-request [Wiki]: http://www.vtk.org/Wiki/VTK [Doxygen]: http://www.vtk.org/doc/nightly/html [VTK Discourse]: https://discourse.vtk.org/