NAME
dist-policyfiles - Generate CONTRIBUTING.md and SECURITY.md
SYNOPSIS
dist-policyfiles --module|-m MODULE --login|-l LOGINNAME
[--dir|-d DIR
--email|-e EMAILADDR --full_name FULL_NAME
--prefix|-p PREFIX --uncapitalize|-u
--sec_md_params|-s PARAMSTR --contrib_md_tmpl|-c FILENAME]
DESCRIPTION
This command line tool creates the policy files CONTRIBUTING.md and SECURITY.md. It is shipped with module Dist::PolicyFiles.
Options --module and --login are mandatory. If at least one of --email and --full_name is not specified, the script attempts to read the missing information from comments in HOME/.ssh/config. Refer to GitHub::Config::SSH::UserData for a description how this is done.
You can use the --prefix and --uncapitalize options to change how the repo name is generated. For more information, see the description of --sec_md_params.
For each option there is a one-letter abbreviation.
OPTIONS
Mandatory options
--loginLOGINNAME-lLOGINNAME-
Mandatory. User's github login name.
--moduleMODULENAME-mMODULENAME-
Mandatory. Module name.
Optional options
--contrib_md_tmplFILENAME-cFILENAME-
Optional. The name of a template file (see Text::Template) for the CONTRIBUTING.md. If this argument is not specified, then the internal default template is used.
--dirDIRNAME-dDIRNAME-
Optional. Directory where the policy files should be written. By default, this is the current working directory.
--emailEMAILADDRESS-eEMAILADDRESS-
Optional. If not specified, the script tries to read it from comments in HOME/.ssh/config (see GitHub::Config::SSH::UserData).
--full_nameFULLNAME-nFULLNAME-
Optional. User's full name. If not specified, the script tries to read it from comments in HOME/.ssh/config (refer to GitHub::Config::SSH::UserData).
--help-h-
Print this documentation, ignoring all other given options.
--prefixPREFIX-pPREFIX-
Optional. Prefix for repo name. Default is an empty string.
--sec_md_paramsPARAMETERLIST-sPARAMETERLIST-
Optional. A semicolon separated list of named parameters. These are exactly the same as those accepted by the
new()method of Software::Security::Policy::Individual.Example:
-s 'minimum_perl_version=5.8;timeframe=7 days;maintainer=John Doe <jd@ml.eu>'Defaults:
maintainer:-
Full name and email address of the user, in the same format as in the example above.
program-
Module name, see option
module. url-
https://github.com/LOGIN/REPO/blob/main/SECURITY.mdwhere:
LOGIN-
User's login name, see option
login. REPO-
The repo name is structured as follows:
The repo name begins with the value
prefix(if specified).The rest of the repo name is the module name where the double colons are replaced with hyphens.
If option
uncapitaliseis specified, the latter part of the repo name is changed to lower case.
To completely disable one of these arguments, set it to an empty string.
--uncapitalize-u-
Optional. Specify this option if your repo name is lower case.
--version-V-
Print this version information, ignoring all other given options (except for
--helpwhich has higher priority).Note: the one-letter abbreviation for this is upper case
-V.
SEE ALSO
Dist::PolicyFiles, GitHub::Config::SSH::UserData, Software::Security::Policy::Individual, Text::Template
AUTHOR
Klaus Rindfrey, <klausrin at cpan.org.eu>
LICENSE AND COPYRIGHT
This software is copyright (c) 2025 by Klaus Rindfrey.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.