Skip to content

Latest commit

 

History

History
137 lines (96 loc) · 8.34 KB

File metadata and controls

137 lines (96 loc) · 8.34 KB

Contributing to InstantX

First off, thank you for taking the time to contribute! ❤️

Instant eXchange community shares the spirit of the Apache Way and believes in "Community over Code". We welcome any and all types of contributions that benefit the community at large:

  • Star the project
  • Refer this project in your project's documentation
  • Providing user feedback
  • Share your use cases
  • Collaborate with related products and technologies
  • Maintaining our wiki and improving documentation
  • Contribute test scenarios and test code
  • Fix bugs and add new features

Table of Contents

Code of Conduct

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

I Want To Contribute

Reporting a bug

A great way to contribute to the project is to send a detailed report when you encounter an issue.

Before Submitting a Bug Report

  • Confirm if you are using the latest version.
  • Check if your bug is really a bug and not a configuration issue on your side e.g. using incompatible components/versions, or missing configuration files. (Make sure that you have read the deployment instructions. If you are looking for support, you might want to check Support.
  • Check that our issue database doesn't already include that problem or suggestion before submitting an issue.
    • If you find a match, you can use the "subscribe" button to get notified on updates.
    • Do not leave random "+1" or "I have this too" comments, as they only clutter the discussion, and don't help resolving it.
    • However, if you have ways to reproduce the issue or have additional information that may help resolving the issue, please leave a comment.
  • Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue.

How Do I Submit a Bug Report?

A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. To help us fix any potential issue as fast as possible, please collect the following information about it:

  • OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
  • Version(s) of the interpreter / compiler / SDK / runtime environment, depending on what seems relevant.
  • Stack traces (log files)
    • When sending lengthy log-files, consider posting them as a gist.

Don't forget to remove sensitive data from your logfiles before posting (you can replace those parts with "REDACTED").

You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Please check Security on how to do it.

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 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 left to be implemented by someone.

Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for InstantX, 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 Enhancement

  • Make sure that you are using the latest version.
  • Read the documentation carefully and find out if the functionality is already covered, or described in the roadmap, as a future feature.
    • for the roadmap unimplemented features, please contact the project maintainers and see if you can pick those up or if they are already a work-in-progress.
  • 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.
  • Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.

How Do I Submit a Good Enhancement Suggestion?

Enhancement suggestions are tracked as GitHub issues.

  • Use a clear and descriptive title for the issue to identify the suggestion.
  • Provide a step-by-step description of the suggested enhancement in as many details as possible.
  • Describe the current behavior 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.
  • Explain why this enhancement would be useful to most InstantX users. You may also want to point out the other projects that solved it better and which could serve as inspiration.

Code Contribution

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 must guarantee that your code doesn't contain any dependencies or components that are incompatible with our open-source license. This includes code with Third-Party restrictive licenses, proprietary code, or code that requires attribution to a third party that we cannot meet.

Verification

We may request additional information or verification if there are any concerns regarding the origin or licensing of your code.

Here are some suggestions for ensuring clean code contributions:

  • Write clean and well-documented code.
  • Follow the project's coding style guide (if applicable).
  • Include unit tests for your code to ensure its functionality.

Contribution Process:

  1. Fork the repository: Create a fork of this repository on your GitHub account.
  2. Create a branch: Create a branch for your code changes.
  3. Implement your changes: Make your changes to the codebase.
  4. Commit your changes: Commit your changes with a clear and descriptive commit message.
  5. Push your changes: Push your changes to your forked branch.  
  6. Open a pull request: Open a pull request from your forked branch to the main branch of this repository.

Improving The Documentation

With regards to Documentation, there are two main areas in which you can contribute:

  • Wiki - which being an Open-Source project, can be freely updated and extended. In fact, we greatly welcome that level of contribution.
  • Project Documentation - which falls on the Contribution Process specified above, and it can be seen as Code Contribution.