Re-introduce identifier.
Use #fetch method to retrieve config parameters.
Send output of shell commands to $stdout.

Send output of shell commands to $stdout rather than StringIO.new, so that people can see deployment progress.
Update commands to get remote.
Better distinguish URLs from aliases.

For example, https://github.com/nanoc/nanoc is a valid Git URL, but does not end with .git.