Communication is currently over USB from Linux only. I used the usb4java libraries, so it should work from Windows or OS X.
In addition to detecting connected EV3s, you can send/recieve files, get info about the brick, or change the Brick's name.
The command line utility allows project directories to be uploaded or downloaded, and to delete projects.