++ed by:
16 non-PAUSE users
Author image Ricardo SIGNES 😄
and 1 contributors


module-starter - creates a skeleton module distribution


module-starter [options]


    --module=module  Module name (required, repeatable)
    --distro=name    Distribution name (optional)
    --dir=dirname    Directory name to create new module in (optional)

    --builder=module Build with 'ExtUtils::MakeMaker' or 'Module::Build'
    --eumm           Same as --build=ExtUtils::MakeMaker
    --mb             Same as --build=Module::Build
    --mi             Same as --build=Module::Install

    --author=name    Author's name (required)
    --email=email    Author's email (required)
    --license=type   License under which the module will be distributed
                     (default is the same license as perl)

    --verbose        Print progress messages while working
    --force          Delete pre-existing files if needed

    --help           Show this message


    module-starter --module=Foo::Bar,Foo::Bat \
        --author="Andy Lester" --email=andy@petdance.com


module-starter is a command-line interface to Module::Starter, which it uses to perform all the work of creating distributions. An alternate backend for module-starter can be specified with the --class option. Plugins to the standard Module::Starter module can be specified with one or more --plugin options.

If no directory name is supplied, the distribution name will be used for the directory. If no distribution name is supplied, the first listed module name will be used as the distribution name.

Multiple --builder options may be supplied to produce the files for multiple builders.


module-starter will look for a configuration file before reading its command line parameters. The default location is $HOME/.module-starter/config but if the MODULE_STARTER_DIR environment variable is set, module-starter will look for config in that directory.

The configuration file is just a list of names and values, separated by colons. Values that take lists are just space separated. A sample configuration file might read:

 author: Ricardo SIGNES
 email:  rjbs@cpan.org
 plugins: Module::Starter::Simple Module::Starter::Plugin::XYZ
 xyz_option: red green blue

This format may become more elaborate in the future, but a file of this type should remain valid.