severity = 1
verbose  = 8

# Allows us to set use strict;use warnings before package keyword
[-Modules::RequireExplicitPackage]
[Lax::RequireExplicitPackage::ExceptForPragmata]
# make scripts - like t/ - exempt from this policy
exempt_scripts = 1

# this is what we *use* to make this module work...
[-ClassHierarchies::ProhibitAutoloading]

# this is the structure for the version modules..
[-NamingConventions::Capitalization]

# Until we get a proper working perltidyrc
[-CodeLayout::RequireTidyCode]

# "noisy" quotes are totally fine.
[-ValuesAndExpressions::ProhibitNoisyQuotes]
[-ValuesAndExpressions::ProhibitEmptyQuotes]
[-Lax::ProhibitEmptyQuotes::ExceptAsFallback]

[-Miscellanea::RequireRcsKeywords]
[-Modules::RequireVersionVar]
[-BuiltinFunctions::ProhibitUselessTopic]

[TestingAndDebugging::RequireUseStrict]
equivalent_modules = common::sense strictures Moose
[TestingAndDebugging::RequireUseWarnings]
equivalent_modules = common::sense Moose

# We are simply *fine* with subs sometimes not requiring a final return
[-Subroutines::RequireFinalReturn]
# We are fine with something explicitly returning 'undef'
[-Subroutines::ProhibitExplicitReturnUndef]

[ControlStructures::ProhibitPostfixControls]
allow = for if

[-Variables::RequireLocalizedPunctuationVars]
[Variables::ProhibitPunctuationVars]
allow = $@ $! $?

[Documentation::RequirePodSections]
lib_sections = NAME | SYNOPSIS | DESCRIPTION | METHODS | COPYRIGHT AND LICENSE | AUTHOR
