Kwalitee Issues

has_changelog

Add a Changelog (best named 'Changes') to the distribution. It should list at least major changes implemented in newer versions.

has_license_in_source_file

Add =head1 LICENSE and the text of the license to the main module in your code.

has_abstract_in_pod

Provide a short description in the NAME section of the pod (after the module name followed by a hyphen) at least for the main module of this distribution.

prereq_matches_use

List all used modules in META.yml requires

Error:

  • Class::Method::Modifiers
  • Mojo::Base
  • Mojo::Util
  • Package::Stash
  • Text::VisualPrintf
  • Text::VisualWidth::PP
  • Type::Tiny
  • Types::Standard

main_module_version_matches_dist_version

Make sure that the main module name and version are the same of the distribution.

meta_yml_declares_perl_version

If you are using Build.PL define the {requires}{perl} = VERSION field. If you are using MakeMaker (Makefile.PL) you should upgrade ExtUtils::MakeMaker to 6.48 and use MIN_PERL_VERSION parameter. Perl::MinimumVersion can help you determine which version of Perl your module needs.

has_meta_json

Add a META.json to the distribution. Your buildtool should be able to autogenerate it.

proper_libs

Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/Module.pm' for a module named 'Your::Module'. If you need to provide additional files, e.g. for testing, that should not be considered for Kwalitee, then you should look at the 'provides' map in META.yml to limit the files scanned; or use the 'no_index' map to exclude parts of the distribution.

Error: type_format/lib/Foo.pm

has_known_license_in_source_file

Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.

no_unauthorized_packages

Ask the owner of the distribution (the one who released it first, or the one who is designated in x_authority) to give you a (co-)maintainer's permission.

Error:

  • Foo

test_prereq_matches_use

List all modules used in the test suite in META.yml test_requires

Error:

  • Mojo::Loader
  • Mojo::Util
  • Text::CharWidth
  • Text::VisualPrintf
  • Text::VisualWidth::PP
  • Type::Tiny
  • Types::Standard

meta_yml_has_provides

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.

meta_yml_has_repository_resource

Add a 'repository' resource to the META.yml via 'meta_add' accessor (for Module::Build) or META_ADD parameter (for ExtUtils::MakeMaker).

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
Foo metacpan
Type::Guess metacpan
Type::Guess::Role::Date metacpan
Type::Guess::Role::Tiny metacpan
Type::Guess::Role::Unicode metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
README metacpan
dist.ini metacpan