Contributing to Habitica

Habitica is an open-source project that can help you achieve goals. Everyday people with everyday lives devote their time and energy to creating and maintaining everything you see here on this wiki and at Habitica. Whether you want to earn the contributor rewards and titles or you just like the idea of open source, we welcome you to contribute to the project. Please jump in where you feel comfortable contributing; there are a wide range of roles available.

Designers
Habitica tells the legend of the Hero (Zakkain), who completely rebranded our original 100%-Bootstrap look-and-feel, and gave us a beautiful aesthetic to call our own. Champion as he is, he's now questing in far-off realms. If you see any design issues that could use improvement, please do help out.

Your best point of entry is to play around with the web repository. Ask questions by logging an issue on GitHub or just change something that irks you and submit a pull request. Read below for some of the repository details.

Pixel Artists
Jump onto the Habitica Pixel Art Trello Board, and join the Pixels in Progress guild. There is a whole vibrant community of artists such as yourself, waiting for you to join the fray! They will give you directions as to how you can help Habitica the most.

Translators
Both the game itself and this wiki can benefit from translation help. Anyone can help, though there are few translators out there right now. Join them! See the main article for more details on how to get involved.

Music and Sound Effects Artists
If you are into sound effects and music, or any sort of digital sound, this is the area for you. Check the article for details on how to help Habitica improve its music and sound effects.

Writers
Things we need help with:


 * Write guest posts for other blogs and help get the word out. Even Facebook & Twitter updates are great. This is Habitica's current bread-and-butter. Periodically, there is a surge in traffic and the admins trace it back to a fan's blog post. This makes them extremely happy. Contribution tiers for blog posts and social media are on a discretionary basis -- posts on high-traffic sites are more likely to receive a tier than on a personal blog with few followers or comments. If you feel like your post merits a tier, post a direct link to The Tavern. If you feel like your post was missed, you can repost again after 24 hours. However, remember that not all guest posts will receive contributor tiers. Blogs with more traffic, comments, and visibility are more likely to receive a tier.
 * Make a Wikia account and help the community by writing and contributing to articles here on the wiki. See Helping on the Wiki.
 * See if there's anything remaining to do on the Habitica Wiki Trello Board.
 * Write tales for our Quests on our Habitica Quests Trello Board.

Coders (Web & Mobile)
You are desperately needed! For details about coding for the website, see Guidance for Blacksmiths.

Mobile App for iOS
The iOS "Habitica" app has its own code base in its own GitHub repository at github.com/HabitRPG/habitrpg-ios. It is open source and contributions are welcome.

The old iOS "HabitRPG" app is no longer under development and contributions will not be accepted.

Mobile App for Android
The Android "Habitica" app has its own code base in its own GitHub repository at github.com/HabitRPG/habitrpg-android. It is open source and contributions are welcome.

The old Android "HabitRPG" app is no longer under development and contributions will not be accepted.

How Can I Help?

 * I want to start small: hit the issue queue, take something that looks simple enough (probably the priority - minor, priority - medium, and entry level coding (text etc.) tickets
 * I'm ready to dive in, and I want to help where I'm most needed:
 * priority - critical and priority - important on the issue queue
 * Unit tests & Karma tests! Oh please, oh please, oh please!
 * We love you and need you.
 * I can finish what someone else started: There are many issues that someone has started and then abandoned for a while due to overwork in other areas. If you see a likely issue with no recent comments, it might be available. You're welcome to post in the issue to ask if it's still being worked on.
 * Forget that, I want to build things!: Make way for the new hero! Check out the Trello feature queue. Ask first to find out if the feature request is approved by the staff.

Once you see an issue you would like to work on, check the conversation to see if somebody is already working on it, or to see if a pull request is linked (which means someone has already submitted a fix). If you are not sure, post a comment on the issue to either ask about the current status or express your interest in fixing the issue.

Join the Aspiring Coders guild to discuss programming for the site, to learn some tips, and to get ideas for what to work on.

Setting up Habitica Locally
Blacksmiths should create a local running instance of Habitica, for testing and development. The process to create a local instance can be difficult, so we've collected helpful notes and tips by operating system.

BountySource
Users may now post bounties for Habitica bug fixes and feature requests on BountySource.

Technologies discussion
Why do we use Jade and Stylus?
 * Jade: We need a server-side templating language so we can inject variables (`res.locals` from Express). Jade is great because the "significant whitespace" paradigm protects you from HTML errors such as missing or mismatched close tags.
 * Stylus: Vanilla CSS wasn't cutting it for our app.

New to wikis?

 * If you are new to wikis, you may want to read the tutorial
 * View the list of help pages for guidance.

How to help out

 * Check out the Guidance for Scribes.
 * If you want to help but you're not sure where to start, try improving the various stub articles by adding content.
 * Make our site more visually appealing by adding or replacing images. Most of the original Habitica images used on the website can be found on GitHub.
 * Examining pages with suggested changes is also a good source of ideas.
 * Reviewing and (when appropriate) editing speculative content helps to keep the wiki accurate.
 * Another helpful activity would be to check the list of wanted pages for frequently linked-to articles that don't exist yet.
 * To follow the changes to this wiki, and to look out for new users and edits, use recent changes.
 * You can find a list of useful templates on Category:Templates, some of which are documented on Habitica Wiki:Templates.
 * If you need help editing, you could start with Help:Editing or the tutorial.

Want to discuss stuff?

 * If you want to discuss anything specific to an article, use the talk page for that article, and remember to sign it.
 * For more general discussions, use forums.
 * Consider joining the Wizards of the Wiki guild.

Please sign in every time you edit, so that we can recognize your contributions.

Helping other Players in Habitica Chat Forums
The Tavern and the Newbies Guild have many friendly people who answer each other's questions about Habitica and give advice about how to make the most of the site. If you'd like to join in, you'd be very welcome! Start small by giving answers that you're sure about to questions that don't already have replies -- but don't worry if someone posts a reply at the same time as you! That happens often and is jokingly referred to as being ninja'ed.

If you're not certain about how to help someone, you can read the wiki carefully and give a summary of what you find. It's often helpful to also post links to relevant wiki pages so that the player can learn extra details if they'd like to. However, avoid giving abrupt "RTFM" ("Read the Freaking Manual") responses; be aware that new players might not know about the wiki, or might feel overwhelmed by all the information in it, so be sensitive to their needs for gentle assistance.

If a player has been posting helpful, relevant, accurate advice for some time, the staff and moderators will often award them with a Tier 1 Socialite Contributor Reward. If they continue to provide consistently positive and helpful assistance over time, they may be granted further Tiers.

Socialite Tiers are usually only awarded for assistance provided in the Tavern and the Newbies Guild because it is harder for the staff and moderators to notice ongoing assistance in other areas. However under special circumstances, a Socialite Tier might be awarded for other assistance, at the discretion of the staff.

Requesting features/Submitting ideas
If you have an idea for improving Habitica:
 * Use the feature tracker to request a new feature
 * Submit bug reports at GitHub. Please read the instructions at that link before creating your bug report.

Feature requests and bug reports are very much appreciated but do not count towards Contributor Rewards.

For more info about the project

 * Open issues on Github
 * Enhancements under consideration on the Trello board
 * The Aspiring Legends Guild, a guild for contributors of all types. This is an ideal location to post questions about contributing.
 * IRC: #habitrpg freenode.net