NAME

App::Project::Doctor::Check::CpanReadiness - Pre-upload CPAN readiness check

DESCRIPTION

Performs a final pre-flight sweep: version format, Changes, MANIFEST, README presence, and basic Changes content.

MESSAGES

Code | Trigger                          | Resolution
-----|----------------------------------|-------------------------------------------
R001 | Version format invalid           | Use X.YY or X.YY.ZZ
R002 | Changes/MANIFEST/README missing  | Create the file
R003 | Changes has no version entries   | Add a changelog entry

FORMAL SPECIFICATION

check : Context -> [Finding]
check ctx ==
  version_check ctx
  ++ [file_check f | f <- REQUIRED_FILES]
  ++ changes_check ctx
  ++ (if no problems then [pass] else [])

AUTHOR

Nigel Horne <njh@nigelhorne.com>

LICENSE

Copyright (C) 2026 Nigel Horne. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.