in prereqs:
- do not list EUMM as a build prereq
- do not list Test::* as a runtime prereq
- Test::Prereq is a helpful developer tool, but do not ship this test!
- do not put author tests (pod syntax, perl critic, spelling etc) in
t/: keep them in xt/. and do not add their prereqs to the metadata.
legal:
the perl/perl_5 licence is a reasonable default if you don't have a preferred licence.
multiple perl versions:
travis can help with this - I'm not sure if we have a good document for perl travis testing yet but we ought to.
META:
people shouldn't be editing their META.* by hand: this is generated by authoring tools (either EUMM directly, or Dist::Zilla, App::ModuleBuildTiny etc). should link to the document(s) that describe how to declare metadata using those tools.
Changelog:
- "Changes" is the preferred filename
- every release should have an entry
- put most recent release first (therefore, sort in descending order by date/version)
as discussed in the meeting (2018-04-21, PTS 2018 Oslo):
- some of this is in the Berlin Consensus (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/berlin-consensus.md#recommended-practices-for-cpan-authors) -- we could explain in more detail what some of these points need
- the really basic stuff should be in perlnewmod.pod - link to that
- put a section at the top listing the things that are most important for beginners to pay attention to (metadata, declaring prereqs, Changes file, licence..)
- include directory trees containing templates for basic distributions using each of the major authoring tools (bare EUMM, Minilla, App::ModuleBuildTiny, Dist::Zilla, ...) -- or if this is already available in Module::Starter, link to that (okay this should be in perlnewmod instead)
- Test::Kwalitee exists, but https://cpants.cpanauthors.org/ has many more metrics, and lots of documentation about these best practices
- CPANTS as a service would be awesome - to upload works in progress to get critique
in prereqs:
- do not list EUMM as a build prereq
- do not list Test::* as a runtime prereq
- Test::Prereq is a helpful developer tool, but do not ship this test!
- do not put author tests (pod syntax, perl critic, spelling etc) in
t/: keep them in xt/. and do not add their prereqs to the metadata.
legal:
the perl/perl_5 licence is a reasonable default if you don't have a preferred licence.
multiple perl versions:
travis can help with this - I'm not sure if we have a good document for perl travis testing yet but we ought to.
META:
people shouldn't be editing their META.* by hand: this is generated by authoring tools (either EUMM directly, or Dist::Zilla, App::ModuleBuildTiny etc). should link to the document(s) that describe how to declare metadata using those tools.
Changelog:
- "Changes" is the preferred filename
- every release should have an entry
- put most recent release first (therefore, sort in descending order by date/version)
as discussed in the meeting (2018-04-21, PTS 2018 Oslo):
- some of this is in the Berlin Consensus (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/berlin-consensus.md#recommended-practices-for-cpan-authors) -- we could explain in more detail what some of these points need
- the really basic stuff should be in perlnewmod.pod - link to that
- put a section at the top listing the things that are most important for beginners to pay attention to (metadata, declaring prereqs, Changes file, licence..)
- include directory trees containing templates for basic distributions using each of the major authoring tools (bare EUMM, Minilla, App::ModuleBuildTiny, Dist::Zilla, ...) -- or if this is already available in Module::Starter, link to that (okay this should be in perlnewmod instead)
- Test::Kwalitee exists, but https://cpants.cpanauthors.org/ has many more metrics, and lots of documentation about these best practices
- CPANTS as a service would be awesome - to upload works in progress to get critique