GitHub's octocat logo

GitHub is a website that Habitica uses to house its source code, track bugs and issues, and manage certain types of contributions. Many Comrades also use GitHub to house their code for their tools.

For further information on GitHub in general, see Wikipedia's entry.

Habitica's Use of GitHub[edit | edit source]

Repositories[edit | edit source]

All of the officially code supported by Habitica are housed in HabitRPG account. Some of the main repositories are:

Images and Algorithms[edit | edit source]

The pixel art is stored in the "assets" directory in the habitica repository. Some are also stored in the "raw_sprites" director in habitica repository.

Most of the algorithms - such as when you score a task - are stored in the "common" directory in the habitica repository, which is used for both mobile and web. That way it can be used in multiple locations and the code does not have to be duplicated.

Special Rewards[edit | edit source]

Blacksmiths (programmers) can contribute new code or bug fixes through GitHub for contributor rewards.

Glow hammer gif by zoebeagle.gif

Certain Habitica bugs on GitHub have special rewards. The Critical Hammer of Bug Crushing is a decorative weapon given to anyone who manages to solve a bug labeled as "priority: critical" on GitHub.

Solutions for bugs categorized on GitHub with "type: bounty" can yield the Blacksmith monetary awards from BountySource. A list of those bugs are also available on the BountySource page for Habitica.

Bugs and Issues[edit | edit source]

With the capacity to house source code, GitHub also provides issue tracking for any repository on its servers. A GitHub account is needed to log a new issue or comment on an existing one.

However, using GitHub is usually not necessary for reporting bugs. Instead, you can go to the Habitica website and click on Help > Report a Bug to access the Report a Bug guild. If your bug is complex or requires significant work or detailed information from you, you may be asked to report it on GitHub.

GitHub issue list with multiple label filters active

Issues in GitHub are assigned labels which identify the type, priority and status of the issue as well as section of Habitica the issue is related to. You can filter issues by labels or multiple labels in the GitHub issue list.

Learning How to Use of GitHub[edit | edit source]

For those that are new to GitHub, it is recommend to read Pro Git Book. The first two chapters will give you a good overview on using git. The third chapter regarding branching is important if you wish to work in collaborative projects with other developers.

There is also a step by step walk through provided by GitHub itself. This will take you step by step on how to branch and merge the branch with a pull request.

Git-it (Desktop App) is a fun and interactive part of the nodeschool curriculum will help with learning Git and Github. (Scroll down to the readme for instructions on how to install).

There is also GUI tools like GitHub Desktop which many developers find useful to quickly upload, compare changes, etc., without the need of remembering specific commands.

See Also[edit | edit source]

Community content is available under CC-BY-SA unless otherwise noted.