It should basically be anything that currently runs on Jenkins for the project (on various projects, we have all of these running on Jenkins, though not every project has all), but can run locally.
- Unit tests (PHPUnit and QUnit) - ArcanistUnitTestEngine
- Browser tests (Cucumber) - ArcanistUnitTestEngine
- JSLint, jscs (code style), php -l - ArcanistLintEngine
- jsduck (checking that documentation can be generated without errors) - ArcanistLintEngine
I would suggest that we must continue to use Jenkins (or it's future replacement) even if all of these checks are enforced pre-commit by arc. My reasoning for that is that only on the Jenkins servers do we control the test environment completely. I and others have pushed things to gerrit which contained errors that were masked by local PHP versions and/or configuration on multiple occasions.