In the project directory:
npm install tessera tilelive-mapnik tilelive-carto
brew install fswatchCopy tilemill.scpt and tilemill.sh from this gist into the same directory and run ./tilemill.sh.
make-based build for a map project (e.g. Toner, openstreetmap-carto). If you're using a vanilla TileMill project (with local datasources, i.e. no Millstone), remove make xml and change the map URI to carto+file://./project.mml.