dzil bootstrap - There is a solution!
Dist::Zilla produces a flexibility like no other with its completely insane everything-is-a-plugin approach. Anyone can write almost any type of plugin that hooks up easily to almost every part of the magic that Dist::Zilla does for you. It really is magnificent.
However, that flexibility comes with an added difficulty. There are a lot of plugins out there and when you want to simply build a dist (`dzil build`), it will load any plugin mentioned in the configuration. Since those are loaded by Moose itself, it means any failure to do that (such as with modules that aren't installed) will result in a big stracktrace. You have to scroll to the top of the trace, see what's missing from the failure-to-load message, install that and try again. Whoops, another one is missing...
How about this then...
Given the file dist.ini:
name = Dist-Zilla-App-Command-Bootstrap author = Sawyer X
license = Perl_5 copyright_holder = Sawyer X copyright_year = 2010
You can now run this:
$ dzil bootstrap You're missing Dist::Zilla::Plugin::Space You're missing Dist::Zilla::Plugin::AI You're missing Dist::Zilla::Plugin::PodWacker
So it's not done yet, true, but it's already good enough to feed cpan or cpanm:
# s/^You're missing //;
$ dzil bootstrap | cpanm
It might be smarter to integrate it with the install command of dzil but I don't like how the default client is cpan and it takes you a lot of chars to make it use cpanm instead. We'll see.