Skip to content
This repository has been archived by the owner on Apr 12, 2021. It is now read-only.

Latest commit

 

History

History
92 lines (60 loc) · 5.03 KB

CONTRIBUTING.md

File metadata and controls

92 lines (60 loc) · 5.03 KB

Contributing to Sabertooth

You're awesome!:blush:

Thank you for considering contributing to Sabertooth. Big commitments aren't required. Even small things like grammatical errors in the docs really add up. Sabertooth is in its infancy and will need your help to reach its potential. Every contribution is valued and greatly appreciated.

Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.

Sabertooth is an open source project and we love to receive contributions from our community — you! There are numerous ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into Sabertooth itself.

See the ROADMAP to view the current state of features and to see some of the things we're trying to accomplish.

Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Pull Request

When woking on large features or bug fixes it's best to split the work(break it down) into different branches/ pull request. This simplifies the process of reviewing and merging.

Requirements for acceptance:

  • If it solves an issue it must reference the issue in the title
  • New features or methods must have at least basic corresponding test.
  • New classes and methods must have documentation(JSDoc comments).
  • It must match the coding style of the rest of the project and must pass the linter.
  • It must pass the travis-ci build and test.

PR's should be merged with the dev branch unless otherwise stated.

Your First Contribution

No worries, we'd love to help you!:thumbsup:

Unsure where to begin contributing to Sabertooth? You can start by looking through the issue tracker for something simple or maybe read through the docs to see if anything needs improvement.

If you're new to Github check out these friendly tutorials:

At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first 😸

If a maintainer asks you to "rebase" your PR, they're saying that a lot of code has changed, and that you need to update your branch so it's easier to merge.

Getting started

Follow these instructions and you'll be on your way in no time.:smile:

  1. Create your own fork of the code
  2. Create a new branch for the fix or feature
  3. Do the changes in your fork
  4. If you like the change and think the project could use it:
    • Be sure you have followed the code style for the project.
    • Send a pull request to the dev branch describing the changes you've made.

Large contributions

Big changes need to fit with the direction of the project. There could be potential issues you didn't think of or maybe someone is already working on that particular feature. It's probably best to make an issue for your proposal first so that we can determine the best way to proceed.

Small contributions

As a rule of thumb, changes are obvious fixes if they do not introduce any new functionality or creative thinking. As long as the change does not affect functionality, some likely examples include the following:

  • Spelling / grammar fixes
  • Typo correction, white space and formatting changes
  • Comment clean up
  • Bug fixes that change default return values or error codes stored in constants
  • Adding logging messages or debugging output
  • Changes to ‘metadata’ files like Gemfile, .gitignore, build scripts, etc.
  • Moving source files from one directory or package to another

How to report a bug

When filing an issue, make sure to answer these five questions:

  1. What version of Sabertooth are you using?
  2. What operating system and processor architecture are you using?
  3. What did you do?
  4. What did you expect to see?
  5. What did you see instead?

How to suggest a feature or enhancement

Features

Feature request should only be opened for things that add new functionality to the project. To suggest a feature, open an issue and try to explain thoroughly why it should be added and how it should work. Please use the feature request label.

Enhancements

Only suggest enhancements for things that improve upon existing functionality. To propose an enhancement, open an issue and try to explain thoroughly why it should be added and how it should work. Please use the enhancement label.

Questions

Feel free to direct any further questions to AbydosDigital@gmail.com.