Acme-CPANModules

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN


         # rating => 10, # optional, on a 1-10 scale

         # alternate_modules => [...], # if you are reviewing an undesirable module and want to suggest better alternative(s)

         # related_modules => ['Data::Dump::Color', 'Data::Dumper'], # if you want to specify related modules that are not listed on the other entries of the same list

         ## specify which features this entry supports/doesn't support. this can be
         ## used to generate feature comparison matrix. see
         ## Acme::CPANModulesUtil::FeatureMatrix.
         # features => {
         #     feature1 => 'foo',   # string, value is "foo"
         #     feature2 => 0,       # bool, value is false ("no")
         #                          # since feature3 is not specified for this module, the value is "N/A"
         #     feature4 => {value=>0, summary=>'Irrelevant because foo bar'},  # bool, value is false. with additional note.
         #     ...
         # },

         ## specify Bencher scenario participant's properties; "bench_" prefix will
         ## be removed when creating participant record.
         # bench_code => sub { ... }, # or
         # bench_code_template => 'Data::Dump::dump(<data>)',
         # ...

         # list what functions are in the module. currently this is mainly used for
         # specifying benchmark instructions for the functions.
         functions => {
             func1 => {
                 bench_code_template => 'Data::Dump::dump([])',
             },
         },

     }

    That's it. After you have completed your list, publish your
    Acme::CPANModules module to CPAN.

    Here's a sample of one of the simplest $LIST you can have:

     $LIST = {
         summary => 'Modules that predict the future',
         entries => [
             {module=>'Zorb'},
             {module=>'Madame::Zita'},
         ],
     };

    Here's another, more expanded sample:

     $LIST = {
         summary => 'Modules that predict the future',
         description => <<'_',

    This list catalogs modules that predict the future. Yes, the future is
    unpredictable. But we can try anyway, right?

    _ entries => [ { module => 'Zorb', summary => 'Contact the API for the
    strange crystal Zorb', description => <<'_',

    This module is an API client to Zorb, a strange crystal that supposedly
    fell from the sky in 2017 near Ozark, that can change color depending on
    what you feed to it. The API connects to Zorb API server managed by
    Crooks, Inc.

    _ }, { module => 'Madame::Zita', summary => 'Ask Madame Zita the fortune
    teller', }, ], };

    For more examples, see existing "Acme::CPANModules::*" modules on CPAN.

    If you are using Dist::Zilla to release your distribution, this
    Pod::Weaver plugin might be useful for you:
    Pod::Weaver::Plugin::Acme::CPANModules. It will create an "=head2
    Included modules" section which is POD rendering of your module list so
    users reading your module's documentation can immediately read your
    list.

RECOMMENDATIONS
  module name
    An Acme::CPANModules module is named under "Acme::CPANModules::"
    namespace.

    A personal list should go under your CPAN ID's subnamespace, e.g.
    "Acme::CPANModules::YOURCPANID::Favorite" or
    "Acme::CPANModules::YOURCPANID::Avoided".

    Avoid having "Modules" in the name as it is superfluous, e.g.
    "Acme::CPANModules::TextTable" instead of
    "Acme::CPANModules::TextTableModules".

    Verb is preferrably written in present participle form, e.g. for a list
    of modules that parse JSON: "Acme::CPANModules::ParsingJSON" instead of
    "Acme::CPANModules::ParseJSON".

    Noun that refers to the modules (entries) is preferrably written in
    plural forms, e.g. "Acme::CPANModules::JSONParsers" instead of
    "Acme::CPANModules::JSONParser".

  list summary
    The list summary normally becomes the Acme::CPANModules module's
    Abstract.

    It is recommended to start the summary with "List of modules which/that"
    or "List of my ... modules" to make it clearer that the
    Acme::CPANModules module only contains a list of other modules, instead
    of an actual implementation.

    Some preferred examples:

    Some non-preferred examples:

  entry rating
    Should only be used for personal lists.

  module bundle name
    A distribution that contains several "Acme::CPANModules::*" modules
    should be named "Acme-CPANModulesBundle-*".

    In general, an "Acme::CPANModulesBundle::" module should be named like
    an "Acme::CPANModules::*" module. See recommendations in "module name".

  module bundle abstract



( run in 1.007 second using v1.01-cache-2.11-cpan-39bf76dae61 )