I have taken a stab at generating types, providers and other items with puppet-retrospec.
retrospec puppet new_type -h
Generates a new type with the given name, parameters, and properties.
-n, --name=<s> The name of the type you wish to create
-p, --parameters=<s+> A list of parameters to initialize your type with
(default: name)
-a, --properties=<s+> A list of properties to initialize your type with
(default: )
-r, --providers=<s+> A list of providers to create and associate with
this type (default: default)
-h, --help Show this message
Corey