The one important part that was not covered in the post was the authentication method.
As part of the TileMill upload process, you are required to set
--syncAccessTokenparameters. This information is discoverable if you dig deep into TileMill caches. To make it more easily accessible I created a TileMill plugin called
tilemill-sync-info. It simply exposes your sync information on the Application Settings page...
Now you can copy/paste that information into your batch upload scripts.
Productivity Tip: I use TileMill for both work and personal projects and host these projects on separate work and personal MapBox accounts. To keep from having to constantly reauthorize TileMill between these two accounts prior to upload, I simply create batch upload scripts for each TileMill project with account-specific upload credentials. Then I can author my projects in TileMill and when I am ready to upload to MapBox I simply run the appropriate project upload script and it sends my new map to the correct account.
I was inspired to create a TileMill plugin based on @willwhitedc's MapBox presentation at JS.Geo13 (#jsgeo13)