Skip to content

Latest commit

 

History

History
147 lines (106 loc) · 8.68 KB

File metadata and controls

147 lines (106 loc) · 8.68 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 Good Bug Report?

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

  • Open an Issue. (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
  • Explain the behavior you would expect and the actual behavior.
  • 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.
    • 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.
  • Provide the information you collected.

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.

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 a contributor.

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 included in the Roadmap of future Use Cases.
    • for a planned roadmap feature, you can check with the project Maintainers to confirm if it is already in progress, or still in Backlog and therefore able to be picked up by you.
  • 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 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 InstantX users. You may also want to point out the other projects that solved it better and which could serve as inspiration.

Code Contribution

We appreciate your contribution to this project! If you have any questions, please feel free to reach out to the maintainers through the project's issue tracker.

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.

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

  • Fork the repository - Create a fork of this repository on your GitHub account.
  • Create a branch - Create a branch for your code changes.
  • Implement your changes - Make your changes to the codebase.
  • Commit your changes - Commit your changes with a clear and descriptive commit message.
  • Push your changes - Push your changes to your forked branch.  
  • Open a pull request - Open a pull request from your forked branch to the main branch of this repository.
  • Wait for feedback - wait for the team to check your PR and act upon it.

Improving The Documentation

We greatly welcome contributions to our project's documentation! Your help in improving the clarity, accuracy, and completeness of our documentation is invaluable; and there are two main areas in which you can contribute documention wise:

  • Wiki - InstantX project encourages community sharing through its Wiki growth, so feel free to add any content if you see it is relevant.
  • Project documentation - refers to all documentation that is part of the source code repository, and therefore it falls on the previous topic Code Contribution

Additional Tips:

  • Use clear and concise language.
  • Include examples and code snippets to illustrate concepts.
  • Proof-read your work carefully.
  • Consider using diagrams or flowcharts to visualize complex processes.

Thank you for your contributions to our project! Your efforts help make our project more accessible and user-friendly.