Package Validator Rules
Package Validator Rules
There are 4 different types of Package Validator rules:
Requirements
Requirements represent the minimum quality of a package that is acceptable. When a package version has failed requirements, the package version requires fixing and/or response by the maintainer. Provided a Requirement has flagged correctly, it must be fixed before the package version can be approved. The exact same version should be uploaded during moderation review.
CPMR0001 - Copyright Character Count Below 4 (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0001
CPMR0002 - Description Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0002
CPMR0003 - Install Script Named Incorrectly (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0003
CPMR0004 - Do Not Package Internal Files (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0004
CPMR0005 - LICENSE.txt file missing when binaries included (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0005
CPMR0006 - VERIFICATION.txt file missing when binaries included (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0006
CPMR0007 - License Url Missing / License Acceptance is True (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0007
CPMR0008 - Portable Package Uses Program Files (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0008
CPMR0009 - ProjectUrl Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0009
CPMR0010 - Script Contains Choco Commands (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0010
CPMR0011 - Script Imports Chocolatey Module (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0011
CPMR0012 - Script Uses Internal Variables (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0012
CPMR0013 - Source Control Files Are Packaged (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0013
CPMR0014 - Tags Have Commas (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0014
CPMR0015 - Uninstall Script Named Incorrectly (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0015
CPMR0016 - Script Contains Usage of Installation Arguments (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0016
CPMR0017 - Deprecated Packages Must Have A Dependency (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0017
CPMR0018 - Install Script Shouldn't Call Uninstall Script (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0018
CPMR0019 - Nuspec Contains Templated Values (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0019
CPMR0020 - Nuspec Contains Email (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0020
CPMR0021 - Operating System Index Files are packaged (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0021
CPMR0022 - Comments Are Not Cleaned Up (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0022
CPMR0023 - Tags Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0023
CPMR0024 - Prerelease information shouldn't be included as part of Package Id (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0024
CPMR0025 - Source Control Ignore Files Are Packaged (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0025
CPMR0026 - Description Character Count Above 4000 (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0026
CPMR0027 - Checksum Should Be Used (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0027
CPMR0028 - Scripts Do Not Download Software From FossHub (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0028
CPMR0029 - Package Id Does Not End With .config (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0029
CPMR0030 - Description Contains Invalid Markdown Heading (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0030
CPMR0032 - Description Character Count Below 30 (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0032
CPMR0071 - Script uses commercial cmdlets (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0071
CPMR0072 - Usage of Private Environment Variables
Information on how to remediate the Chocolatey Package Moderation Rule 0072
CPMR0073 - Script do not validate downloaded files
Information on how to remediate the Chocolatey Package Moderation Rule 0073
CPMR0074 - Dependency On Hook Package (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0074
CPMR0075 - Script uses GitHub Comment assets (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0075
Guidelines
Guidelines are strong suggestions that improve the quality of a package version. These are considered something to fix for next time to increase the quality of the package. Over time Guidelines can become Requirements. A package version can be approved without addressing Guideline comments but will reduce the quality of the package.
CPMR0033 - IconUrl Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0033
CPMR0034 - Use of SourceForge (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0034
CPMR0035 - Use of Get-BinRoot (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0035
CPMR0036 - Install-BinFile With No Remove-BinFile (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0036
CPMR0037 - Custom Action In Install With No Uninstall (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0037
CPMR0038 - LicenseUrl Matches ProjectUrl (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0038
CPMR0039 - LicenseUrl Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0039
CPMR0040 - PackageSourceUrl Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0040
CPMR0041 - ProjectSourceUrl Matches ProjectUrl (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0041
CPMR0042 - ReleaseNotes Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0042
CPMR0043 - Script Is Too Long (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0043
CPMR0044 - Script Contains Install-ChocolateyDesktopLink (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0044
CPMR0045 - Script Contains Write-Chocolatey* Method (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0045
CPMR0046 - Script Contains Start-Process (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0046
CPMR0047 - Summary Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0047
CPMR0048 - Tags Contain Chocolatey (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0048
CPMR0049 - Title Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0049
CPMR0050 - Title Matches Id (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0050
CPMR0051 - More Than 3 Installation Scripts (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0051
CPMR0052 - Dependency With No Version (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0052
CPMR0053 - Deprecated Package Title Should Start With [Deprecated] (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0053
CPMR0054 - Nuspec File Should Be UTF-8 (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0054
CPMR0055 - Script Uses Custom Downloaders (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0055
CPMR0056 - Invalid URL (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0056
Suggestions
Suggestions are either newly introduced items that will later become Guidelines or items that don’t carry enough weight to become a Guideline. Either way, they should be considered. A package version can be approved without addressing Suggestion comments.
CPMR0057 - Nuspec Enhancements Missing (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0057
CPMR0058 - Use PNG or SVG for package icons (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0058
CPMR0059 - Don't Use Get-WmiObject For Finding Installed Packages (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0059
Notes
Notes typically flag things for both you and the reviewer to go over. Sometimes this is the use of things that may or may not be necessary given the constraints of what you are trying to do and/or are harder for automation to flag for other reasons. Items found in Notes might be Requirements depending on the context. A package version can be approved without addressing Note comments.
CPMR0031 - Invalid URL (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0031
CPMR0060 - Binaries Included (package)
Information on how to remediate the Chocolatey Package Moderation Rule 0060
CPMR0061 - Id Contains "." (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0061
CPMR0062 - Chocolatey Dependency (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0062
CPMR0063 - Usage of WScript (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0063
CPMR0064 - Usage of .CreateShortcut (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0064
CPMR0065 - Usage of Rundll32 (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0065
CPMR0066 - Usage of msiexec (script)
Information on how to remediate the Chocolatey Package Moderation Rule 0066
CPMR0067 - notSilent tag is being used (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0067
CPMR0068 - Author Does Not Match Maintainer (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0068
CPMR0069 - Package Id is too long, and doesn't contain dashes (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0069
CPMR0070 - Package Id uses underscores (nuspec)
Information on how to remediate the Chocolatey Package Moderation Rule 0070