Whether a project is set up to deploy, read from its files alone: what the dashboard shows before offering anything, and what decides whether it offers deploying at all.
class MMO\admin\helpers\Readiness
Namespace
MMO\admin\helpers
It never connects to anything -- that is `doctor`'s job, and a screen that takes a minute to draw because a
server is down is a screen nobody opens. What it can tell without the network is most of what goes wrong on a
first setup: no deploy.json, one that does not load, a server whose alias no file declares, a key auth with no
key, a target list that is still the template's.
Each finding is a `check`: blocking ones mean setup is not done, and the dashboard offers setup alone; the
others are worth fixing, and are shown beside the actions.
$readiness = new Readiness('/var/www/acme/deploy.json');
$readiness->isReady(); // false while a server cannot be reached with what the files say
$readiness->getChecks(); // [['step' => 'servers', 'label' => 'web1', 'ok' => false, ...], ...]
every finding: {step, label, ok, detail, blocking}. ok is true (fine), false (to fix) or null (not applicable); step is the step of setup that fixes it.