NAME
conformance - Check a repository against its flavor of the standards, and bring it up to date
VERSION
version 0.001
SYNOPSIS
conformance check [--root DIR] [--json] [--offline] [--cache DIR] [--standards DIR]
conformance update [--root DIR] [--dry-run] [--json] [--offline] [--cache DIR] [--standards DIR]
conformance help
DESCRIPTION
Reads .conformance.yml at the root of a checkout, fetches the standards that it names, and runs the checks of its flavor. Dist::Conformance says what the pieces are, Dist::Conformance::Config what .conformance.yml holds, and Dist::Conformance::Check what each check looks at.
FUNCTIONS
main
(@arguments). Runs the program, and returns its exit status.
report_check
($conformance, \%options). The output of check, and the exit status.
report_update
($conformance, \%options). The output of update, and the exit status.
heading
($conformance). The first line of a report: the flavor and the source.
json_of
($conformance, %fields). The JSON of a report.
show_synopsis
($status). Prints the synopsis, to standard output for help and to standard error otherwise, and returns $status.
COMMANDS
- check
-
Prints one line for each check of the flavor: its status, its name and the detail, then a count of each status. Exits 1 when a check fails, and 0 otherwise, so
infoandskipdo not fail a run. - update
-
Fetches the latest standards, and applies every automatic fix: it writes the files that the checks can write, and installs the git hooks. Prints one line for each change, and each thing that only a person can do. With
--dry-runit changes nothing, and prints what it would change. Exits 0 when it ran, whatever it left for a person; runcheckafterwards to see what still fails. - help
-
Prints this.
OPTIONS
- --root DIR
-
The checkout. Default the current directory.
- --json
-
Prints the results as one JSON object instead:
command,flavor,source, andresults, which is the array that "check" in Dist::Conformance or "update" in Dist::Conformance returns. Forcheckit hasfailedtoo, and forupdate,dry_run. - --dry-run
-
For
update: write nothing. - --offline
-
Do not fetch a git source; use the copy in the cache, and fail when there is none.
- --cache DIR
-
The directory of the cached clones. Default dist-conformance under
$XDG_CACHE_HOME, or ~/.cache. - --standards DIR
-
Read the standards from DIR instead of the
gitordirectorythat .conformance.yml names, keeping itspath. For trying a change to the standards before you push it.
EXIT STATUS
0 when it ran and nothing failed, 1 when check found a failure, and 2 when it could not run: a bad option, a missing or invalid .conformance.yml or flavor, or a fetch that failed. The reason goes to standard error.
SEE ALSO
Please see those modules/websites for more information related to this module.
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/Troglodyne-Internet-Widgets/Dist-Conformance/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHORS
Current Maintainers:
George S. Baugh <george@troglodyne.net>
COPYRIGHT AND LICENSE
Copyright (c) 2026 Troglodyne LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.