diff --git a/src/applications/project/application/PhabricatorProjectApplication.php b/src/applications/project/application/PhabricatorProjectApplication.php
index 5f6f7add9f..60e4412273 100644
--- a/src/applications/project/application/PhabricatorProjectApplication.php
+++ b/src/applications/project/application/PhabricatorProjectApplication.php
@@ -1,138 +1,147 @@
 <?php
 
 final class PhabricatorProjectApplication extends PhabricatorApplication {
 
   public function getName() {
     return pht('Projects');
   }
 
   public function getShortDescription() {
     return pht('Get Organized');
   }
 
   public function isPinnedByDefault(PhabricatorUser $viewer) {
     return true;
   }
 
   public function getBaseURI() {
     return '/project/';
   }
 
   public function getFontIcon() {
     return 'fa-briefcase';
   }
 
   public function getFlavorText() {
     return pht('Group stuff into big piles.');
   }
 
   public function getRemarkupRules() {
     return array(
       new ProjectRemarkupRule(),
     );
   }
 
   public function getEventListeners() {
     return array(
       new PhabricatorProjectUIEventListener(),
     );
   }
 
   public function getRoutes() {
     return array(
       '/project/' => array(
         '(?:query/(?P<queryKey>[^/]+)/)?' => 'PhabricatorProjectListController',
         'filter/(?P<filter>[^/]+)/' => 'PhabricatorProjectListController',
         'archive/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectArchiveController',
         'lock/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectLockController',
         'members/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectMembersViewController',
         'members/(?P<id>[1-9]\d*)/add/'
           => 'PhabricatorProjectMembersAddController',
         '(?P<type>members|watchers)/(?P<id>[1-9]\d*)/remove/'
           => 'PhabricatorProjectMembersRemoveController',
         'profile/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectProfileController',
         'view/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectViewController',
         'picture/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectEditPictureController',
         $this->getEditRoutePattern('edit/')
           => 'PhabricatorProjectEditController',
         '(?P<projectID>[1-9]\d*)/panel/'
           => $this->getPanelRouting('PhabricatorProjectPanelController'),
         'subprojects/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectSubprojectsController',
         'milestones/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectMilestonesController',
         'board/(?P<id>[1-9]\d*)/'.
           '(?P<filter>filter/)?'.
           '(?:query/(?P<queryKey>[^/]+)/)?'
           => 'PhabricatorProjectBoardViewController',
         'move/(?P<id>[1-9]\d*)/' => 'PhabricatorProjectMoveController',
         'board/(?P<projectID>[1-9]\d*)/' => array(
           'edit/(?:(?P<id>\d+)/)?'
             => 'PhabricatorProjectColumnEditController',
           'hide/(?:(?P<id>\d+)/)?'
             => 'PhabricatorProjectColumnHideController',
           'column/(?:(?P<id>\d+)/)?'
             => 'PhabricatorProjectColumnDetailController',
           'import/'
             => 'PhabricatorProjectBoardImportController',
           'reorder/'
             => 'PhabricatorProjectBoardReorderController',
         ),
         'update/(?P<id>[1-9]\d*)/(?P<action>[^/]+)/'
           => 'PhabricatorProjectUpdateController',
         'history/(?P<id>[1-9]\d*)/' => 'PhabricatorProjectHistoryController',
         '(?P<action>watch|unwatch)/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectWatchController',
         'silence/(?P<id>[1-9]\d*)/'
           => 'PhabricatorProjectSilenceController',
       ),
       '/tag/' => array(
         '(?P<slug>[^/]+)/' => 'PhabricatorProjectViewController',
         '(?P<slug>[^/]+)/board/' => 'PhabricatorProjectBoardViewController',
       ),
     );
   }
 
   public function getQuickCreateItems(PhabricatorUser $viewer) {
     return id(new PhabricatorProjectEditEngine())
       ->setViewer($viewer)
       ->loadQuickCreateItems();
   }
 
   protected function getCustomCapabilities() {
     return array(
       ProjectCreateProjectsCapability::CAPABILITY => array(),
       ProjectCanLockProjectsCapability::CAPABILITY => array(
         'default' => PhabricatorPolicies::POLICY_ADMIN,
       ),
       ProjectDefaultViewCapability::CAPABILITY => array(
         'caption' => pht('Default view policy for newly created projects.'),
         'template' => PhabricatorProjectProjectPHIDType::TYPECONST,
         'capability' => PhabricatorPolicyCapability::CAN_VIEW,
       ),
       ProjectDefaultEditCapability::CAPABILITY => array(
         'caption' => pht('Default edit policy for newly created projects.'),
         'template' => PhabricatorProjectProjectPHIDType::TYPECONST,
         'capability' => PhabricatorPolicyCapability::CAN_EDIT,
       ),
       ProjectDefaultJoinCapability::CAPABILITY => array(
         'caption' => pht('Default join policy for newly created projects.'),
         'template' => PhabricatorProjectProjectPHIDType::TYPECONST,
         'capability' => PhabricatorPolicyCapability::CAN_JOIN,
       ),
     );
   }
 
   public function getApplicationSearchDocumentTypes() {
     return array(
       PhabricatorProjectProjectPHIDType::TYPECONST,
     );
   }
 
+  public function getHelpDocumentationArticles(PhabricatorUser $viewer) {
+    return array(
+      array(
+        'name' => pht('Projects User Guide'),
+        'href' => PhabricatorEnv::getDoclink('Projects User Guide'),
+      ),
+    );
+  }
+
 }
diff --git a/src/docs/user/userguide/projects.diviner b/src/docs/user/userguide/projects.diviner
new file mode 100644
index 0000000000..77bc3523c7
--- /dev/null
+++ b/src/docs/user/userguide/projects.diviner
@@ -0,0 +1,53 @@
+@title Projects User Guide
+@group userguide
+
+Organize users and objects with projects.
+
+Overview
+========
+
+NOTE: This document is only partially complete.
+
+Phabricator projects are flexible groups of users and objects.
+
+
+Joining Projects
+================
+
+Once you join a project, you become a member and will receive mail sent to the
+project, like a mailing list. For example, if a project is added as a
+subscriber on a task or a reviewer on a revision, you will receive mail about
+that task or revision.
+
+If you'd prefer not to receive mail sent to a project, you can go to
+{nav Members} and select {nav Disable Mail}. If you disable mail for a project,
+you will no longer receive mail sent to the project.
+
+
+Watching Projects
+=================
+
+Watching a project allows you to closely follow all activity related to a
+project.
+
+You can **watch** a project by clicking {nav Watch Project} on the project
+page. To stop watching a project, click {nav Unwatch Project}.
+
+When you watch a project, you will receive a copy of mail about any objects
+(like tasks or revisions) that are tagged with the project, or that the project
+is a subscriber, reviewer, or auditor for. For moderately active projects, this
+may be a large volume of mail.
+
+
+Edit Notifications
+==================
+
+Edit notifications are generated when project details (like the project
+description, name, or icon) are updated, or when users join or leave projects.
+
+By default, these notifications are are only sent to the acting user. These
+notifications are usually not very interesting, and project mail is already
+complicated by members and watchers.
+
+If you'd like to receive edit notifications for a project, you can write a
+Herald rule to keep you in the loop.