Guide: Contributor Introduction (Start Here!)¶
Welcome to MousePaw Media! We’re so excited you’ve chosen to volunteer your time and skills to help make our projects awesome.
This tutorial will help you get started as an open source contributor.
Nearly all of our development work takes place on DevNet Phabricator, located at phab.mousepawmedia.com.
Log into your GitHub account. If you haven’t already created a GitHub account, do that now.
Go to phab.mousepawmedia.com and click the Log In or Register (GitHub) button towards the bottom of the screen.
The LDAP username and password are for staff only. Don’t worry about that.
Read through and sign the Community Rules.
You should now see the home page of DevNet Phabricator. Click your profile picture on the top bar, towards the right, and select Settings. Review and change the following at minimum.
Be sure to click Save Changes on each page!
Account: Set desired
Date and Time: Set
Notifications: We recommend setting
Web and Desktop, so you’ll get the latest notifications as they happen while you’re logged onto Phabricator. You may also need to grant permission for the desktop notifications to work.
Email Addresses: Ensure your desired email address is added to
this list, and
Verifyit. Verification emails come from
firstname.lastname@example.org; you may need to check your spam bin if you don’t get it.
Email Delivery: Set
Disable. You may also choose to disable all email notifications under
Email Notificationsif you plan to check Phabricator manually. Otherwise, if you only want some emails, you can select which notifications to receive via email on the Email Preferences pane.
Click your profile picture on the top bar, towards the right, and select Manage. Click Edit Profile at right and fill out your user profile.
That’s it! You’re now set up to use Phabricator! For complete instructions on using Phabricator, see Phabricator.
Chatting With Us¶
You can join our chatroom via either Matrix or IRC. We highly recommend you join the chatroom, where you can talk with MousePaw Media staff and other community members.
Matrix is a modern, free, decentralized chat protocol. If you already have
a federated Matrix account somewhere, simply join the room
If you want to join Matrix, go to
https://element.io/get-started and either
open in browser or install a client. On the login screen for the client,
select Create account and create your free account.
Towards the left, click or tap the compass icon to search public rooms,
and then search for
There are many Matrix clients besides Element. See the full list here.
If you prefer IRC, you can join the
#mousepawmedia room on the
irc.libera.chat IRC network.
You should start by setting up your Development Environment.
A Quick Tour of Phabricator¶
The first time you log into Phabricator, it can look a bit overwhelming.
Don’t panic! There are only a few things you need. We’ve listed them here
in the relative order they appear on the main menu on the Phabricator
home page (a.k.a.
Getting Started: Instructions to get started.
Maniphest: Task and bug tracker. Similar to GitHub Issues.
Ponder: Q&A, StackOverflow style.
Phriction: Our wiki. You are welcome to create and edit pages. Similar to GitHub Wiki.
Projects: Browse projects, groups, and other tags. Projects also have Workboards, similar to GitHub Projects.
Differential: Submit and review code (pre-commit review). Similar to GitHub Pull Requests.
Audit: Post-commit review. Raise concerns about code that’s already been committed.
Diffusion: Browse code and commits. Similar to GitHub Code.
Task Finder [P]: Find a programming task to work on.
Reviewer Finder [P]: Find someone who can review your code.
Paste: Pastebin with syntax highlighting, history, and comments. Similar to GitHub Gist.
From anywhere in Phabricator, you can always click the company logo in the upper left corner of the page to go Home.
Getting the Code¶
Each of our projects has a dedicated Git repository. You should create a dedicated folder on your computer for the repositories you clone. You can find each repository’s clone command on Phabricator Diffusion. If you need help with cloning a repository, see Import Repositories.
After you have cloned a project repository, see its
for instructions on how to build the code for the first time.
For our C++ projects, you will almost certainly need the following:
libdeps: All our third-party dependency libraries.
pawlib: Our in-house utility library.
For help with working with these repositories and building code, see Guide: Building Code
Finding a Task¶
You may already know what you want to work on. If you don’t, you can use our Task Finder to locate one. See Guide: Task Finders to learn how to use that feature.
Once you’ve found the task you want to work on, scroll to the bottom of its page, to the comment box. From Actions…, select Assign/Claim, and make sure your name is selected.
Submitting the Code¶
Once you’re ready for the code to be reviewed, you should submit it to a Phabricator Differential.
If you have set up Arcanist (see Git and Arcanist), you can use it to create a new Differential Revision, or update the one you already have open. For more information on how to do this, see Guide: Code Contributions.