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:
We basically abide by one ultimate golden rule:
- Don't act like a jackass
That covers a surprising number of bases.
- autoscend channel on the Ascension Speed Society discord server
- KoLMafia Ash Function Reference
- KoLMafia Basic Scripting
- KoLMafia Advanced Scripting
The best place to ask questions is the autoscend channel on the Ascension Speed Society discord server.
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.
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:
- How to Contribute to an Open Source Project on GitHub
- Make a Pull Request
- First Timers Only
- Github forking, branching and pull requests
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:
git checkout main
git pull
git checkout -b my-cool-new-feature
- change code, add and commit files with good commit messages
- when ready, submit a pull request for your
my-cool-new-feature
branch against themain
branch
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.