Arcanist

Arcanist provides command-line access to many Phabricator tools (like Differential, Files, and Paste), integrates with static analysis ("lint") and unit tests, and manages common workflows like getting changes into Differential for review.

Arcanist is a wrapper script that sits on top of other tools (e.g., Differential, linters, unit test frameworks, git, Mercurial, and SVN) and provides a simple command-line API to manage code review and some related revision control operations.

Workflow

Setup

SSH

To authenticate over SSH, users should add their public keys under Settings → SSH Public Keys.

I've uploaded a text file of the full arcanist command reference which is in the attachments.

VSCode

There is a pretty good Phabricator Extension for VSCode that I recommend using.

Windows

To set VSCode as the editor for arcanist you'll need to use

arc set-config editor "\"C:\Program Files\Microsoft VS Code\bin\code.cmd\" --wait -n"

Installation

Some quick installation tips, for more detailed instructions checkout the Links.

When cloning arcanist and libphutil you'll want to so in a more permanent directory as you'll be adding it to your PATH. You should also clone the stable branch as the master branch is constantly under development

git clone -b stable https://github.com/phacility/libphutil.git
git clone -b stable https://github.com/phacility/arcanist.git

Windows

On Windows you should use PHP 7.3 instead of 7.4 as the newer version can cause some problems, although it has been awhile since I tested it.

Arcanist User Guide

Arcanist Quick Start

Arcanist User Guide: Windows

Arcanist User Guide: Mac OS X

Arcanist User Guide: Configuring a New Project

Arcanist User Guide: arc diff

Arcanist User Guide: Lint

Arcanist User Guide: Code Coverage