Contributing to Habitica

HabitRPG is an open-source project. Everyday people with everyday lives devote their time and energy to creating and maintaining everything you see here on this wiki and at HabitRPG. Whether you want to earn the Contributor Rewards 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. Be bold!

Designers
Habitica tells 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 jump in. It's a void that needs filling (we don't have any designers). Most importantly we could really use CSS optimizations help on mobile.

The best bet is to jump into the web, mobile, or shared repos as you see fit. Ping us with questions (the main characters that hang around these days are @paglias, @lefnire, @Shaners, and @meaganoff) or just change something that irks you and submit a pull request. Read below for some of the repository details.

Pixel Artists
Jump into any of these threads. It's a whole vibrant community of artists such as yourself, waiting for you to join the fray! Our particualr needs at present are Quest & Boss art, and additional Class Gear

See also Guidance for Pixelists

Music and Design sound effects Artists
See Guidance for Bards

Writers
Things we need help with:


 * Write guest posts for other blogs, help get the word out. Heck, even Facebook & Twitter updates. This is Habit's current bread-and-butter. I'll periodically see a surge in traffic and source it to a fan's blog post - y'all don't know how grateful this makes us :) 1 post on a personal blog = 1 contrib lvl, 1 guest post on a major website = 2 contrib lvls. (Tweets, Facebook posts, etc - while much appreciated, don't get contrib lvl bumps). Just ping bobbyroberts99 or [mailto:tyler@habitrpg.com lefnire] with a link to your post for the reward.


 * Get involved with the Tutorials & Documentation. Lend your writing skills to this wiki. Also check out the Tutorials & Documentation card on our Trello board.

Coders (Web & Mobile)
You are desperately needed! Video tutorial here, if that's your preferred format. Let's first discuss our technologies so you can decide which repository you want to get involved with.

There are three repositories: Habitrpg-shared is a library of character sprites, css, algorithms, helper functions, etc - both mobile & web (and both server & client on web) use this library. If there are any logic errors (custom day start not kicking in, wrong timezone when new-day is calculated, drops not random, etc) it's going to be here. This library needs a lot of help, so if you're a left-brainer (all sorts of algorithms in here), jump in here! Also, we could really use some unit tests!
 * website
 * mobile
 * habitrpg-shared



See also Guidance for Blacksmiths

Mobile
One of the best decisions we made was launching the app on AngularJS + PhoneGap. This has allowed us to literally copy & paste giant portions of code between web & mobile, making maintenance and developer transferring a breeze. That's right, the mobile app uses the exact same front-end stack of the website.

While PhoneGap has saved us a lot of effort, the major issues here are (1) us not using all the css tricks we can to optimize performance, (2) mobile-only javascript bugs (like ghost clicks & the sort). If you're mobile-web savvy, please jump into this project wherever you can:


 * Issues
 * Features

Also, before jumping in read this note on some of the orphan files, habitrpg-shared integration, etc.

Website
About technology in a bit, but first:


 * I wanna start small:  hit the issue queue, take something that looks simple enough (probably the priority - minor & priority - medium 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.
 * Forget that, I want to build things!: Trello feature queue

We originally launched on DerbyJS (which didn't work out, long story short), but we recently ported to AngularJS. Our tech-stack is:

Server


 * ExpressJS (NodeJS)
 * MongooseJS (MongoDB)

Client
 * AngularJS
 * Jade
 * Stylus

Side-note on technology
We're moving from CoffeeScript to JavaScript because CS is a bigger barrier-to-entry for Habit as an open-source project. I personally love CoffeeScript, but it's prevented quite a few developers from joining. As far as Jade goes, we need a server templating language without ` – ` binding syntax (aka, Handlebars & Mustache) since they're incompatible with Angular. We could have gone with EJS - let me know if you think Jade will cause a barrier.

New to wikis?

 * If you are new to wikis, you may want to read the tutorial.
 * A list of most help pages can be found here.

How to help out

 * Join the team working on Taking the Wiki Live.
 * If you want to help but you're not sure where to start, try improving the various stub articles by adding content.
 * Checking out pages with suggested changes is also a good source of ideas.
 * 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    :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.
 * For more general discussions, use Forums.

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

Requesting features/Submitting ideas
If you have an idea for improving HabitRPG, you can learn about our feature tracker and how to request a new feature or go straight to our community site and submit new feature ideas for the web app or mobile app.

Submit bug reports here.

For more info about the project...

you can also check out:  the Community Pages on the HabitRPG website

open issues on Github

enhancements under consideration on the Trello board  IRC: #habitrpg freenode.net 