Skip to main content

Contributing Guide

Thank you for thinking about contributing to Touca. We always welcome new contributors and cannot wait to learn more about you. Touca is a big project and covers many programming languages and technologies. There are plenty of opportunities to help, regardless of your domain of expertise.

Finding Inspiration

If you like to contribute but don't know where to start, check out our Good First Issues document for a list of small well-defined tasks that do no need background knowledge. If none of those projects interests you or matches your expertise, come say hi on Discord, introduce yourself, and ask for more ideas.

Creating GitHub Issues

We use GitHub Issues to track our development work. If you noticed anything that looks like a defect, create a new GitHub Issue to let us know about it. Be sure to use the appropriate issue template to help us understand the environment in which the defect occurs.

Asking for Help

You can also use GitHub Issues to ask questions, propose ideas, suggest new features, or to simply share about your use-case and your experience with Touca. We have no strict rules. But we've found these types of conversations are easier on Discord. Use our community as a resource. We are all there to help each other.

Reporting Security Issues

Please privately report any and all security vulnerabilities to hello@touca.io. This helps us minimize the risk for our users and make a fix available before public disclosure. We will make every effort to acknowledge your contribution.

Submitting Pull Requests

We love pull requests of all sizes, from fixing a typo in documentation to improving an existing feature.

  • Fork Touca on GitHub. (learn how)
  • Make your code changes.
    • It's okay to make several small commits as you work on the PR. GitHub automatically squashes them into one single commit before merging.
    • Avoid making unrelated changes. Your pull request should do one thing.
    • Include accompanying tests if applicable.
  • Run relevant linters to ensure a consistent coding style.
  • Run all relevant tests and make sure they pass.
  • Once you are happy with your code changes, create a pull request to the main branch. (learn how)
    • Make sure you have the latest code in the upstream branch.
    • Use a succinct title and a clear description. Highlight anything that could help someone review your code.
    • Check the "Allow edits from maintainers" box. (learn how).

Proposing Big Changes

Before you start working on any non-trivial contribution like adding a new feature, please join our Discord Community and let us know your plans. We will work with you to define clear requirements.