Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 4.41 KB

CONTRIBUTING.md

File metadata and controls

76 lines (50 loc) · 4.41 KB

Contributing Guide

autoscend is a community project and we welcome contributions. There are many ways to contribute, including submitting bug reports, improving documentation, submitting feature requests, reviewing new submissions, or contributing code that can be incorporated into the project.

This document describes our development process. Following these guidelines shows that you respect the time and effort of the developers managing this project. In return, you will be shown respect in addressing your issue, reviewing your changes, and incorporating your contributions.

Table of Contents:

  1. Code of Conduct
  2. Important Resources
  3. Questions
  4. Reporting Bugs and Feature Requests
  5. Contributing Code
    1. Forks and Branches
    2. Merging Pull Requests

Code of Conduct

We basically abide by one ultimate golden rule:

  1. Don't act like a jackass

That covers a surprising number of bases.

Important Resources

Questions

The best place to ask questions is the autoscend channel on the Ascension Speed Society discord server.

Reporting Bugs and Feature Requests

Before submitting bugs or feature request please ask for help in the autoscend channel on the Ascension Speed Society discord server and search through the issues page to see if it is already reported. If you find a similar issue to yours feel free to add extra details or just a +1 to it.

Finally, if no one on discord can help your you cant find a similar issue, read and fill out the issue template that appears when you open a new issue.

Contributing Code

When writing code to contribute please take notice of the general style of the code you are working with and attempt to mimic it as best as possible. For example if the variables are camel case (someVariable) dont use snake case variable names (some_variable). If you are adding a new function you need to be sure to add the function signature in autoscend_header.ash.

Working on your first open source project or pull request? Her are some helpful tutorials:

Forks and Branches

You can request access to the project which will let you push working branches to the project, but you can also just (or even prefer) to fork the repository and submit pull requests from your fork.

main branch: The main branch is the current "release" of autoscend. When someone does git checkout loathers/autoscend in KoLMafia, they are getting the main branch scripts.

main is restricted and can only be merged into with a pull request which requires approval from 1 other developer (though admins can by pass this requirements if they need to).

For all of our sanity a good git work flow is something like this:

  1. git checkout main
  2. git pull
  3. git checkout -b my-cool-new-feature
  4. change code, add and commit files with good commit messages
  5. when ready, submit a pull request for your my-cool-new-feature branch against the main branch

Merging Pull Requests

When closing pull requests, please use the "Squash and Merge" option when merging the branch. This creates much cleaner git commit histories and make it much easier to cherry-pick features from one branch to another. After the merge its also good practice to delete the branch from the remote, again trying to keep the repository clean.