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
--login
LOGINNAME
-l
LOGINNAME
-
Mandatory. User's github login name.
--module
MODULENAME
-m
MODULENAME
-
Mandatory. Module name.
Optional options
--contrib_md_tmpl
FILENAME
-c
FILENAME
-
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.
--dir
DIRNAME
-d
DIRNAME
-
Optional. Directory where the policy files should be written. By default, this is the current working directory.
--email
EMAILADDRESS
-e
EMAILADDRESS
-
Optional. If not specified, the script tries to read it from comments in HOME/.ssh/config (see GitHub::Config::SSH::UserData).
--full_name
FULLNAME
-n
FULLNAME
-
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.
--prefix
PREFIX
-p
PREFIX
-
Optional. Prefix for repo name. Default is an empty string.
--sec_md_params
PARAMETERLIST
-s
PARAMETERLIST
-
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.14;timeframe=10 days'
Defaults:
maintainer:
-
User's full name and email address, e.g.:
John Doe <jd@cpan.org>
program
-
Module name, see option
module
. url
-
https://github.com/LOGIN/REPO/blob/main/SECURITY.md
where:
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
uncapitalise
is 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
--help
which has higher priority).Note: the one-letter abbreviation for this is upper case
-V
.
SEE ALSO
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.