Skip to content

Latest commit

 

History

History
58 lines (50 loc) · 5.12 KB

CONTRIBUTING.md

File metadata and controls

58 lines (50 loc) · 5.12 KB

Contributing to InfiniteShooter

<<<<<<< HEAD

Note: For a full updated guide to working with InfiniteShooter, check out the wiki page.

First off, thanks for choosing to contribute to InfiniteShooter! Here's what you can do:

Getting Started

The first thing you should do when contributing to InfiniteShooter is to check out the issues. You can do so by clicking on the respective tab and looking for issues with the "good first issue" label. If there's none, you can look for some bugs and then read below on how to report issues for InfiniteShooter.

Issues, Bug Reports, and Feature Requests

Creating issues should be fairly easy with GitHub, so for the purposes of this guide I am assuming you are already familiar with the interface. When you do create an issue, here are some standards:

Titles

Please give each issue a descriptive title so they can be easy to identify and then work on.

Descriptions

For bug reports, please ensure you have included the following:

  • Your operating system/version and InfiniteShooter's version
  • A detailed (if possible) description of the bug you are facing
  • Logs and screenshots, if possible.
    • Opening InfiniteShooter's storage directory (~/.var/app/com.pastthepixels.InfiniteShooter/data/InfiniteShooter with the flatpak), you should see a folder called logs. Please upload the file with the most recent datestamp.
  • Please make sure that the error is not present in the dev branch. Often I will fix some errors I find here and there without making issues for them, so keep an eye out for that. Make sure to:
    • Clone the repository to your home folder (ensuring you are on the dev branch. I recommend GitHub Desktop)
    • Open the Godot engine and scan your home folder for projects by clicking on the "Scan" button
    • Click "InfiniteShooter" and then the "Run" button.

Feature requests can be written in prose, but more detailed descriptions and mockups will ensure progress is made faster on your feature request!

Labels

Lastly, make sure you have the right labels for your issue. (You should see the option to your right when making your issue.) This will help to make issues more identifiable and easier to track, again speeding up processes to complete them.

Branches

InfiniteShooter is split into branches depending on versions. For instance, the branch 2.0 contains InfiniteShooter 2.x and the branch 3.0 contains InfiniteShooter 3.x (where X denotes the latest version). Development is worked on the dev branch, and the latest, stable version is the default branch.

Forks

I have never forked a GitHub repo. Good luck. (On a serious note, I don't know as of yet how to do this as I have only worked on my own repositories. But when I do get around to it, I will make sure to replace this section with something useful. Forking InfiniteShooter is always encouraged though!)

Cool, but I want to write some code!

For the time being, I'm just going to add changes to InfiniteShooter without creating issues or anything as I don't see anybody else working on or using InfiniteShooter. But when it does happen, here are the guidelines contributors (including me!) will have to follow:

Adding new features

  1. Create a feature request for the code you would like to add.
  2. Fork InfiniteShooter and add your code. This will help people to test it and determine if it is worthy of merging into the dev branch.
  3. Ensure there is some discussion on your issue and the general consensus is that your changes should be merged into the dev branch.
  4. I shall merge your changes, through means which I currently consider digital wizardry.

Fixing bugs

  1. Create a bug report for the bug you are fixing, or find an already-created bug report. (Now the rest of the steps are the same as above, and yes, I have just copy-pasted them down here.)
  2. Fork InfiniteShooter and add your code. This will help people to test it and determine if it is worthy of merging into the dev branch.
  3. Ensure there is some discussion on your issue and the general consensus is that your changes should be merged into the dev branch.
  4. I shall merge your changes, through means which I currently consider digital wizardry.

Naming scheme

Here's a nifty table that outlines how InfiniteShooter releases are names

0 .x .x
Reserved for any important releases Release number (any important releases deemed by myself ex. 0.2.0, 0.3.0, 0.4.0) Point releases (bug fixes/patches)

A disclaimer

Note that for most of this, I wrote this having never used GitHub for anything other than my own projects. If you have something to improve here, please do so! And again, thank you for choosing to contribute to InfiniteShooter!

Check out the wiki page!

origin/stable