Skip to content

Latest commit

 

History

History
144 lines (99 loc) · 8.33 KB

CONTRIBUTING.md

File metadata and controls

144 lines (99 loc) · 8.33 KB

Contributing to RasgoQL

First off, thanks for taking the time to contribute! RasgoQL thrives off of contributions and input from users, so we're glad you're here.

All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉

And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:

  • Star the RasgoQL Repo
  • Tweet about it #RasgoQL @RasgoQL
  • Tell all your friends/colleagues.
  • Refer to this repo in your README.md

Table of Contents

Code of Conduct

This project and everyone participating in it is governed by the RasgoQL Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to opensource@rasgoml.com.

I Have a Question

If you want to ask a question, we assume that you have read the available Documentation.

Before you ask a question, it is best to search for existing Issues that might help you. If you don't find the a similar issue then we recommend the following:

  • Joining our slack server and asking your question there.
  • Open a new Issue.
    • Follow the instuctions provide as much context as you can about what you're running into.
    • Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.

Each issue will be reviewed and then triaged by one of the maintainers.

I Want To Contribute

Legal Notice

When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.

You also need to sign our CLA agreement

Setting up your dev environment

TODO

Suggesting New Transforms

Transform suggestions are tracked as GitHub issues. This section guides you through submitting an issue requesting a new transform be added to the RasgoQL library, including completely new functionality and minor improvements to existing transforms. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.

Before Submitting an request for a new transform

  • Make sure that you are using the latest version.
  • Read the documentation carefully and find out if the transform is already covered, maybe by an different name.
  • Perform a search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.

What does a good new transform suggestion look like?

  • Uses a clear and descriptive title for the issue to identify the suggestion.
  • Provides a step-by-step description of the suggested transform in as many details as possible or includes any links to relevant examples.
  • Describes the current situation/general usecase and explain which behavior you expected to see instead and why. At this point you can also tell which alternatives do not work for you.
  • You may want to include screenshots
  • Explain why this transform would be useful to most RasgoQL users. You may also want to point out the other projects that solved it better and which could serve as inspiration.

Reporting Bugs

Before Submitting a Bug Report

A good bug report includes all the evidence as if you were taking this issue to court. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.

  • Make sure that you are using the latest version.
  • Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the documentation). If you are looking for support, you might want to check this section).
  • Collect information about the bug:
    • Stack trace (Traceback)
    • OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
    • Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
    • Possibly your input and the output
    • Can you reliably reproduce the issue? And can you also reproduce it with older versions?

How Do I Submit a Good Bug Report?

You must never report security related information, passwords, credentials, issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. You are responsible for ensuring that your issue does not contain sensitive material. This includes but is not limited to: logins, passwords, data warehouse connection information, protected data, etc. #TODO (should get cleared by a lawyer).

We use GitHub issues to track bugs and errors. If you run into an issue with the project:

  • Open an Issue.
  • Explain the behavior you would expect and the actual behavior.
  • Please provide as much context as possible and describe the reproduction steps that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
  • Provide the information you collected in the previous section.

Once it's filed:

  • The project team will label the issue accordingly.
  • A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as needs-repro. Bugs with the needs-repro tag will not be addressed until they are reproduced.
  • If the team is able to reproduce the issue, it will be marked needs-fix, as well as possibly other tags (such as critical), and the issue will be handled accordingly.

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for core RasgoQL, including completely new features and minor improvements to existing functionality. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions.

Before Submitting an Request for Enhancement

  • Make sure that you are using the latest version.
  • Read the documentation carefully and find out if the functionality is already covered, maybe by an individual configuration.
  • Perform a search to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
  • Feel free to run it past the team first on our slack server

Your First Code Contribution ()

  1. Fork the repository and create a new branch that includes a short description of your change (ie 'bigquery-support')
  2. Create a branch for your edits.
  3. Reference any relevant issues or supporting documentation in your PR (for example, “Closes #37”)
  4. Make sure to include all your changes in a single commit
  5. Submit a pull request

The maintainers will then review the PR and notify you next steps in the PR request.

Improving The Documentation

#TODO

Join The Project Team

email opensource@rasgoml.com