- How do I get started?
- Where do I report bugs?
- Where can I suggest features?
- What can I work on?
- How do I join a project?
- How do I learn more about your projects, from a developer's perspective?
- Why can't I edit the wiki?
- How do I download and build the code?
- How do I submit code?
- How do I create a "pull request"/Differential Revision?
- Why can't I push/"land" my code?
- How do I contribute graphics?
- What is a "Trusted Contributor", and how do I become one?
- How do I set up my development environment?
- How do I get in touch with someone?
- How do I find out who's staff?
- Can I collaborate directly?
- How do I report a violation of the Community Rules?
Welcome to MousePaw Media! We're really excited to have you join us.
For many, Phabricator is a new (and somewhat overwhelming) environment. We want to make your transition as smooth as possible, so we've collected a number of Frequently Asked Questions, and a few Frequently Anticipated Questions too, into this wiki page.
If you want to jump right to a question, click the "hamburger menu" (the one with the three lines) to the left of the this page's title, and select the question you want.
If you can't find the answer you need, feel free to ask a new one on Ponder.
How do I get started?
You've already completed the first step: registering for an account here on Phabricator! Your next step depends on what you want to do, but it may help to know what the most important applications here do:
- Issue Tracker: Manifest
- Code Review: Differential
- Repository Browser: Diffusion
- Post-Commit Code Review: Audit
- Wiki: Phriction
- Q&A: Ponder
- Project Manager/Workboards: Project
- Pastebin: Paste
- Graphics Review: Pholio
- CI/CD: Herald → Harbormaster → Jenkins (You won't really do much with this directly, but you'll probably see feedback from it.)
If you're more familiar with another platform, see Phabricator Map to see mappings between other platforms and Phabricator.
The rest of this guide will give you specifics on when and how to use these applications.
Where do I report bugs?
You can report a bug with any of our projects from Maniphest. From the upper-right corner, select Create Task → Bug Report, and use the template. Your bug report will be automatically marked to get our attention.
Where can I suggest features?
You can suggest a feature from Maniphest. From the upper-right corner, select Create Task → Feature Request, and use the template. Your feature request will be automatically marked to get our attention.
What can I work on?
We have special Help Wanted [Control] and Low-Hanging Fruit [Control] that make it easy to find tasks that are up-for-grabs. You can browse through Maniphest directly, or use the Task Finder Dashboard to locate a task.
Otherwise, if there's a specific project you want to work on, it's easiest to get started if you jump into the conversation on our Matrix or IRC chatroom, or in the comments section on an open task you find interesting. We try to include open source contributors as much as possible, but we have to know which project you're interested in.
P.S. We have a number of projects and tasks in backlog that are up-for-grabs, but might not be apparent at first glance. Chatting with us is a great way to get in on development.
How do I join a project?
Joining a project gives you some additional privileges, and notifies us that you're interested in helping out with it! (You can leave the project again at any time.)
To join a project:
- Go to Projects, click the name of the project you wish to join.
- Select Members at left.
- Click Join Project at right.
How do I learn more about your projects, from a developer's perspective?
The Phriction wiki contains all of our project specifications and notes.
Why can't I edit the wiki?
For the most part, everyone is welcome to edit the wiki. However, for project-based wikis, you must first Join the relevant project. (See "How do I join a project?") Once you've done that, you can edit most or all of the wiki pages related to the project.
How do I download and build the code?
We strongly recommend you start by configuring Git and Arcanist on your system first, following this guide.
Next, browse through /diffusion for the repository you're looking for, click on the repository name to browse it, and then click the green Clone button in the upper-right corner of the Code tab (the default).
A number of our projects have dependencies, so if you're working on any of our C++-based projects, you should plan on cloning the following repositories, at minimum:
More information about configuring your system to build our projects can be found on this guide.
How do I submit code?
Code contributions are submitted via Differential. The best way to create a Differential Revision is via Arcanist, following this guide.
Be sure to watch the Differential Revision you've created, as you may be asked to make further changes or take other actions.
How do I create a "pull request"/Differential Revision?
See "How do I submit code?".
Why can't I push/"land" my code?
To push to any of our protected branches (devel, fresh, stable), you must first...
- Create a Differential Revision. (See "How do I submit code?")
- Get your Differential Revision approved by a Trusted Contributor or Staff member.
- Join the relevant Project (see "How do i join a project?")
How do I contribute graphics?
We use Pholio for all graphics-related review. It enables versioning, descriptions, discussion, and inline comments.
To submit graphics, in Pholio, select Create Mock in the upper-right corner. Fill out the form, and add all of your related images. You can update your existing Pholio Mock later with newer versions of your graphics, if necessary.
What is a "Trusted Contributor", and how do I become one?
Trusted Contributors [Group] are people we recognize as being trustworthy with some additional abilities:
- Creating and editing tasks.
- Expanded editing privileges across Phabricator.
- Access to our team newsletter on Phame.
- Access to our Calendar.
There's no formal process to being promoted to Trusted Contributor. By contributing code, participating in conversations, and following our Community Rules, you'll earn our trust.
How do I set up my development environment?
We've documented that entire process on Guide: Development Environment. If you notice any errors or omissions from that document, please open a Bug Report against the Network Docs [Project] tag.
How do I get in touch with someone?
- The best way to get in touch is via our Matrix or IRC room. We promise we won't intentionally ignore you, so if your message happens to get lost in backlog, just try again.
- You can also leave comments on nearly anything on Phabricator, although you should notice who is marked as Subscriber if you're hoping to get our attention. Feel free to add any of the staff as subscribers on anything you want our attention on.
- If all else fails, you can email any of us directly. Our email addresses are the same as our usernames, at mousepawmedia.com.
How do I find out who's staff?
The staff list is visible on Projects: Staff (Group): Members.
Can I collaborate directly?
Absolutely! We make frequent use of Visual Studio Code Live Share.
Watch Conpherence for Live Share links if you want to drop in on one of our open coding or pair programming sessions, or reach out to the staff if you'd like to schedule live collaboration. We can't always accommodate everyone, but we try to be as available as possible.
How do I report a violation of the Community Rules?
We endeavor to make MousePaw Media a safe and diverse community, and we're intolerant of intolerance. If you feel someone has violated the Community Rules, or feel unsafe, harassed, or discriminated against for any reason, please contact email@example.com.