Skip to content

Latest commit

 

History

History
104 lines (72 loc) · 4.42 KB

CONTRIBUTING.md

File metadata and controls

104 lines (72 loc) · 4.42 KB

Contributing to WeakAuras

Code Standards

There are a few things which we require in any contribution:

  • This repository comes with a .editorconfig file, so the following requirements will be taken care of if you have EditorConfig installed:
    • Tabs consist of 2 spaces.
    • Files end with a newline.
    • No trailing whitespace at the end of a line.
  • All user-facing strings (names and desc fields in AceConfig tables, mostly) must be localized:
    • We use a locale scraper to find translation phrases and automatically export them to CurseForge for translation. This scraper parses the addon files, looking for tokens that look like: L["some translation phrase"]. You must use double quoted strings, and name the localization table (found at WeakAuras.L) L in your code for this to work properly.
  • When writing a new file, avoid using semicolons. When modifying code in an existing file, try to be consistent, but err on the side of no semicolons.
  • New features should be indicated by concatenating WeakAuras.newFeatureString onto the associated translation phrase. We will remove the new feature indicator approximately 3 months after the first release.

Pull Requests

If you want to help, here's what you need to do:

  1. Make sure you have a GitHub account.

  2. Fork our repository.

  3. Create a new topic branch (based on the main branch) to contain your feature, change, or fix.

    git checkout -b my-topic-branch
  4. Set core.autocrlf to true.

    git config core.autocrlf true
  5. Set pull.rebaseto true.

    git config pull.rebase true
  6. Set up your Git identity so your commits are attributed to your name and email address properly.

  7. Take a look at our Wiki page on how to setup a Lua dev environment.

  8. Install an EditorConfig plugin for your text editor to automatically follow our indenting rules.

  9. Commit and push your changes to your new branch.

    git commit -a -m "commit-description"
    git push
  10. Open a Pull Request with a clear title and description.

Keeping your fork updated

  • Specify a new remote upstream repository that will be used to sync your fork (you only need to do this once).

    git remote add upstream https://github.com/WeakAuras/WeakAuras2.git
  • In order to sync your fork with the upstream WeakAuras repository you would do

    git fetch upstream
    git checkout main
    git rebase upstream/main
  • You are now all synced up.

Keeping your pull request updated

  • In order to sync your pull request with the upstream WeakAuras repository in case there are any conflicts you would do

    git fetch upstream
    git checkout my-topic-branch
    git rebase upstream/main
  • In case there are any conflicts, you will now have to fix them manually.

  • After you're done with that, you are ready to force-push your changes.

    git push --force
  • Note: Force-pushing is a destructive operation, so make sure you don't lose something in the progress.

  • If you want to know more about force-pushing and why we do it, there are a two good posts about it: one by Atlassian and one on Reddit.

  • Your pull request should now have no conflicts and be ready for review and merging.

Reporting Issues and Requesting Features

  1. Please check our issue tracker for your problem since there's a good chance that someone has already reported it.
  2. If you find a match, please try to provide as much info as you can, so that we have a better picture about what the real problem is and how to fix it ASAP.
  3. If you didn't find any tickets with a problem similar to yours then please open a new ticket.
    • Be descriptive as much as you can.
    • Provide everything the template text asks you for.