The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
.gitignore 02
.travis.yml 056
Build.PL 610
Changes 3189
Changes.deps 092
Changes.deps.all 0187
Changes.deps.dev 0112
LICENSE 33
MANIFEST 346
META.json 133440
META.yml 117329
Makefile.PL 084
README 264
dist.ini 26
layout/self_structure.dot 016
layout/self_structure.png --
lib/Test/File/ShareDir/Dist.pm 0114
lib/Test/File/ShareDir/Module.pm 0116
lib/Test/File/ShareDir/Object/Dist.pm 0264
lib/Test/File/ShareDir/Object/Inc.pm 0174
lib/Test/File/ShareDir/Object/Module.pm 0267
lib/Test/File/ShareDir/TempDirObject.pm 956
lib/Test/File/ShareDir.pm 18254
maint-travis-ci/README.mkdn 053
maint-travis-ci/before_script.pl 031
maint-travis-ci/branch_reset.pl 051
maint-travis-ci/create_github_repo.pl 038
maint-travis-ci/install_deps.pl 087
maint-travis-ci/install_deps_early.pl 047
maint-travis-ci/lib/tools.pm 0204
maint-travis-ci/merge_travis_yml.pl 031
maint-travis-ci/report_fail_ctx.pl 013
maint-travis-ci/script.pl 035
maint-travis-ci/sterilize_env.pl 023
maint-travis-ci/sync_tree.pl 061
maint-travis-ci/travis_enable.pl 088
maint-travis-ci/yamls/sterile.mkdn 054
maint-travis-ci/yamls/sterile.yaml 042
maint-travis-ci/yamls/sterile2.yaml 050
perlcritic.rc 52191
t/00-compile/lib_Test_File_ShareDir_Dist_pm.t 011
t/00-compile/lib_Test_File_ShareDir_Module_pm.t 011
t/00-compile/lib_Test_File_ShareDir_Object_Dist_pm.t 011
t/00-compile/lib_Test_File_ShareDir_Object_Inc_pm.t 011
t/00-compile/lib_Test_File_ShareDir_Object_Module_pm.t 011
t/00-compile/lib_Test_File_ShareDir_TempDirObject_pm.t 011
t/00-compile/lib_Test_File_ShareDir_pm.t 011
t/00-compile.t 740
t/00-report-prereqs.t 0233
t/000-report-versions-tiny.t 890
t/04_basic_simple.t 036
t/04_files/lib/Example.pm 09
t/04_files/share/afile 01
t/05_dist_dir_simple.t 031
t/05_files/share/afile 01
t/06_cwd_simple.t 046
t/06_files/lib/Example.pm 09
t/06_files/share/afile 01
weaver.ini 12
xt/release/cpan-changes.t 48
xt/release/distmeta.t 01
xt/release/kwalitee.t 72
xt/release/pod-coverage.t 01
xt/release/pod-syntax.t 01
64 files changed (This is a version diff) 5596329
@@ -0,0 +1,2 @@
+.build
+Test-File-ShareDir-*
@@ -0,0 +1,56 @@
+language: perl
+matrix:
+  allow_failures:
+    - perl: "5.8"
+    - env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+    - env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
+  include:
+    - perl: "5.8"
+      env:  STERILIZE_ENV=0
+    - perl: "5.10"
+      env:  STERILIZE_ENV=0
+    - perl: "5.12"
+      env:  STERILIZE_ENV=0
+    - perl: "5.14"
+      env:  STERILIZE_ENV=0
+    - perl: "5.16"
+      env:  STERILIZE_ENV=0
+    - perl: "5.18"
+      env:  STERILIZE_ENV=0
+    - perl: "5.19"
+      env:  STERILIZE_ENV=0
+    - perl: "5.8"
+      env:  STERILIZE_ENV=1
+    - perl: "5.10"
+      env:  STERILIZE_ENV=1
+    - perl: "5.12"
+      env:  STERILIZE_ENV=1
+    - perl: "5.14"
+      env:  STERILIZE_ENV=1
+    - perl: "5.18"
+      env:  STERILIZE_ENV=1
+    - perl: "5.19"
+      env:  STERILIZE_ENV=1
+    - perl: "5.19"
+      env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
+    - perl: "5.19"
+      env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+before_install:
+  - perlbrew list
+  - time perl ./maint-travis-ci/branch_reset.pl
+  - time perl ./maint-travis-ci/sterilize_env.pl
+install:
+  - time perl ./maint-travis-ci/install_deps_early.pl
+  - time perl ./maint-travis-ci/install_deps.pl
+before_script:
+  - time perl ./maint-travis-ci/before_script.pl
+script:
+  - time perl ./maint-travis-ci/script.pl
+after_failure:
+  - perl ./maint-travis-ci/report_fail_ctx.pl
+branches:
+  only:
+    - "master"
+    - "build/master"
+    - "releases"
+
@@ -1,61 +0,0 @@
-
-use strict;
-use warnings;
-
-use Module::Build 0.3601;
-
-
-my %module_build_args = (
-  "build_requires" => {
-    "Module::Build" => "0.4004"
-  },
-  "configure_requires" => {
-    "Module::Build" => "0.4004"
-  },
-  "dist_abstract" => "Create a Fake ShareDir for your modules for testing.",
-  "dist_author" => [
-    "Kent Fredric <kentnl\@cpan.org>"
-  ],
-  "dist_name" => "Test-File-ShareDir",
-  "dist_version" => "0.3.3",
-  "license" => "perl",
-  "module_name" => "Test::File::ShareDir",
-  "recommends" => {},
-  "recursive_test_files" => 1,
-  "requires" => {
-    "Carp" => 0,
-    "File::Copy::Recursive" => 0,
-    "File::ShareDir" => "1.00",
-    "File::Temp" => 0,
-    "Path::Tiny" => 0,
-    "perl" => "5.006",
-    "strict" => 0,
-    "warnings" => 0
-  },
-  "script_files" => [],
-  "test_requires" => {
-    "Cwd" => 0,
-    "File::Find" => 0,
-    "FindBin" => 0,
-    "Test::Fatal" => 0,
-    "Test::More" => "0.98"
-  }
-);
-
-
-unless ( eval { Module::Build->VERSION(0.4004) } ) {
-  my $tr = delete $module_build_args{test_requires};
-  my $br = $module_build_args{build_requires};
-  for my $mod ( keys %$tr ) {
-    if ( exists $br->{$mod} ) {
-      $br->{$mod} = $tr->{$mod} if $tr->{$mod} > $br->{$mod};
-    }
-    else {
-      $br->{$mod} = $tr->{$mod};
-    }
-  }
-}
-
-my $build = Module::Build->new(%module_build_args);
-
-$build->create_build_script;
@@ -1,42 +1,84 @@
 Release history for Test-File-ShareDir
 
+1.000000 2014-01-30T15:23:48Z
+ [00 Tooling and Version replacement]
+ - Switched to EUMM to accelerate clean-install time.
+ - Build-time requirements are now softened
+ - Readvertise higher requirements as recommendations
+ - version schema moved from x.y.z to x.YYYzzz and is the primary reason
+   for incrementing the major
+
+ [Dependencies::Stats]
+ - Dependencies changed since 0.4.1, see Changes.deps{,.all,.dev} for
+   details
+ - build: -1
+ - configure: +2 -1
+ - develop: +7 ↑1 -9
+ - test: +8 ↓1
+
+0.4.1 2013-11-21T06:51:24Z
+ [00 Trivial Doc Fix]
+ - Escaping of code containing > was done wrong.
+
+0.4.0 2013-11-21T06:38:44Z
+ [00 Major Changes]
+ - New Modules/Interfaces to make life easier for people who only need one
+   of (Dist|Module) shares.
+
+ [Dependencies::Noteworthy]
+ - use Class::Tiny
+ - use new MB and TestMore
+
+ [Dependencies::Stats]
+ - Dependencies changed since 0.3.3, see Changes.deps{,.all,.dev} for
+   details
+ - build: ↑1
+ - configure: ↑1
+ - develop: +46 -3
+ - runtime: +1
+ - test: +1 ↑1 -1
+
+ [Documentation]
+ - Encoding specified
+ - MetaPOD annotations added
+
+ [Packaging]
+ - use new MB syntax for fallback
+
+ [Tests]
+ - use Test::Compile::PerFile
+ - Regenerate ReportVersions::Tiny to not report develop deps.
+ - Regenerate CPAN::Changes test
+ - Regenerate Kwalitee test
+
 0.3.3 2013-04-03T11:32:08Z
  [!Noteable Changes]
  - Replace Path::Class with Path::Tiny
 
- [Dependencies::Added / runtime_requires]
- - Path::Tiny
+ [Dependencies::Noteworthy]
+ - use Path::Tiny
+ - stop using Path::Class::Dir
 
- [Dependencies::Removed / runtime_requires]
- - Path::Class::Dir
+ [Dependencies::Stats]
+ - Dependencies changed since 0.3.2, see Changes.deps{,.all,.dev} for
+   details
+ - runtime: +1 -1
 
 0.3.2 2013-04-03T07:03:58Z
  - Maintenance release for MB 0.4004
 
- [Dependencies::Added / develop_requires]
- - Pod::Coverage::TrustPod
- - Test::CPAN::Meta
- - Test::Pod 1.41
- - Test::Pod::Coverage 1.08
- - version 0.9901
-
- [Dependencies::Added / runtime_requires]
- - perl 5.006
+ [Dependencies::Noteworthy]
+ - 5.006 is now minimum
+ - upgrade MB and TM
 
- [Dependencies::Changed / build_requires]
- - Module::Build 0.3601 → 0.4004
-
- [Dependencies::Changed / configure_requires]
- - Module::Build 0.3601 → 0.4004
-
- [Dependencies::Changed / develop_recommends]
- - Dist::Zilla::PluginBundle::Author::KENTNL::Lite 0.01009803 → v1.3.0
-
- [Dependencies::Changed / develop_suggests]
- - Dist::Zilla::PluginBundle::Author::KENTNL 1.0.0 → v1.7.2
-
- [Dependencies::Changed / test_requires]
- - Test::More 0.96 → 0.98
+ [Dependencies::Stats]
+ - Dependencies changed since 0.3.1, see Changes.deps{,.all,.dev} for
+   details
+ - build: ↑1
+ - configure: ↑1
+ - develop: +5 ↑2
+ - runtime: +1
+ - test: ↑1
 
  [Documentation]
  - Reindent License
@@ -57,18 +99,29 @@ Release history for Test-File-ShareDir
  [Bugs]
  - Absolute paths were treated incorrectly as relative ones. Now using
    Path::Class properly which should fix this problem. Thanks to RJBS for
-   diagnosing and reporting this problem. 
+   diagnosing and reporting this problem.
 
- [Dependencies]
+ [Dependencies::Noteworthy]
  - test removed: English
 
+ [Dependencies::Stats]
+ - Dependencies changed since 0.3.0, see Changes.deps{,.all,.dev} for
+   details
+ - runtime: +2
+ - test: -1
+
  [Packaging]
  - Updated License ( Indentation, Address )
  - Extra tests moved to xt/
 
 0.3.0 2011-05-05T03:29:45Z
- [Dependencies::Testing]
- - Now requires Cwd as provided by File-Spec / PathTools.
+ [Dependencies::Noteworthy]
+ - For testing, Now requires Cwd as provided by File-Spec / PathTools.
+
+ [Dependencies::Stats]
+ - Dependencies changed since 0.2.0, see Changes.deps{,.all,.dev} for
+   details
+ - test: +1
 
  [Documentation]
  - Improved primary documentation to explain import flags
@@ -108,6 +161,11 @@ Release history for Test-File-ShareDir
  - Slightly more strict, but just to stop you doing stupid things.
  - Module Loading is now slightly lazier.
 
+ [Dependencies::Stats]
+ - Dependencies changed since 0.1.0, see Changes.deps{,.all,.dev} for
+   details
+ - runtime: +1 -1
+
 0.1.0 2011-02-21T12:42:47Z
  - First version, released on an unsuspecting world.
  - Presently only supports module share-dirs.
@@ -0,0 +1,92 @@
+1.000000
+ [Added / configure recommends]
+ - ExtUtils::MakeMaker 6.86
+
+ [Added / configure requires]
+ - ExtUtils::MakeMaker 6.30
+
+ [Added / test recommends]
+ - CPAN::Meta
+ - CPAN::Meta::Requirements 2.120900
+ - ExtUtils::MakeMaker 6.86
+ - Test::More 1.001002
+
+ [Added / test requires]
+ - ExtUtils::MakeMaker
+ - File::Spec::Functions
+ - List::Util
+ - version
+
+ [Changed / test requires]
+ - Test::More 1.001002 → 0.96
+
+ [Removed / build requires]
+ - Module::Build 0.4202
+
+ [Removed / configure requires]
+ - Module::Build 0.4202
+
+0.4.1 2013-11-21T06:51:24Z
+
+0.4.0 2013-11-21T06:38:44Z
+ [Added / runtime requires]
+ - Class::Tiny
+
+ [Added / test requires]
+ - lib
+
+ [Changed / build requires]
+ - Module::Build 0.4004 → 0.4202
+
+ [Changed / configure requires]
+ - Module::Build 0.4004 → 0.4202
+
+ [Changed / test requires]
+ - Test::More 0.98 → 1.001002
+
+ [Removed / test requires]
+ - File::Find
+
+0.3.3 2013-04-03T11:32:08Z
+ [Added / runtime requires]
+ - Path::Tiny
+
+ [Removed / runtime requires]
+ - Path::Class::Dir
+
+0.3.2 2013-04-03T07:03:58Z
+ [Added / runtime requires]
+ - perl 5.006
+
+ [Changed / build requires]
+ - Module::Build 0.3601 → 0.4004
+
+ [Changed / configure requires]
+ - Module::Build 0.3601 → 0.4004
+
+ [Changed / test requires]
+ - Test::More 0.96 → 0.98
+
+0.3.1 2011-10-28T20:58:28Z
+ [Added / runtime requires]
+ - strict
+ - warnings
+
+ [Removed / test requires]
+ - English
+
+0.3.0 2011-05-05T03:29:45Z
+ [Added / test requires]
+ - Cwd
+
+0.2.0 2011-04-07T21:10:54Z
+
+0.1.2 2011-04-07T21:08:05Z
+
+0.1.1 2011-03-10T16:35:13Z
+ [Added / runtime requires]
+ - Path::Class::Dir
+
+ [Removed / runtime requires]
+ - Path::Class
+
@@ -0,0 +1,187 @@
+1.000000
+ [Added / configure recommends]
+ - ExtUtils::MakeMaker 6.86
+
+ [Added / configure requires]
+ - ExtUtils::MakeMaker 6.30
+
+ [Added / develop requires]
+ - Dist::Zilla::Plugin::Git::NextRelease
+ - Dist::Zilla::Plugin::Git::NextVersion::Sanitized
+ - Dist::Zilla::Plugin::MakeMaker
+ - Dist::Zilla::Plugin::MinimumPerl
+ - Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+ - Dist::Zilla::Plugin::RunExtraTests
+ - Dist::Zilla::Plugin::Test::ReportPrereqs
+
+ [Added / test recommends]
+ - CPAN::Meta
+ - CPAN::Meta::Requirements 2.120900
+ - ExtUtils::MakeMaker 6.86
+ - Test::More 1.001002
+
+ [Added / test requires]
+ - ExtUtils::MakeMaker
+ - File::Spec::Functions
+ - List::Util
+ - version
+
+ [Changed / develop requires]
+ - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001 → 2.011001
+
+ [Changed / test requires]
+ - Test::More 1.001002 → 0.96
+
+ [Removed / build requires]
+ - Module::Build 0.4202
+
+ [Removed / configure requires]
+ - Module::Build 0.4202
+
+ [Removed / develop requires]
+ - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
+ - Dist::Zilla::Plugin::CheckExtraTests
+ - Dist::Zilla::Plugin::Git::NextVersion
+ - Dist::Zilla::Plugin::ModuleBuild
+ - Dist::Zilla::Plugin::NextRelease
+ - Dist::Zilla::Plugin::Prereqs::MatchInstalled
+ - Dist::Zilla::Plugin::PruneCruft
+ - Dist::Zilla::Plugin::ReportVersions::Tiny
+ - version 0.9901
+
+0.4.1 2013-11-21T06:51:24Z
+
+0.4.0 2013-11-21T06:38:44Z
+ [Added / develop requires]
+ - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
+ - Dist::Zilla::Plugin::Authority 1.006
+ - Dist::Zilla::Plugin::AutoPrereqs
+ - Dist::Zilla::Plugin::CheckExtraTests
+ - Dist::Zilla::Plugin::ConfirmRelease
+ - Dist::Zilla::Plugin::EOLTests
+ - Dist::Zilla::Plugin::Git::Check
+ - Dist::Zilla::Plugin::Git::Commit
+ - Dist::Zilla::Plugin::Git::CommitBuild
+ - Dist::Zilla::Plugin::Git::GatherDir
+ - Dist::Zilla::Plugin::Git::NextVersion
+ - Dist::Zilla::Plugin::Git::Tag
+ - Dist::Zilla::Plugin::GithubMeta
+ - Dist::Zilla::Plugin::License
+ - Dist::Zilla::Plugin::Manifest
+ - Dist::Zilla::Plugin::ManifestSkip
+ - Dist::Zilla::Plugin::MetaConfig
+ - Dist::Zilla::Plugin::MetaData::BuiltWith
+ - Dist::Zilla::Plugin::MetaJSON
+ - Dist::Zilla::Plugin::MetaProvides::Package 1.14000001
+ - Dist::Zilla::Plugin::MetaTests
+ - Dist::Zilla::Plugin::MetaYAML
+ - Dist::Zilla::Plugin::ModuleBuild
+ - Dist::Zilla::Plugin::NextRelease
+ - Dist::Zilla::Plugin::PkgVersion
+ - Dist::Zilla::Plugin::PodCoverageTests
+ - Dist::Zilla::Plugin::PodSyntaxTests
+ - Dist::Zilla::Plugin::PodWeaver
+ - Dist::Zilla::Plugin::Prereqs
+ - Dist::Zilla::Plugin::Prereqs::MatchInstalled
+ - Dist::Zilla::Plugin::PruneCruft
+ - Dist::Zilla::Plugin::ReadmeAnyFromPod
+ - Dist::Zilla::Plugin::ReadmeFromPod
+ - Dist::Zilla::Plugin::ReportVersions::Tiny
+ - Dist::Zilla::Plugin::Test::CPAN::Changes
+ - Dist::Zilla::Plugin::Test::Compile::PerFile
+ - Dist::Zilla::Plugin::Test::Kwalitee
+ - Dist::Zilla::Plugin::Test::MinimumVersion
+ - Dist::Zilla::Plugin::Test::Perl::Critic
+ - Dist::Zilla::Plugin::TestRelease
+ - Dist::Zilla::Plugin::Twitter
+ - Dist::Zilla::Plugin::UploadToCPAN
+ - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001
+ - Test::CPAN::Changes 0.19
+ - Test::Kwalitee 1.12
+
+ [Added / develop suggests]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
+
+ [Added / runtime requires]
+ - Class::Tiny
+
+ [Added / test requires]
+ - lib
+
+ [Changed / build requires]
+ - Module::Build 0.4004 → 0.4202
+
+ [Changed / configure requires]
+ - Module::Build 0.4004 → 0.4202
+
+ [Changed / test requires]
+ - Test::More 0.98 → 1.001002
+
+ [Removed / develop recommends]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
+
+ [Removed / develop requires]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite
+
+ [Removed / develop suggests]
+ - Dist::Zilla::PluginBundle::Author::KENTNL v1.7.2
+
+ [Removed / test requires]
+ - File::Find
+
+0.3.3 2013-04-03T11:32:08Z
+ [Added / runtime requires]
+ - Path::Tiny
+
+ [Removed / runtime requires]
+ - Path::Class::Dir
+
+0.3.2 2013-04-03T07:03:58Z
+ [Added / develop requires]
+ - Pod::Coverage::TrustPod
+ - Test::CPAN::Meta
+ - Test::Pod 1.41
+ - Test::Pod::Coverage 1.08
+ - version 0.9901
+
+ [Added / runtime requires]
+ - perl 5.006
+
+ [Changed / build requires]
+ - Module::Build 0.3601 → 0.4004
+
+ [Changed / configure requires]
+ - Module::Build 0.3601 → 0.4004
+
+ [Changed / develop recommends]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite 0.01009803 → v1.3.0
+
+ [Changed / develop suggests]
+ - Dist::Zilla::PluginBundle::Author::KENTNL v1.0.0 → v1.7.2
+
+ [Changed / test requires]
+ - Test::More 0.96 → 0.98
+
+0.3.1 2011-10-28T20:58:28Z
+ [Added / runtime requires]
+ - strict
+ - warnings
+
+ [Removed / test requires]
+ - English
+
+0.3.0 2011-05-05T03:29:45Z
+ [Added / test requires]
+ - Cwd
+
+0.2.0 2011-04-07T21:10:54Z
+
+0.1.2 2011-04-07T21:08:05Z
+
+0.1.1 2011-03-10T16:35:13Z
+ [Added / runtime requires]
+ - Path::Class::Dir
+
+ [Removed / runtime requires]
+ - Path::Class
+
@@ -0,0 +1,112 @@
+1.000000
+ [Added / develop requires]
+ - Dist::Zilla::Plugin::Git::NextRelease
+ - Dist::Zilla::Plugin::Git::NextVersion::Sanitized
+ - Dist::Zilla::Plugin::MakeMaker
+ - Dist::Zilla::Plugin::MinimumPerl
+ - Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+ - Dist::Zilla::Plugin::RunExtraTests
+ - Dist::Zilla::Plugin::Test::ReportPrereqs
+
+ [Changed / develop requires]
+ - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001 → 2.011001
+
+ [Removed / develop requires]
+ - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
+ - Dist::Zilla::Plugin::CheckExtraTests
+ - Dist::Zilla::Plugin::Git::NextVersion
+ - Dist::Zilla::Plugin::ModuleBuild
+ - Dist::Zilla::Plugin::NextRelease
+ - Dist::Zilla::Plugin::Prereqs::MatchInstalled
+ - Dist::Zilla::Plugin::PruneCruft
+ - Dist::Zilla::Plugin::ReportVersions::Tiny
+ - version 0.9901
+
+0.4.1 2013-11-21T06:51:24Z
+
+0.4.0 2013-11-21T06:38:44Z
+ [Added / develop requires]
+ - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
+ - Dist::Zilla::Plugin::Authority 1.006
+ - Dist::Zilla::Plugin::AutoPrereqs
+ - Dist::Zilla::Plugin::CheckExtraTests
+ - Dist::Zilla::Plugin::ConfirmRelease
+ - Dist::Zilla::Plugin::EOLTests
+ - Dist::Zilla::Plugin::Git::Check
+ - Dist::Zilla::Plugin::Git::Commit
+ - Dist::Zilla::Plugin::Git::CommitBuild
+ - Dist::Zilla::Plugin::Git::GatherDir
+ - Dist::Zilla::Plugin::Git::NextVersion
+ - Dist::Zilla::Plugin::Git::Tag
+ - Dist::Zilla::Plugin::GithubMeta
+ - Dist::Zilla::Plugin::License
+ - Dist::Zilla::Plugin::Manifest
+ - Dist::Zilla::Plugin::ManifestSkip
+ - Dist::Zilla::Plugin::MetaConfig
+ - Dist::Zilla::Plugin::MetaData::BuiltWith
+ - Dist::Zilla::Plugin::MetaJSON
+ - Dist::Zilla::Plugin::MetaProvides::Package 1.14000001
+ - Dist::Zilla::Plugin::MetaTests
+ - Dist::Zilla::Plugin::MetaYAML
+ - Dist::Zilla::Plugin::ModuleBuild
+ - Dist::Zilla::Plugin::NextRelease
+ - Dist::Zilla::Plugin::PkgVersion
+ - Dist::Zilla::Plugin::PodCoverageTests
+ - Dist::Zilla::Plugin::PodSyntaxTests
+ - Dist::Zilla::Plugin::PodWeaver
+ - Dist::Zilla::Plugin::Prereqs
+ - Dist::Zilla::Plugin::Prereqs::MatchInstalled
+ - Dist::Zilla::Plugin::PruneCruft
+ - Dist::Zilla::Plugin::ReadmeAnyFromPod
+ - Dist::Zilla::Plugin::ReadmeFromPod
+ - Dist::Zilla::Plugin::ReportVersions::Tiny
+ - Dist::Zilla::Plugin::Test::CPAN::Changes
+ - Dist::Zilla::Plugin::Test::Compile::PerFile
+ - Dist::Zilla::Plugin::Test::Kwalitee
+ - Dist::Zilla::Plugin::Test::MinimumVersion
+ - Dist::Zilla::Plugin::Test::Perl::Critic
+ - Dist::Zilla::Plugin::TestRelease
+ - Dist::Zilla::Plugin::Twitter
+ - Dist::Zilla::Plugin::UploadToCPAN
+ - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001
+ - Test::CPAN::Changes 0.19
+ - Test::Kwalitee 1.12
+
+ [Added / develop suggests]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
+
+ [Removed / develop recommends]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0
+
+ [Removed / develop requires]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite
+
+ [Removed / develop suggests]
+ - Dist::Zilla::PluginBundle::Author::KENTNL v1.7.2
+
+0.3.3 2013-04-03T11:32:08Z
+
+0.3.2 2013-04-03T07:03:58Z
+ [Added / develop requires]
+ - Pod::Coverage::TrustPod
+ - Test::CPAN::Meta
+ - Test::Pod 1.41
+ - Test::Pod::Coverage 1.08
+ - version 0.9901
+
+ [Changed / develop recommends]
+ - Dist::Zilla::PluginBundle::Author::KENTNL::Lite 0.01009803 → v1.3.0
+
+ [Changed / develop suggests]
+ - Dist::Zilla::PluginBundle::Author::KENTNL v1.0.0 → v1.7.2
+
+0.3.1 2011-10-28T20:58:28Z
+
+0.3.0 2011-05-05T03:29:45Z
+
+0.2.0 2011-04-07T21:10:54Z
+
+0.1.2 2011-04-07T21:08:05Z
+
+0.1.1 2011-03-10T16:35:13Z
+
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
+This software is Copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
+This software is Copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
 
 This is free software, licensed under:
 
@@ -1,17 +1,52 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.012.
+.gitignore
 .perltidyrc
-Build.PL
+.travis.yml
 Changes
+Changes.deps
+Changes.deps.all
+Changes.deps.dev
 LICENSE
 MANIFEST
 META.json
 META.yml
+Makefile.PL
 README
 dist.ini
+layout/self_structure.dot
+layout/self_structure.png
 lib/Test/File/ShareDir.pm
+lib/Test/File/ShareDir/Dist.pm
+lib/Test/File/ShareDir/Module.pm
+lib/Test/File/ShareDir/Object/Dist.pm
+lib/Test/File/ShareDir/Object/Inc.pm
+lib/Test/File/ShareDir/Object/Module.pm
 lib/Test/File/ShareDir/TempDirObject.pm
+maint-travis-ci/README.mkdn
+maint-travis-ci/before_script.pl
+maint-travis-ci/branch_reset.pl
+maint-travis-ci/create_github_repo.pl
+maint-travis-ci/install_deps.pl
+maint-travis-ci/install_deps_early.pl
+maint-travis-ci/lib/tools.pm
+maint-travis-ci/merge_travis_yml.pl
+maint-travis-ci/report_fail_ctx.pl
+maint-travis-ci/script.pl
+maint-travis-ci/sterilize_env.pl
+maint-travis-ci/sync_tree.pl
+maint-travis-ci/travis_enable.pl
+maint-travis-ci/yamls/sterile.mkdn
+maint-travis-ci/yamls/sterile.yaml
+maint-travis-ci/yamls/sterile2.yaml
 perlcritic.rc
-t/00-compile.t
-t/000-report-versions-tiny.t
+t/00-compile/lib_Test_File_ShareDir_Dist_pm.t
+t/00-compile/lib_Test_File_ShareDir_Module_pm.t
+t/00-compile/lib_Test_File_ShareDir_Object_Dist_pm.t
+t/00-compile/lib_Test_File_ShareDir_Object_Inc_pm.t
+t/00-compile/lib_Test_File_ShareDir_Object_Module_pm.t
+t/00-compile/lib_Test_File_ShareDir_TempDirObject_pm.t
+t/00-compile/lib_Test_File_ShareDir_pm.t
+t/00-report-prereqs.t
 t/01_basic.t
 t/01_files/lib/Example.pm
 t/01_files/share/afile
@@ -20,6 +55,14 @@ t/02_files/share/afile
 t/03_cwd.t
 t/03_files/lib/Example.pm
 t/03_files/share/afile
+t/04_basic_simple.t
+t/04_files/lib/Example.pm
+t/04_files/share/afile
+t/05_dist_dir_simple.t
+t/05_files/share/afile
+t/06_cwd_simple.t
+t/06_files/lib/Example.pm
+t/06_files/share/afile
 weaver.ini
 xt/author/critic.t
 xt/release/cpan-changes.t
@@ -4,7 +4,7 @@
       "Kent Fredric <kentnl@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300032, CPAN::Meta::Converter version 2.130880",
+   "generated_by" : "Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.133380",
    "license" : [
       "perl_5"
    ],
@@ -19,35 +19,73 @@
       ]
    },
    "prereqs" : {
-      "build" : {
-         "requires" : {
-            "Module::Build" : "0.4004"
-         }
-      },
       "configure" : {
+         "recommends" : {
+            "ExtUtils::MakeMaker" : "6.86"
+         },
          "requires" : {
-            "Module::Build" : "0.4004"
+            "ExtUtils::MakeMaker" : "6.30"
          }
       },
       "develop" : {
-         "recommends" : {
-            "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "v1.3.0"
-         },
          "requires" : {
-            "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "0",
+            "Dist::Zilla::Plugin::Authority" : "1.006",
+            "Dist::Zilla::Plugin::AutoPrereqs" : "0",
+            "Dist::Zilla::Plugin::ConfirmRelease" : "0",
+            "Dist::Zilla::Plugin::EOLTests" : "0",
+            "Dist::Zilla::Plugin::Git::Check" : "0",
+            "Dist::Zilla::Plugin::Git::Commit" : "0",
+            "Dist::Zilla::Plugin::Git::CommitBuild" : "0",
+            "Dist::Zilla::Plugin::Git::GatherDir" : "0",
+            "Dist::Zilla::Plugin::Git::NextRelease" : "0",
+            "Dist::Zilla::Plugin::Git::NextVersion::Sanitized" : "0",
+            "Dist::Zilla::Plugin::Git::Tag" : "0",
+            "Dist::Zilla::Plugin::GithubMeta" : "0",
+            "Dist::Zilla::Plugin::License" : "0",
+            "Dist::Zilla::Plugin::MakeMaker" : "0",
+            "Dist::Zilla::Plugin::Manifest" : "0",
+            "Dist::Zilla::Plugin::ManifestSkip" : "0",
+            "Dist::Zilla::Plugin::MetaConfig" : "0",
+            "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0",
+            "Dist::Zilla::Plugin::MetaJSON" : "0",
+            "Dist::Zilla::Plugin::MetaProvides::Package" : "1.14000001",
+            "Dist::Zilla::Plugin::MetaTests" : "0",
+            "Dist::Zilla::Plugin::MetaYAML" : "0",
+            "Dist::Zilla::Plugin::MinimumPerl" : "0",
+            "Dist::Zilla::Plugin::PkgVersion" : "0",
+            "Dist::Zilla::Plugin::PodCoverageTests" : "0",
+            "Dist::Zilla::Plugin::PodSyntaxTests" : "0",
+            "Dist::Zilla::Plugin::PodWeaver" : "0",
+            "Dist::Zilla::Plugin::Prereqs" : "0",
+            "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : "0",
+            "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0",
+            "Dist::Zilla::Plugin::ReadmeFromPod" : "0",
+            "Dist::Zilla::Plugin::RunExtraTests" : "0",
+            "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0",
+            "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0",
+            "Dist::Zilla::Plugin::Test::Kwalitee" : "0",
+            "Dist::Zilla::Plugin::Test::MinimumVersion" : "0",
+            "Dist::Zilla::Plugin::Test::Perl::Critic" : "0",
+            "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0",
+            "Dist::Zilla::Plugin::TestRelease" : "0",
+            "Dist::Zilla::Plugin::Twitter" : "0",
+            "Dist::Zilla::Plugin::UploadToCPAN" : "0",
+            "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.011001",
             "Pod::Coverage::TrustPod" : "0",
+            "Test::CPAN::Changes" : "0.19",
             "Test::CPAN::Meta" : "0",
+            "Test::Kwalitee" : "1.12",
             "Test::Pod" : "1.41",
-            "Test::Pod::Coverage" : "1.08",
-            "version" : "0.9901"
+            "Test::Pod::Coverage" : "1.08"
          },
          "suggests" : {
-            "Dist::Zilla::PluginBundle::Author::KENTNL" : "v1.7.2"
+            "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "v1.3.0"
          }
       },
       "runtime" : {
          "requires" : {
             "Carp" : "0",
+            "Class::Tiny" : "0",
             "File::Copy::Recursive" : "0",
             "File::ShareDir" : "1.00",
             "File::Temp" : "0",
@@ -58,23 +96,53 @@
          }
       },
       "test" : {
+         "recommends" : {
+            "CPAN::Meta" : "0",
+            "CPAN::Meta::Requirements" : "2.120900",
+            "ExtUtils::MakeMaker" : "6.86",
+            "Test::More" : "1.001002"
+         },
          "requires" : {
             "Cwd" : "0",
-            "File::Find" : "0",
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec::Functions" : "0",
             "FindBin" : "0",
+            "List::Util" : "0",
             "Test::Fatal" : "0",
-            "Test::More" : "0.98"
+            "Test::More" : "0.96",
+            "lib" : "0",
+            "version" : "0"
          }
       }
    },
    "provides" : {
       "Test::File::ShareDir" : {
          "file" : "lib/Test/File/ShareDir.pm",
-         "version" : "v0.3.3"
+         "version" : "1.000000"
+      },
+      "Test::File::ShareDir::Dist" : {
+         "file" : "lib/Test/File/ShareDir/Dist.pm",
+         "version" : "1.000000"
+      },
+      "Test::File::ShareDir::Module" : {
+         "file" : "lib/Test/File/ShareDir/Module.pm",
+         "version" : "1.000000"
+      },
+      "Test::File::ShareDir::Object::Dist" : {
+         "file" : "lib/Test/File/ShareDir/Object/Dist.pm",
+         "version" : "1.000000"
+      },
+      "Test::File::ShareDir::Object::Inc" : {
+         "file" : "lib/Test/File/ShareDir/Object/Inc.pm",
+         "version" : "1.000000"
+      },
+      "Test::File::ShareDir::Object::Module" : {
+         "file" : "lib/Test/File/ShareDir/Object/Module.pm",
+         "version" : "1.000000"
       },
       "Test::File::ShareDir::TempDirObject" : {
          "file" : "lib/Test/File/ShareDir/TempDirObject.pm",
-         "version" : "v0.3.3"
+         "version" : "1.000000"
       }
    },
    "release_status" : "stable",
@@ -89,75 +157,141 @@
          "web" : "https://github.com/kentfredric/Test-File-ShareDir"
       }
    },
-   "version" : "0.3.3",
+   "version" : "1.000000",
    "x_BuiltWith" : {
       "modules" : {
-         "Carp" : "1.28",
+         "CPAN::Meta" : "2.133380",
+         "CPAN::Meta::Requirements" : "2.125",
+         "Carp" : "1.32",
+         "Class::Tiny" : "0.014",
          "Cwd" : "3.40",
-         "Dist::Zilla::PluginBundle::Author::KENTNL" : "1.7.2",
-         "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "NA(possibly not installed)",
+         "Dist::Zilla::Plugin::Authority" : "1.006",
+         "Dist::Zilla::Plugin::AutoPrereqs" : "5.012",
+         "Dist::Zilla::Plugin::ConfirmRelease" : "5.012",
+         "Dist::Zilla::Plugin::EOLTests" : "0.02",
+         "Dist::Zilla::Plugin::Git::Check" : "2.019",
+         "Dist::Zilla::Plugin::Git::Commit" : "2.019",
+         "Dist::Zilla::Plugin::Git::CommitBuild" : "2.019",
+         "Dist::Zilla::Plugin::Git::GatherDir" : "2.019",
+         "Dist::Zilla::Plugin::Git::NextRelease" : "0.002001",
+         "Dist::Zilla::Plugin::Git::NextVersion::Sanitized" : "0.001000",
+         "Dist::Zilla::Plugin::Git::Tag" : "2.019",
+         "Dist::Zilla::Plugin::GithubMeta" : "0.42",
+         "Dist::Zilla::Plugin::License" : "5.012",
+         "Dist::Zilla::Plugin::MakeMaker" : "5.012",
+         "Dist::Zilla::Plugin::Manifest" : "5.012",
+         "Dist::Zilla::Plugin::ManifestSkip" : "5.012",
+         "Dist::Zilla::Plugin::MetaConfig" : "5.012",
+         "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0.04000002",
+         "Dist::Zilla::Plugin::MetaJSON" : "5.012",
+         "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000003",
+         "Dist::Zilla::Plugin::MetaTests" : "5.012",
+         "Dist::Zilla::Plugin::MetaYAML" : "5.012",
+         "Dist::Zilla::Plugin::MinimumPerl" : "1.003",
+         "Dist::Zilla::Plugin::PkgVersion" : "5.012",
+         "Dist::Zilla::Plugin::PodCoverageTests" : "5.012",
+         "Dist::Zilla::Plugin::PodSyntaxTests" : "5.012",
+         "Dist::Zilla::Plugin::PodWeaver" : "4.005",
+         "Dist::Zilla::Plugin::Prereqs" : "5.012",
+         "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : "0.001000",
+         "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.133360",
+         "Dist::Zilla::Plugin::ReadmeFromPod" : "0.21",
+         "Dist::Zilla::Plugin::RunExtraTests" : "0.016",
+         "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008",
+         "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0.001001",
+         "Dist::Zilla::Plugin::Test::Kwalitee" : "2.07",
+         "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000005",
+         "Dist::Zilla::Plugin::Test::Perl::Critic" : "2.112410",
+         "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.013",
+         "Dist::Zilla::Plugin::TestRelease" : "5.012",
+         "Dist::Zilla::Plugin::Twitter" : "0.025",
+         "Dist::Zilla::Plugin::UploadToCPAN" : "5.012",
+         "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.011001",
+         "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "1.7.2",
+         "ExtUtils::MakeMaker" : "6.86",
          "File::Copy::Recursive" : "0.38",
-         "File::Find" : "1.23",
          "File::ShareDir" : "1.03",
-         "File::Temp" : "0.23",
+         "File::Spec::Functions" : "3.40",
+         "File::Temp" : "0.2304",
          "FindBin" : "1.51",
-         "Module::Build" : "0.4004",
-         "Path::Tiny" : "0.017",
-         "Pod::Coverage::TrustPod" : "0.100002",
-         "Test::CPAN::Meta" : "0.22",
-         "Test::Fatal" : "0.010",
-         "Test::More" : "0.98",
-         "Test::Pod" : "1.46",
+         "List::Util" : "1.38",
+         "Path::Tiny" : "0.052",
+         "Pod::Coverage::TrustPod" : "0.100003",
+         "Test::CPAN::Changes" : "0.27",
+         "Test::CPAN::Meta" : "0.23",
+         "Test::Fatal" : "0.013",
+         "Test::Kwalitee" : "1.18",
+         "Test::More" : "1.001002",
+         "Test::Pod" : "1.48",
          "Test::Pod::Coverage" : "1.08",
-         "perl" : "NA(skipped: perl)",
-         "strict" : "1.07",
-         "version" : "0.9902",
-         "warnings" : "1.18"
+         "lib" : "0.63",
+         "strict" : "1.08",
+         "version" : "0.9907",
+         "warnings" : "1.21"
       },
       "perl" : {
-         "original" : "v5.17.11",
+         "original" : "v5.19.8",
          "qv" : 1,
          "version" : [
             5,
-            17,
-            11
+            19,
+            8
          ]
       },
       "perl-config" : {
-         "gccversion" : "4.7.2",
-         "git_commit_date" : "2013-04-03 10:11:16 +1300",
-         "git_commit_id" : "117af28243a5b43f9072467ac83dbe4d3a2a3d7d",
-         "git_describe" : "v5.17.10-50-g117af28",
+         "gccversion" : "4.7.3",
          "myarchname" : "x86_64-linux",
          "osname" : "linux"
       },
       "platform" : "linux",
-      "uname" : "Linux 3.8.2-gentoo x86_64 GenuineIntel GNU/Linux"
+      "uname" : "Linux 3.13.0-gentoo-r1 x86_64 GenuineIntel GNU/Linux"
    },
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.017011"
+         "version" : "5.019008"
       },
       "plugins" : [
          {
-            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
-            "name" : "@Author::KENTNL/Git::NextVersion",
-            "version" : "2.012"
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion::Sanitized",
+            "config" : {
+               "Dist::Zilla::Role::Version::Sanitize" : {
+                  "mantissa" : "6",
+                  "normal_form" : "numify"
+               }
+            },
+            "name" : "@Author::KENTNL/Git::NextVersion::Sanitized",
+            "version" : "0.001000"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@Author::KENTNL/MetaConfig",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
             "name" : "@Author::KENTNL/GithubMeta",
-            "version" : "0.28"
+            "version" : "0.42"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+            "config" : {
+               "Dist::Zilla::Plugin::MetaProvides::Package" : {
+                  "finder_objects" : [
+                     {
+                        "class" : "Dist::Zilla::Plugin::FinderCode",
+                        "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+                        "version" : "5.012"
+                     }
+                  ]
+               },
+               "Dist::Zilla::Role::MetaProvider::Provider" : {
+                  "inherit_missing" : "1",
+                  "inherit_version" : "1",
+                  "meta_noindex" : "1"
+               }
+            },
             "name" : "@Author::KENTNL/MetaProvides::Package",
-            "version" : "1.14000001"
+            "version" : "1.15000003"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaData::BuiltWith",
@@ -179,57 +313,57 @@
                }
             },
             "name" : "@Author::KENTNL/MetaData::BuiltWith",
-            "version" : "0.03000100"
+            "version" : "0.04000002"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::GatherDir",
             "name" : "@Author::KENTNL/Git::GatherDir",
-            "version" : "2.012"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@Author::KENTNL/License",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@Author::KENTNL/MetaJSON",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@Author::KENTNL/MetaYAML",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@Author::KENTNL/Manifest",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaTests",
             "name" : "@Author::KENTNL/MetaTests",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "@Author::KENTNL/PodCoverageTests",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@Author::KENTNL/PodSyntaxTests",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny",
-            "name" : "@Author::KENTNL/ReportVersions::Tiny",
-            "version" : "1.08"
+            "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
+            "name" : "@Author::KENTNL/Test::ReportPrereqs",
+            "version" : "0.013"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Kwalitee",
             "name" : "@Author::KENTNL/Test::Kwalitee",
-            "version" : "2.03"
+            "version" : "2.07"
          },
          {
             "class" : "Dist::Zilla::Plugin::EOLTests",
@@ -239,12 +373,35 @@
          {
             "class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
             "name" : "@Author::KENTNL/Test::MinimumVersion",
-            "version" : "2.000004"
+            "version" : "2.000005"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : "@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM",
+            "version" : "5.012"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Test::Compile",
-            "name" : "@Author::KENTNL/Test::Compile",
-            "version" : "2.001"
+            "class" : "Dist::Zilla::Plugin::Test::Compile::PerFile",
+            "config" : {
+               "Dist::Zilla::Plugin::Test::Compile::PerFile" : {
+                  "file" : [
+                     "lib/Test/File/ShareDir.pm",
+                     "lib/Test/File/ShareDir/Dist.pm",
+                     "lib/Test/File/ShareDir/Module.pm",
+                     "lib/Test/File/ShareDir/Object/Dist.pm",
+                     "lib/Test/File/ShareDir/Object/Inc.pm",
+                     "lib/Test/File/ShareDir/Object/Module.pm",
+                     "lib/Test/File/ShareDir/TempDirObject.pm"
+                  ],
+                  "path_translator" : "base64_filter",
+                  "prefix" : "t/00-compile",
+                  "skip" : [],
+                  "test_template" : "01-basic.t.tpl",
+                  "xt_mode" : null
+               }
+            },
+            "name" : "@Author::KENTNL/Test::Compile::PerFile",
+            "version" : "0.001001"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::Perl::Critic",
@@ -252,77 +409,156 @@
             "version" : "2.112410"
          },
          {
-            "class" : "Dist::Zilla::Plugin::PruneCruft",
-            "name" : "@Author::KENTNL/PruneCruft",
-            "version" : "4.300032"
-         },
-         {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@Author::KENTNL/ManifestSkip",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@Author::KENTNL/PkgVersion",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
+            "config" : {
+               "Dist::Zilla::Plugin::PodWeaver" : {
+                  "finder" : [
+                     ":InstallModules",
+                     ":ExecFiles"
+                  ],
+                  "plugins" : [
+                     {
+                        "class" : "Pod::Weaver::Plugin::EnsurePod5",
+                        "name" : "@CorePrep/EnsurePod5",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::H1Nester",
+                        "name" : "@CorePrep/H1Nester",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Plugin::SingleEncoding",
+                        "name" : "-SingleEncoding",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Name",
+                        "name" : "Name",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Version",
+                        "name" : "Version",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "prelude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "SYNOPSIS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "DESCRIPTION",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "OVERVIEW",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Generic",
+                        "name" : "SIMPLE INTERFACE",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "METHODS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "ATTRIBUTES",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "PRIVATE_ATTRIBUTES",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Collect",
+                        "name" : "PRIVATE_METHODS",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Leftovers",
+                        "name" : "Leftovers",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Region",
+                        "name" : "postlude",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Authors",
+                        "name" : "Authors",
+                        "version" : "4.006"
+                     },
+                     {
+                        "class" : "Pod::Weaver::Section::Legal",
+                        "name" : "Legal",
+                        "version" : "4.006"
+                     }
+                  ]
+               }
+            },
             "name" : "@Author::KENTNL/PodWeaver",
-            "version" : "3.101641"
+            "version" : "4.005"
          },
          {
-            "class" : "Dist::Zilla::Plugin::NextRelease",
-            "name" : "@Author::KENTNL/NextRelease",
-            "version" : "4.300032"
+            "class" : "Dist::Zilla::Plugin::Git::NextRelease",
+            "name" : "@Author::KENTNL/Git::NextRelease",
+            "version" : "0.002001"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@Author::KENTNL/AutoPrereqs",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
             "config" : {
                "Dist::Zilla::Plugin::Prereqs" : {
                   "phase" : "develop",
-                  "type" : "requires"
-               }
-            },
-            "name" : "@Author::KENTNL/Prereqs/BundleDevelNeeds",
-            "version" : "4.300032"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::Prereqs",
-            "config" : {
-               "Dist::Zilla::Plugin::Prereqs" : {
-                  "phase" : "develop",
-                  "type" : "recommends"
+                  "type" : "suggests"
                }
             },
-            "name" : "@Author::KENTNL/Prereqs/BundleDevelRecommends",
-            "version" : "4.300032"
+            "name" : "@Author::KENTNL/BundleDevelSuggests",
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
             "config" : {
                "Dist::Zilla::Plugin::Prereqs" : {
                   "phase" : "develop",
-                  "type" : "suggests"
+                  "type" : "requires"
                }
             },
-            "name" : "@Author::KENTNL/Prereqs/BundleDevelSuggests",
-            "version" : "4.300032"
+            "name" : "@Author::KENTNL/BundleDevelRequires",
+            "version" : "5.012"
          },
          {
-            "class" : "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl",
-            "name" : "@Author::KENTNL/Author::KENTNL::MinimumPerl",
-            "version" : "1.7.2"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::Author::KENTNL::Prereqs::Latest::Selective",
-            "name" : "@Author::KENTNL/Author::KENTNL::Prereqs::Latest::Selective",
-            "version" : "0.1.0"
+            "class" : "Dist::Zilla::Plugin::MinimumPerl",
+            "name" : "@Author::KENTNL/MinimumPerl",
+            "version" : "1.003"
          },
          {
             "class" : "Dist::Zilla::Plugin::Authority",
@@ -330,79 +566,135 @@
             "version" : "1.006"
          },
          {
-            "class" : "Dist::Zilla::Plugin::ModuleBuild",
-            "name" : "@Author::KENTNL/ModuleBuild",
-            "version" : "4.300032"
+            "class" : "Dist::Zilla::Plugin::MakeMaker",
+            "name" : "@Author::KENTNL/MakeMaker",
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeFromPod",
             "name" : "@Author::KENTNL/ReadmeFromPod",
-            "version" : "0.18"
+            "version" : "0.21"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
             "name" : "@Author::KENTNL/ReadmeAnyFromPod",
-            "version" : "0.120120"
+            "version" : "0.133360"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
             "name" : "@Author::KENTNL/Test::CPAN::Changes",
-            "version" : "0.005"
+            "version" : "0.008"
          },
          {
-            "class" : "Dist::Zilla::Plugin::CheckExtraTests",
-            "name" : "@Author::KENTNL/CheckExtraTests",
-            "version" : "0.011"
+            "class" : "Dist::Zilla::Plugin::RunExtraTests",
+            "name" : "@Author::KENTNL/RunExtraTests",
+            "version" : "0.016"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@Author::KENTNL/TestRelease",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@Author::KENTNL/ConfirmRelease",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@Author::KENTNL/Git::Check",
-            "version" : "2.012"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
-            "name" : "@Author::KENTNL/Git::Tag/tag_master",
-            "version" : "2.012"
+            "name" : "@Author::KENTNL/tag_master",
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@Author::KENTNL/Git::Commit",
-            "version" : "2.012"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::CommitBuild",
             "name" : "@Author::KENTNL/Git::CommitBuild",
-            "version" : "2.012"
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
-            "name" : "@Author::KENTNL/Git::Tag/tag_release",
-            "version" : "2.012"
+            "name" : "@Author::KENTNL/tag_release",
+            "version" : "2.019"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@Author::KENTNL/UploadToCPAN",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Twitter",
             "name" : "@Author::KENTNL/Twitter",
-            "version" : "0.020"
+            "version" : "0.025"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : {
+                  "applyto_map" : [
+                     "build.requires = build.recommends",
+                     "test.requires = test.recommends",
+                     "runtime.requires = runtime.recommends",
+                     "configure.requires = configure.recommends",
+                     "develop.requires = develop.recommends"
+                  ],
+                  "applyto_phase" : [
+                     "build",
+                     "test",
+                     "runtime",
+                     "configure",
+                     "develop"
+                  ],
+                  "modules" : [
+                     "ExtUtils::MakeMaker",
+                     "Test::More"
+                  ]
+               }
+            },
+            "name" : "@Author::KENTNL/Prereqs::Recommend::MatchInstalled",
+            "version" : "0.001000"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled" : {
+                  "applyto_map" : [
+                     "develop.requires = develop.requires"
+                  ],
+                  "applyto_phase" : [
+                     "develop"
+                  ],
+                  "modules" : [
+                     "Dist::Zilla::PluginBundle::Author::KENTNL"
+                  ]
+               }
+            },
+            "name" : "@Author::KENTNL/always_latest_develop_bundle",
+            "version" : "0.001000"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "develop",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@Author::KENTNL/::Role::BundleDeps",
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaNoIndex",
             "name" : "MetaNoIndex",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -413,37 +705,52 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "4.300032"
+            "version" : "5.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "4.300032"
+            "version" : "5.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":AllFiles",
+            "version" : "5.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : ":NoFiles",
+            "version" : "5.012"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::FinderCode",
+            "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+            "version" : "5.012"
          }
       ],
       "zilla" : {
@@ -451,7 +758,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "4.300032"
+         "version" : "5.012"
       }
    },
    "x_authority" : "cpan:KENTNL"
@@ -4,15 +4,18 @@ author:
   - 'Kent Fredric <kentnl@cpan.org>'
 build_requires:
   Cwd: 0
-  File::Find: 0
+  ExtUtils::MakeMaker: 0
+  File::Spec::Functions: 0
   FindBin: 0
-  Module::Build: 0.4004
+  List::Util: 0
   Test::Fatal: 0
-  Test::More: 0.98
+  Test::More: 0.96
+  lib: 0
+  version: 0
 configure_requires:
-  Module::Build: 0.4004
+  ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300032, CPAN::Meta::Converter version 2.130880'
+generated_by: 'Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.133380'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -24,12 +27,28 @@ no_index:
 provides:
   Test::File::ShareDir:
     file: lib/Test/File/ShareDir.pm
-    version: v0.3.3
+    version: 1.000000
+  Test::File::ShareDir::Dist:
+    file: lib/Test/File/ShareDir/Dist.pm
+    version: 1.000000
+  Test::File::ShareDir::Module:
+    file: lib/Test/File/ShareDir/Module.pm
+    version: 1.000000
+  Test::File::ShareDir::Object::Dist:
+    file: lib/Test/File/ShareDir/Object/Dist.pm
+    version: 1.000000
+  Test::File::ShareDir::Object::Inc:
+    file: lib/Test/File/ShareDir/Object/Inc.pm
+    version: 1.000000
+  Test::File::ShareDir::Object::Module:
+    file: lib/Test/File/ShareDir/Object/Module.pm
+    version: 1.000000
   Test::File::ShareDir::TempDirObject:
     file: lib/Test/File/ShareDir/TempDirObject.pm
-    version: v0.3.3
+    version: 1.000000
 requires:
   Carp: 0
+  Class::Tiny: 0
   File::Copy::Recursive: 0
   File::ShareDir: 1.00
   File::Temp: 0
@@ -41,66 +60,125 @@ resources:
   bugtracker: https://github.com/kentfredric/Test-File-ShareDir/issues
   homepage: https://github.com/kentfredric/Test-File-ShareDir
   repository: https://github.com/kentfredric/Test-File-ShareDir.git
-version: 0.3.3
+version: 1.000000
 x_BuiltWith:
   modules:
-    Carp: 1.28
+    CPAN::Meta: 2.133380
+    CPAN::Meta::Requirements: 2.125
+    Carp: 1.32
+    Class::Tiny: 0.014
     Cwd: 3.40
-    Dist::Zilla::PluginBundle::Author::KENTNL: 1.7.2
-    Dist::Zilla::PluginBundle::Author::KENTNL::Lite: 'NA(possibly not installed)'
+    Dist::Zilla::Plugin::Authority: 1.006
+    Dist::Zilla::Plugin::AutoPrereqs: 5.012
+    Dist::Zilla::Plugin::ConfirmRelease: 5.012
+    Dist::Zilla::Plugin::EOLTests: 0.02
+    Dist::Zilla::Plugin::Git::Check: 2.019
+    Dist::Zilla::Plugin::Git::Commit: 2.019
+    Dist::Zilla::Plugin::Git::CommitBuild: 2.019
+    Dist::Zilla::Plugin::Git::GatherDir: 2.019
+    Dist::Zilla::Plugin::Git::NextRelease: 0.002001
+    Dist::Zilla::Plugin::Git::NextVersion::Sanitized: 0.001000
+    Dist::Zilla::Plugin::Git::Tag: 2.019
+    Dist::Zilla::Plugin::GithubMeta: 0.42
+    Dist::Zilla::Plugin::License: 5.012
+    Dist::Zilla::Plugin::MakeMaker: 5.012
+    Dist::Zilla::Plugin::Manifest: 5.012
+    Dist::Zilla::Plugin::ManifestSkip: 5.012
+    Dist::Zilla::Plugin::MetaConfig: 5.012
+    Dist::Zilla::Plugin::MetaData::BuiltWith: 0.04000002
+    Dist::Zilla::Plugin::MetaJSON: 5.012
+    Dist::Zilla::Plugin::MetaProvides::Package: 1.15000003
+    Dist::Zilla::Plugin::MetaTests: 5.012
+    Dist::Zilla::Plugin::MetaYAML: 5.012
+    Dist::Zilla::Plugin::MinimumPerl: 1.003
+    Dist::Zilla::Plugin::PkgVersion: 5.012
+    Dist::Zilla::Plugin::PodCoverageTests: 5.012
+    Dist::Zilla::Plugin::PodSyntaxTests: 5.012
+    Dist::Zilla::Plugin::PodWeaver: 4.005
+    Dist::Zilla::Plugin::Prereqs: 5.012
+    Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled: 0.001000
+    Dist::Zilla::Plugin::ReadmeAnyFromPod: 0.133360
+    Dist::Zilla::Plugin::ReadmeFromPod: 0.21
+    Dist::Zilla::Plugin::RunExtraTests: 0.016
+    Dist::Zilla::Plugin::Test::CPAN::Changes: 0.008
+    Dist::Zilla::Plugin::Test::Compile::PerFile: 0.001001
+    Dist::Zilla::Plugin::Test::Kwalitee: 2.07
+    Dist::Zilla::Plugin::Test::MinimumVersion: 2.000005
+    Dist::Zilla::Plugin::Test::Perl::Critic: 2.112410
+    Dist::Zilla::Plugin::Test::ReportPrereqs: 0.013
+    Dist::Zilla::Plugin::TestRelease: 5.012
+    Dist::Zilla::Plugin::Twitter: 0.025
+    Dist::Zilla::Plugin::UploadToCPAN: 5.012
+    Dist::Zilla::PluginBundle::Author::KENTNL: 2.011001
+    Dist::Zilla::PluginBundle::Author::KENTNL::Lite: 1.7.2
+    ExtUtils::MakeMaker: 6.86
     File::Copy::Recursive: 0.38
-    File::Find: 1.23
     File::ShareDir: 1.03
-    File::Temp: 0.23
+    File::Spec::Functions: 3.40
+    File::Temp: 0.2304
     FindBin: 1.51
-    Module::Build: 0.4004
-    Path::Tiny: 0.017
-    Pod::Coverage::TrustPod: 0.100002
-    Test::CPAN::Meta: 0.22
-    Test::Fatal: 0.010
-    Test::More: 0.98
-    Test::Pod: 1.46
+    List::Util: 1.38
+    Path::Tiny: 0.052
+    Pod::Coverage::TrustPod: 0.100003
+    Test::CPAN::Changes: 0.27
+    Test::CPAN::Meta: 0.23
+    Test::Fatal: 0.013
+    Test::Kwalitee: 1.18
+    Test::More: 1.001002
+    Test::Pod: 1.48
     Test::Pod::Coverage: 1.08
-    perl: 'NA(skipped: perl)'
-    strict: 1.07
-    version: 0.9902
-    warnings: 1.18
+    lib: 0.63
+    strict: 1.08
+    version: 0.9907
+    warnings: 1.21
   perl:
-    original: v5.17.11
+    original: v5.19.8
     qv: 1
     version:
       - 5
-      - 17
-      - 11
+      - 19
+      - 8
   perl-config:
-    gccversion: 4.7.2
-    git_commit_date: '2013-04-03 10:11:16 +1300'
-    git_commit_id: 117af28243a5b43f9072467ac83dbe4d3a2a3d7d
-    git_describe: v5.17.10-50-g117af28
+    gccversion: 4.7.3
     myarchname: x86_64-linux
     osname: linux
   platform: linux
-  uname: 'Linux 3.8.2-gentoo x86_64 GenuineIntel GNU/Linux'
+  uname: 'Linux 3.13.0-gentoo-r1 x86_64 GenuineIntel GNU/Linux'
 x_Dist_Zilla:
   perl:
-    version: 5.017011
+    version: 5.019008
   plugins:
     -
-      class: Dist::Zilla::Plugin::Git::NextVersion
-      name: '@Author::KENTNL/Git::NextVersion'
-      version: 2.012
+      class: Dist::Zilla::Plugin::Git::NextVersion::Sanitized
+      config:
+        Dist::Zilla::Role::Version::Sanitize:
+          mantissa: 6
+          normal_form: numify
+      name: '@Author::KENTNL/Git::NextVersion::Sanitized'
+      version: 0.001000
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@Author::KENTNL/MetaConfig'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: '@Author::KENTNL/GithubMeta'
-      version: 0.28
+      version: 0.42
     -
       class: Dist::Zilla::Plugin::MetaProvides::Package
+      config:
+        Dist::Zilla::Plugin::MetaProvides::Package:
+          finder_objects:
+            -
+              class: Dist::Zilla::Plugin::FinderCode
+              name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+              version: 5.012
+        Dist::Zilla::Role::MetaProvider::Provider:
+          inherit_missing: 1
+          inherit_version: 1
+          meta_noindex: 1
       name: '@Author::KENTNL/MetaProvides::Package'
-      version: 1.14000001
+      version: 1.15000003
     -
       class: Dist::Zilla::Plugin::MetaData::BuiltWith
       config:
@@ -117,47 +195,47 @@ x_Dist_Zilla:
               - '-i'
             uname_call: uname
       name: '@Author::KENTNL/MetaData::BuiltWith'
-      version: 0.03000100
+      version: 0.04000002
     -
       class: Dist::Zilla::Plugin::Git::GatherDir
       name: '@Author::KENTNL/Git::GatherDir'
-      version: 2.012
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::License
       name: '@Author::KENTNL/License'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@Author::KENTNL/MetaJSON'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@Author::KENTNL/MetaYAML'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@Author::KENTNL/Manifest'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::MetaTests
       name: '@Author::KENTNL/MetaTests'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: '@Author::KENTNL/PodCoverageTests'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@Author::KENTNL/PodSyntaxTests'
-      version: 4.300032
+      version: 5.012
     -
-      class: Dist::Zilla::Plugin::ReportVersions::Tiny
-      name: '@Author::KENTNL/ReportVersions::Tiny'
-      version: 1.08
+      class: Dist::Zilla::Plugin::Test::ReportPrereqs
+      name: '@Author::KENTNL/Test::ReportPrereqs'
+      version: 0.013
     -
       class: Dist::Zilla::Plugin::Test::Kwalitee
       name: '@Author::KENTNL/Test::Kwalitee'
-      version: 2.03
+      version: 2.07
     -
       class: Dist::Zilla::Plugin::EOLTests
       name: '@Author::KENTNL/EOLTests'
@@ -165,135 +243,257 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::Test::MinimumVersion
       name: '@Author::KENTNL/Test::MinimumVersion'
-      version: 2.000004
+      version: 2.000005
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: '@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM'
+      version: 5.012
     -
-      class: Dist::Zilla::Plugin::Test::Compile
-      name: '@Author::KENTNL/Test::Compile'
-      version: 2.001
+      class: Dist::Zilla::Plugin::Test::Compile::PerFile
+      config:
+        Dist::Zilla::Plugin::Test::Compile::PerFile:
+          file:
+            - lib/Test/File/ShareDir.pm
+            - lib/Test/File/ShareDir/Dist.pm
+            - lib/Test/File/ShareDir/Module.pm
+            - lib/Test/File/ShareDir/Object/Dist.pm
+            - lib/Test/File/ShareDir/Object/Inc.pm
+            - lib/Test/File/ShareDir/Object/Module.pm
+            - lib/Test/File/ShareDir/TempDirObject.pm
+          path_translator: base64_filter
+          prefix: t/00-compile
+          skip: []
+          test_template: 01-basic.t.tpl
+          xt_mode: ~
+      name: '@Author::KENTNL/Test::Compile::PerFile'
+      version: 0.001001
     -
       class: Dist::Zilla::Plugin::Test::Perl::Critic
       name: '@Author::KENTNL/Test::Perl::Critic'
       version: 2.112410
     -
-      class: Dist::Zilla::Plugin::PruneCruft
-      name: '@Author::KENTNL/PruneCruft'
-      version: 4.300032
-    -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@Author::KENTNL/ManifestSkip'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@Author::KENTNL/PkgVersion'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::PodWeaver
+      config:
+        Dist::Zilla::Plugin::PodWeaver:
+          finder:
+            - ':InstallModules'
+            - ':ExecFiles'
+          plugins:
+            -
+              class: Pod::Weaver::Plugin::EnsurePod5
+              name: '@CorePrep/EnsurePod5'
+              version: 4.006
+            -
+              class: Pod::Weaver::Plugin::H1Nester
+              name: '@CorePrep/H1Nester'
+              version: 4.006
+            -
+              class: Pod::Weaver::Plugin::SingleEncoding
+              name: '-SingleEncoding'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Name
+              name: Name
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Version
+              name: Version
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Region
+              name: prelude
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: SYNOPSIS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: DESCRIPTION
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: OVERVIEW
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Generic
+              name: 'SIMPLE INTERFACE'
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: METHODS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: ATTRIBUTES
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: PRIVATE_ATTRIBUTES
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Collect
+              name: PRIVATE_METHODS
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Leftovers
+              name: Leftovers
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Region
+              name: postlude
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Authors
+              name: Authors
+              version: 4.006
+            -
+              class: Pod::Weaver::Section::Legal
+              name: Legal
+              version: 4.006
       name: '@Author::KENTNL/PodWeaver'
-      version: 3.101641
+      version: 4.005
     -
-      class: Dist::Zilla::Plugin::NextRelease
-      name: '@Author::KENTNL/NextRelease'
-      version: 4.300032
+      class: Dist::Zilla::Plugin::Git::NextRelease
+      name: '@Author::KENTNL/Git::NextRelease'
+      version: 0.002001
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@Author::KENTNL/AutoPrereqs'
-      version: 4.300032
-    -
-      class: Dist::Zilla::Plugin::Prereqs
-      config:
-        Dist::Zilla::Plugin::Prereqs:
-          phase: develop
-          type: requires
-      name: '@Author::KENTNL/Prereqs/BundleDevelNeeds'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
           phase: develop
-          type: recommends
-      name: '@Author::KENTNL/Prereqs/BundleDevelRecommends'
-      version: 4.300032
+          type: suggests
+      name: '@Author::KENTNL/BundleDevelSuggests'
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
         Dist::Zilla::Plugin::Prereqs:
           phase: develop
-          type: suggests
-      name: '@Author::KENTNL/Prereqs/BundleDevelSuggests'
-      version: 4.300032
-    -
-      class: Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl
-      name: '@Author::KENTNL/Author::KENTNL::MinimumPerl'
-      version: 1.7.2
+          type: requires
+      name: '@Author::KENTNL/BundleDevelRequires'
+      version: 5.012
     -
-      class: Dist::Zilla::Plugin::Author::KENTNL::Prereqs::Latest::Selective
-      name: '@Author::KENTNL/Author::KENTNL::Prereqs::Latest::Selective'
-      version: 0.1.0
+      class: Dist::Zilla::Plugin::MinimumPerl
+      name: '@Author::KENTNL/MinimumPerl'
+      version: 1.003
     -
       class: Dist::Zilla::Plugin::Authority
       name: '@Author::KENTNL/Authority'
       version: 1.006
     -
-      class: Dist::Zilla::Plugin::ModuleBuild
-      name: '@Author::KENTNL/ModuleBuild'
-      version: 4.300032
+      class: Dist::Zilla::Plugin::MakeMaker
+      name: '@Author::KENTNL/MakeMaker'
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::ReadmeFromPod
       name: '@Author::KENTNL/ReadmeFromPod'
-      version: 0.18
+      version: 0.21
     -
       class: Dist::Zilla::Plugin::ReadmeAnyFromPod
       name: '@Author::KENTNL/ReadmeAnyFromPod'
-      version: 0.120120
+      version: 0.133360
     -
       class: Dist::Zilla::Plugin::Test::CPAN::Changes
       name: '@Author::KENTNL/Test::CPAN::Changes'
-      version: 0.005
+      version: 0.008
     -
-      class: Dist::Zilla::Plugin::CheckExtraTests
-      name: '@Author::KENTNL/CheckExtraTests'
-      version: 0.011
+      class: Dist::Zilla::Plugin::RunExtraTests
+      name: '@Author::KENTNL/RunExtraTests'
+      version: 0.016
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@Author::KENTNL/TestRelease'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@Author::KENTNL/ConfirmRelease'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@Author::KENTNL/Git::Check'
-      version: 2.012
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::Tag
-      name: '@Author::KENTNL/Git::Tag/tag_master'
-      version: 2.012
+      name: '@Author::KENTNL/tag_master'
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@Author::KENTNL/Git::Commit'
-      version: 2.012
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::CommitBuild
       name: '@Author::KENTNL/Git::CommitBuild'
-      version: 2.012
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::Git::Tag
-      name: '@Author::KENTNL/Git::Tag/tag_release'
-      version: 2.012
+      name: '@Author::KENTNL/tag_release'
+      version: 2.019
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@Author::KENTNL/UploadToCPAN'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::Twitter
       name: '@Author::KENTNL/Twitter'
-      version: 0.020
+      version: 0.025
+    -
+      class: Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+      config:
+        Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled:
+          applyto_map:
+            - 'build.requires = build.recommends'
+            - 'test.requires = test.recommends'
+            - 'runtime.requires = runtime.recommends'
+            - 'configure.requires = configure.recommends'
+            - 'develop.requires = develop.recommends'
+          applyto_phase:
+            - build
+            - test
+            - runtime
+            - configure
+            - develop
+          modules:
+            - ExtUtils::MakeMaker
+            - Test::More
+      name: '@Author::KENTNL/Prereqs::Recommend::MatchInstalled'
+      version: 0.001000
+    -
+      class: Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled
+      config:
+        Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled:
+          applyto_map:
+            - 'develop.requires = develop.requires'
+          applyto_phase:
+            - develop
+          modules:
+            - Dist::Zilla::PluginBundle::Author::KENTNL
+      name: '@Author::KENTNL/always_latest_develop_bundle'
+      version: 0.001000
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: develop
+          type: requires
+      name: '@Author::KENTNL/::Role::BundleDeps'
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::MetaNoIndex
       name: MetaNoIndex
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -301,34 +501,46 @@ x_Dist_Zilla:
           phase: runtime
           type: requires
       name: Prereqs
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 4.300032
+      version: 5.012
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: 4.300032
+      version: 5.012
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':AllFiles'
+      version: 5.012
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: ':NoFiles'
+      version: 5.012
+    -
+      class: Dist::Zilla::Plugin::FinderCode
+      name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+      version: 5.012
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 4.300032
+    version: 5.012
 x_authority: cpan:KENTNL
@@ -0,0 +1,84 @@
+
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.012.
+use strict;
+use warnings;
+
+use 5.006;
+
+use ExtUtils::MakeMaker 6.30;
+
+
+
+my %WriteMakefileArgs = (
+  "ABSTRACT" => "Create a Fake ShareDir for your modules for testing.",
+  "AUTHOR" => "Kent Fredric <kentnl\@cpan.org>",
+  "BUILD_REQUIRES" => {},
+  "CONFIGURE_REQUIRES" => {
+    "ExtUtils::MakeMaker" => "6.30"
+  },
+  "DISTNAME" => "Test-File-ShareDir",
+  "EXE_FILES" => [],
+  "LICENSE" => "perl",
+  "NAME" => "Test::File::ShareDir",
+  "PREREQ_PM" => {
+    "Carp" => 0,
+    "Class::Tiny" => 0,
+    "File::Copy::Recursive" => 0,
+    "File::ShareDir" => "1.00",
+    "File::Temp" => 0,
+    "Path::Tiny" => 0,
+    "strict" => 0,
+    "warnings" => 0
+  },
+  "TEST_REQUIRES" => {
+    "Cwd" => 0,
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec::Functions" => 0,
+    "FindBin" => 0,
+    "List::Util" => 0,
+    "Test::Fatal" => 0,
+    "Test::More" => "0.96",
+    "lib" => 0,
+    "version" => 0
+  },
+  "VERSION" => "1.000000",
+  "test" => {
+    "TESTS" => "t/*.t t/00-compile/*.t"
+  }
+);
+
+
+my %FallbackPrereqs = (
+  "Carp" => 0,
+  "Class::Tiny" => 0,
+  "Cwd" => 0,
+  "ExtUtils::MakeMaker" => 0,
+  "File::Copy::Recursive" => 0,
+  "File::ShareDir" => "1.00",
+  "File::Spec::Functions" => 0,
+  "File::Temp" => 0,
+  "FindBin" => 0,
+  "List::Util" => 0,
+  "Path::Tiny" => 0,
+  "Test::Fatal" => 0,
+  "Test::More" => "0.96",
+  "lib" => 0,
+  "strict" => 0,
+  "version" => 0,
+  "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+  delete $WriteMakefileArgs{TEST_REQUIRES};
+  delete $WriteMakefileArgs{BUILD_REQUIRES};
+  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
+}
+
+delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
+  unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
+
+WriteMakefile(%WriteMakefileArgs);
+
+
+
@@ -3,7 +3,7 @@ NAME
     testing.
 
 VERSION
-    version 0.3.3
+    version 1.000000
 
 SYNOPSIS
         use Test::More;
@@ -32,6 +32,68 @@ DESCRIPTION
     For this reason, unless you have File::ShareDir 1.00 or later installed,
     this module will not be usable by you.
 
+SIMPLE INTERFACE
+    Starting with version 0.4.0, there are a few extra interfaces you can
+    use.
+
+    These will probably be more useful, and easier to grok, because they
+    don't have a layer of indirection in order to simultaneously support
+    both "Module" and "Dist" "ShareDir"'s.
+
+  Simple Exporter Interfaces
+   "Test::File::ShareDir::Dist"
+    "Test::File::ShareDir::Dist" provides a simple export interface for
+    making "TempDir" "ShareDir"'s from a given path:
+
+        use Test::File::ShareDir::Dist { "Dist-Name" => "share/" };
+
+    This will automatically create a "ShareDir" for "Dist-Name" in a
+    "TempDir" based on the contents of "CWD/share/"
+
+    See "Test::File::ShareDir::Dist" for details.
+
+   "Test::File::ShareDir::Module"
+    "Test::File::ShareDir::Module" provides a simple export interface for
+    making "TempDir" "ShareDir"'s from a given path:
+
+        use Test::File::ShareDir::Module { "Module::Name" => "share/" };
+
+    This will automatically create a "ShareDir" for "Module::Name" in a
+    "TempDir" based on the contents of "CWD/share/"
+
+    See "Test::File::ShareDir::Module" for details.
+
+  Simple Object Oriented Interfaces
+   "Test::File::ShareDir::Object::Dist"
+    "Test::File::ShareDir::Object::Dist" provides a simple object oriented
+    interface for making "TempDir" "ShareDir"'s from a given path:
+
+        use Test::File::ShareDir::Object::Dist;
+
+        my $obj = Test::File::ShareDir::Object::Dist->new( dists => { "Dist-Name" => "share/" } );
+        $obj->install_all_dists;
+        $obj->add_to_inc;
+
+    This will automatically create a "ShareDir" for "Dist-Name" in a
+    "TempDir" based on the contents of "CWD/share/"
+
+    See "Test::File::ShareDir::Object::Dist" for details.
+
+   "Test::File::ShareDir::Object::Module"
+    "Test::File::ShareDir::Object::Module" provides a simple object oriented
+    interface for making "TempDir" "ShareDir"'s from a given path:
+
+        use Test::File::ShareDir::Object::Module;
+
+        my $obj = Test::File::ShareDir::Object::Module->new( modules => { "Module::Name" => "share/" } );
+        $obj->install_all_modules;
+        $obj->add_to_inc;
+
+    This will automatically create a "ShareDir" for "Module::Name" in a
+    "TempDir" based on the contents of "CWD/share/"
+
+    See "Test::File::ShareDir::Object::Module" for details.
+
 IMPORTING
   -root
     This parameter is the prefix the other paths are relative to.
@@ -93,7 +155,7 @@ AUTHOR
     Kent Fredric <kentnl@cpan.org>
 
 COPYRIGHT AND LICENSE
-    This software is copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
+    This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
 
     This is free software; you can redistribute it and/or modify it under
     the same terms as the Perl 5 programming language system itself.
@@ -4,11 +4,16 @@ author           = Kent Fredric <kentnl@cpan.org>
 license          = Perl_5
 copyright_holder = Kent Fredric <kentnl@cpan.org>
 
-; Uncomment this to bootstrap via self 
+; Uncomment this to bootstrap via self
 ; [Bootstrap::lib]
 
 [@Author::KENTNL]
+:version          = 2.011000
 git_versions      = 1
+normal_form       = numify
+mantissa          = 6
+toolkit           = eumm
+toolkit_hardness  = soft
 ;version_major     = 0
 ;version_minor     = 1
 ; the following data denotes when this minor was minted
@@ -17,7 +22,6 @@ git_versions      = 1
 ;version_rel_day   = 22
 ;version_rel_hour  = 0
 ;version_rel_time_zone = Pacific/Auckland
-no_fiveten = 1
 twitter_hash_tags = #perl #cpan
 auto_prereqs_skip = ^Example$
 
@@ -0,0 +1,16 @@
+strict digraph Perl {
+	graph [compound=1, concentrate=1, overlap=false, rankdir=LR, ranksep=1, smoothing=triangle, splines=spline];
+	node [label="\N", shape=record, style=dotted];
+	edge [minlen=1];
+	"Class::Tiny::Object" [label="Class::Tiny::Object"];
+	"Test::File::ShareDir" [label="Test::File::ShareDir"];
+	"Test::File::ShareDir::Dist" [label="Test::File::ShareDir::Dist"];
+	"Test::File::ShareDir::Module" [label="Test::File::ShareDir::Module"];
+	"Test::File::ShareDir::Object::Dist" [label="Test::File::ShareDir::Object::Dist", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
+	"Test::File::ShareDir::Object::Inc" [label="Test::File::ShareDir::Object::Inc", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
+	"Test::File::ShareDir::Object::Module" [label="Test::File::ShareDir::Object::Module", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
+	"Test::File::ShareDir::TempDirObject" [label="Test::File::ShareDir::TempDirObject", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"];
+	"Class::Tiny::Object" -> "Test::File::ShareDir::Object::Dist" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10];
+	"Class::Tiny::Object" -> "Test::File::ShareDir::Object::Inc" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10];
+	"Class::Tiny::Object" -> "Test::File::ShareDir::Object::Module" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10];
+}
diff --git a/var/tmp/source/KENTNL/Test-File-ShareDir-1.000000/Test-File-ShareDir-1.000000/layout/self_structure.png b/var/tmp/source/KENTNL/Test-File-ShareDir-1.000000/Test-File-ShareDir-1.000000/layout/self_structure.png
new file mode 100644
index 00000000..73c1d89a
Binary files /dev/null and b/var/tmp/source/KENTNL/Test-File-ShareDir-1.000000/Test-File-ShareDir-1.000000/layout/self_structure.png differ
@@ -0,0 +1,114 @@
+use 5.006;    # pragmas
+use strict;
+use warnings;
+
+package Test::File::ShareDir::Dist;
+$Test::File::ShareDir::Dist::VERSION = '1.000000';
+# ABSTRACT: Simplified dist oriented ShareDir tester
+
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+use File::ShareDir 1.00 qw();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+sub import {
+  my ( undef, $arg ) = @_;
+
+  if ( not ref $arg or 'HASH' ne ref $arg ) {
+    require Carp;
+    return Carp::croak q[Must pass a hashref];
+  }
+
+  my %input_config = %{$arg};
+
+  require Test::File::ShareDir::Object::Dist;
+
+  my $params = {};
+  for my $key ( keys %input_config ) {
+    next unless $key =~ /\A-(.*)\z/msx;
+    $params->{$1} = delete $input_config{$key};
+  }
+  $params->{dists} = {} if not exists $params->{dists};
+  for my $key ( keys %input_config ) {
+    $params->{dists}->{$key} = $input_config{$key};
+  }
+
+  my $dist_object = Test::File::ShareDir::Object::Dist->new($params);
+  $dist_object->install_all_dists();
+  $dist_object->add_to_inc();
+
+  return 1;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test::File::ShareDir::Dist - Simplified dist oriented ShareDir tester
+
+=head1 VERSION
+
+version 1.000000
+
+=head1 SYNOPSIS
+
+    use Test::File::ShareDir::Dist {
+        '-root' => 'some/root/path',
+        'Dist-Zilla-Plugin-Foo' => 'share/DZPF',
+    };
+
+C<-root> is optional, and defaults to C<cwd>
+
+B<NOTE:> There's a bug prior to 5.18 with C<< use Foo { -key => } >>, so for backwards compatibility, make sure you either quote
+the key: C<< use Foo { '-key' => } >>, or make it the non-first key.
+
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir::Dist",
+    "interface":"exporter"
+}
+
+
+=end MetaPOD::JSON
+
+=head1 AUTHOR
+
+Kent Fredric <kentnl@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
@@ -0,0 +1,116 @@
+use 5.006;    # pragmas
+use strict;
+use warnings;
+
+package Test::File::ShareDir::Module;
+$Test::File::ShareDir::Module::VERSION = '1.000000';
+# ABSTRACT: Simplified module oriented ShareDir tester
+
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+use File::ShareDir 1.00 qw();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+sub import {
+  my ( undef, $arg ) = @_;
+
+  if ( not ref $arg or 'HASH' ne ref $arg ) {
+    require Carp;
+    return Carp::croak q[Must pass a hashref];
+  }
+
+  my %input_config = %{$arg};
+
+  require Test::File::ShareDir::Object::Module;
+
+  my $params = {};
+  for my $key ( keys %input_config ) {
+    next unless $key =~ /\A-(.*)\z/msx;
+    $params->{$1} = delete $input_config{$key};
+  }
+  $params->{modules} = {} if not exists $params->{modules};
+  for my $key ( keys %input_config ) {
+    $params->{modules}->{$key} = $input_config{$key};
+  }
+
+  my $module_object = Test::File::ShareDir::Object::Module->new($params);
+  $module_object->install_all_modules();
+  $module_object->add_to_inc();
+
+  return 1;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test::File::ShareDir::Module - Simplified module oriented ShareDir tester
+
+=head1 VERSION
+
+version 1.000000
+
+=head1 SYNOPSIS
+
+    use Test::File::ShareDir::Module {
+        '-root' => "some/root/path",
+        'Module::Foo' => "share/ModuleFoo",
+    };
+
+C<-root> is optional, and defaults to C<cwd>
+
+B<NOTE:> There's a bug prior to 5.18 with C<< use Foo { -key => } >>, so for backwards compatibility, make sure you either quote
+the key: C<< use Foo { '-key' => } >>, or make it the non-first key.
+
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir::Module",
+    "interface":"exporter"
+}
+
+
+=end MetaPOD::JSON
+
+=head1 AUTHOR
+
+Kent Fredric <kentnl@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
@@ -0,0 +1,264 @@
+use 5.006;    # pragmas
+use strict;
+use warnings;
+
+package Test::File::ShareDir::Object::Dist;
+$Test::File::ShareDir::Object::Dist::VERSION = '1.000000';
+# ABSTRACT: Object Oriented ShareDir creation for distributions
+
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+use Class::Tiny {
+  inc => sub {
+    require Test::File::ShareDir::Object::Inc;
+    return Test::File::ShareDir::Object::Inc->new();
+  },
+  dists => sub {
+    return {};
+  },
+  root => sub {
+    require Path::Tiny;
+    return Path::Tiny::path(q[./])->absolute;
+  },
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+sub __rcopy { require File::Copy::Recursive; goto \&File::Copy::Recursive::rcopy; }
+
+
+
+
+
+
+
+
+
+sub dist_names {
+  my ($self) = @_;
+  return keys %{ $self->dists };
+}
+
+
+
+
+
+
+
+
+
+sub dist_share_target_dir {
+  my ( $self, $distname ) = @_;
+  return $self->inc->dist_tempdir->child($distname);
+}
+
+
+
+
+
+
+
+
+
+sub dist_share_source_dir {
+  my ( $self, $distname ) = @_;
+  require Path::Tiny;
+  return Path::Tiny::path( $self->dists->{$distname} )->absolute( $self->root );
+}
+
+
+
+
+
+
+
+
+
+sub install_dist {
+  my ( $self, $distname ) = @_;
+  my $source = $self->dist_share_source_dir($distname);
+  my $target = $self->dist_share_target_dir($distname);
+  return __rcopy( $source, $target );
+}
+
+
+
+
+
+
+
+
+
+sub install_all_dists {
+  my ($self) = @_;
+  for my $dist ( $self->dist_names ) {
+    $self->install_dist($dist);
+  }
+  return;
+}
+
+
+
+
+
+
+
+
+
+sub add_to_inc {
+  my ($self) = @_;
+  $self->inc->add_to_inc;
+  return;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test::File::ShareDir::Object::Dist - Object Oriented ShareDir creation for distributions
+
+=head1 VERSION
+
+version 1.000000
+
+=head1 SYNOPSIS
+
+    use Test::File::ShareDir::Object::Dist;
+
+    my $dir = Test::File::ShareDir::Object::Dist->new(
+        root    => "some/path",
+        dists => {
+            "Hello-Nurse" => "share/HN"
+        },
+    );
+
+    $dir->install_all_dists;
+    $dir->add_to_inc;
+
+=head1 METHODS
+
+=head2 C<dist_names>
+
+    my @names = $instance->dist_names();
+
+Returns the names of all distributions listed in the C<dists> set.
+
+=head2 C<dist_share_target_dir>
+
+    my $dir = $instance->dist_share_target_dir("Dist-Name");
+
+Returns the path where the C<ShareDir> will be created for C<Dist-Name>
+
+=head2 C<dist_share_source_dir>
+
+    my $dir = $instance->dist_share_source_dir("Dist-Name");
+
+Returns the path where the C<ShareDir> will be B<COPIED> I<FROM> for C<Dist-Name>
+
+=head2 C<install_dist>
+
+    $instance->install_dist("Dist-Name");
+
+Installs C<Dist-Name>'s C<ShareDir>
+
+=head2 C<install_all_dists>
+
+    $instance->install_all_dists();
+
+Installs all C<dist_names>
+
+=head2 C<add_to_inc>
+
+    $instance->add_to_inc();
+
+Adds the C<Tempdir> C<ShareDir> (  C<inc> ) to the global C<@INC>
+
+=head1 ATTRIBUTES
+
+=head2 C<inc>
+
+A C<Test::File::ShareDir::Object::Inc> object.
+
+=head2 C<dists>
+
+A hash of :
+
+    Dist-Name => "relative/path"
+
+=head2 C<root>
+
+The origin all paths's are relative to.
+
+( Defaults to C<cwd> )
+
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir::Object::Dist",
+    "interface":"class",
+    "inherits":"Class::Tiny::Object"
+}
+
+
+=end MetaPOD::JSON
+
+=head1 AUTHOR
+
+Kent Fredric <kentnl@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
@@ -0,0 +1,174 @@
+use 5.006;    # pragmas
+use strict;
+use warnings;
+
+package Test::File::ShareDir::Object::Inc;
+$Test::File::ShareDir::Object::Inc::VERSION = '1.000000';
+# ABSTRACT: Shared tempdir object code to inject into @INC
+
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+use Class::Tiny {
+  tempdir => sub {
+    require Path::Tiny;
+    require File::Temp;
+    my $dir = Path::Tiny::path( File::Temp::tempdir( CLEANUP => 1 ) );
+    return $dir->absolute;
+  },
+  module_tempdir => sub {
+    my ($self) = @_;
+    my $dir = $self->tempdir->child('auto/share/module');
+    $dir->mkpath();
+    return $dir->absolute;
+  },
+  dist_tempdir => sub {
+    my ($self) = @_;
+    my $dir = $self->tempdir->child('auto/share/dist');
+    $dir->mkpath();
+    return $dir->absolute;
+  },
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+sub add_to_inc {
+  my ($self) = @_;
+  unshift @INC, $self->tempdir->stringify;
+  return;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test::File::ShareDir::Object::Inc - Shared tempdir object code to inject into @INC
+
+=head1 VERSION
+
+version 1.000000
+
+=head1 SYNOPSIS
+
+    use Test::File::ShareDir::Object::Inc;
+
+    my $inc = Test::File::ShareDir::Object::Inc->new();
+
+    $inc->tempdir() # add files to here
+
+    $inc->module_tempdir() # or here
+
+    $inc->dist_tempdir() # or here
+
+    $inc->add_to_inc;
+
+=head1 DESCRIPTION
+
+This class doesn't do very much on its own.
+
+It simply exists to facilitate C<tempdir> creation,
+and the injection of those C<tempdir>'s into C<@INC>
+
+=head1 METHODS
+
+=head2 C<add_to_inc>
+
+    $instance->add_to_inc;
+
+Injects C<tempdir> into C<@INC>
+
+=head1 ATTRIBUTES
+
+=head2 C<tempdir>
+
+A path to a C<tempdir> of some description.
+
+=head2 C<module_tempdir>
+
+The C<module> C<ShareDir> base directory within the C<tempdir>
+
+=head2 C<dist_tempdir>
+
+The C<dist> C<ShareDir> base directory within the C<tempdir>
+
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir::Object::Inc",
+    "interface":"class",
+    "inherits":"Class::Tiny::Object"
+}
+
+
+=end MetaPOD::JSON
+
+=head1 AUTHOR
+
+Kent Fredric <kentnl@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
@@ -0,0 +1,267 @@
+use 5.006;    # pragmas
+use strict;
+use warnings;
+
+package Test::File::ShareDir::Object::Module;
+$Test::File::ShareDir::Object::Module::VERSION = '1.000000';
+# ABSTRACT: Object Oriented ShareDir creation for modules
+
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+use Class::Tiny {
+  inc => sub {
+    require Test::File::ShareDir::Object::Inc;
+    return Test::File::ShareDir::Object::Inc->new();
+  },
+  modules => sub {
+    return {};
+  },
+  root => sub {
+    require Path::Tiny;
+    return Path::Tiny::path(q[./])->absolute;
+  },
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+sub __rcopy { require File::Copy::Recursive; goto \&File::Copy::Recursive::rcopy; }
+
+
+
+
+
+
+
+
+
+sub module_names {
+  my ( $self, ) = @_;
+  return keys %{ $self->modules };
+}
+
+
+
+
+
+
+
+
+
+sub module_share_target_dir {
+  my ( $self, $module ) = @_;
+
+  $module =~ s/::/-/msxg;
+
+  return $self->inc->module_tempdir->child($module);
+}
+
+
+
+
+
+
+
+
+
+sub module_share_source_dir {
+  my ( $self, $module ) = @_;
+  require Path::Tiny;
+  return Path::Tiny::path( $self->modules->{$module} )->absolute( $self->root );
+}
+
+
+
+
+
+
+
+
+
+sub install_module {
+  my ( $self, $module ) = @_;
+  my $source = $self->module_share_source_dir($module);
+  my $target = $self->module_share_target_dir($module);
+  return __rcopy( $source, $target );
+}
+
+
+
+
+
+
+
+
+
+sub install_all_modules {
+  my ($self) = @_;
+  for my $module ( $self->module_names ) {
+    $self->install_module($module);
+  }
+  return;
+}
+
+
+
+
+
+
+
+
+
+sub add_to_inc {
+  my ($self) = @_;
+  $self->inc->add_to_inc;
+  return;
+}
+
+1;
+
+__END__
+
+=pod
+
+=encoding UTF-8
+
+=head1 NAME
+
+Test::File::ShareDir::Object::Module - Object Oriented ShareDir creation for modules
+
+=head1 VERSION
+
+version 1.000000
+
+=head1 SYNOPSIS
+
+    use Test::File::ShareDir::Object::Module;
+
+    my $dir = Test::File::ShareDir::Object::Module->new(
+        root    => "some/path",
+        modules => {
+            "Hello::Nurse" => "share/HN"
+        },
+    );
+
+    $dir->install_all_modules;
+    $dir->add_to_inc;
+
+=head1 METHODS
+
+=head2 C<module_names>
+
+    my @names = $instance->module_names();
+
+Returns the names of all modules listed in the C<modules> set.
+
+=head2 C<module_share_target_dir>
+
+    my $dir = $instance->module_share_target_dir("Module::Name");
+
+Returns the path where the C<ShareDir> will be created for C<Module::Name>
+
+=head2 C<module_share_source_dir>
+
+    my $dir = $instance->module_share_source_dir("Module::Name");
+
+Returns the path where the C<ShareDir> will be B<COPIED> I<FROM> for C<Module::Name>
+
+=head2 C<install_module>
+
+    $instance->install_module("Module::Name");
+
+Installs C<Module::Name>'s C<ShareDir>
+
+=head2 C<install_all_modules>
+
+    $instance->install_all_modules();
+
+Installs all C<module_names>.
+
+=head2 C<add_to_inc>
+
+    $instance->add_to_inc();
+
+Adds the C<Tempdir> C<ShareDir> ( C<inc> ) to the global C<@INC>.
+
+=head1 ATTRIBUTES
+
+=head2 C<inc>
+
+A C<Test::File::ShareDir::Object::Inc> object.
+
+=head2 C<modules>
+
+A hash of :
+
+    Module::Name => "relative/path"
+
+=head2 C<root>
+
+The origin all paths's are relative to.
+
+( Defaults to C<cwd> )
+
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir::Object::Module",
+    "interface":"class",
+    "inherits":"Class::Tiny::Object"
+}
+
+
+=end MetaPOD::JSON
+
+=head1 AUTHOR
+
+Kent Fredric <kentnl@cpan.org>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
@@ -1,16 +1,46 @@
+use 5.006;    # pragmas
 use strict;
 use warnings;
 
 package Test::File::ShareDir::TempDirObject;
-BEGIN {
-  $Test::File::ShareDir::TempDirObject::AUTHORITY = 'cpan:KENTNL';
-}
-{
-  $Test::File::ShareDir::TempDirObject::VERSION = '0.3.3';
-}
-
+$Test::File::ShareDir::TempDirObject::VERSION = '1.000000';
 # ABSTRACT: Internal Object to make code simpler.
 
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 ## no critic (Subroutines::RequireArgUnpacking)
 sub __dir     { require Path::Tiny;            return Path::Tiny::path(@_); }
@@ -19,6 +49,11 @@ sub __rcopy   { require File::Copy::Recursive; goto \&File::Copy::Recursive::rco
 sub __confess { require Carp;                  goto \&Carp::confess; }
 
 
+
+
+
+
+
 sub new {
   my ( $class, $config ) = @_;
 
@@ -125,13 +160,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Test::File::ShareDir::TempDirObject - Internal Object to make code simpler.
 
 =head1 VERSION
 
-version 0.3.3
+version 1.000000
 
 =head1 SYNOPSIS
 
@@ -162,13 +199,23 @@ version 0.3.3
 
 Creates a new instance of this object.
 
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir::TempDirObject",
+    "interface":"class"
+}
+
+
+=end MetaPOD::JSON
+
 =head1 AUTHOR
 
 Kent Fredric <kentnl@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,37 +1,196 @@
+use 5.006;    # pragmas
 use strict;
 use warnings;
 
 package Test::File::ShareDir;
-BEGIN {
-  $Test::File::ShareDir::AUTHORITY = 'cpan:KENTNL';
-}
-{
-  $Test::File::ShareDir::VERSION = '0.3.3';
-}
-
+$Test::File::ShareDir::VERSION = '1.000000';
 # ABSTRACT: Create a Fake ShareDir for your modules for testing.
 
+our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
 
 use File::ShareDir 1.00 qw();
 
 sub import {
-  my ( $class, %input_config ) = @_;
+  my ( undef, %input_config ) = @_;
 
   require Test::File::ShareDir::TempDirObject;
 
-  my $object = Test::File::ShareDir::TempDirObject->new( \%input_config );
+  my $tempdir_object = Test::File::ShareDir::TempDirObject->new( \%input_config );
 
-  for my $module ( $object->_module_names ) {
-    $object->_install_module($module);
+  for my $module ( $tempdir_object->_module_names ) {
+    $tempdir_object->_install_module($module);
   }
 
-  for my $dist ( $object->_dist_names ) {
-    $object->_install_dist($dist);
+  for my $dist ( $tempdir_object->_dist_names ) {
+    $tempdir_object->_install_dist($dist);
   }
 
-  unshift @INC, $object->_tempdir->stringify;
+  unshift @INC, $tempdir_object->_tempdir->stringify;
 
   return 1;
 }
@@ -42,13 +201,15 @@ __END__
 
 =pod
 
+=encoding UTF-8
+
 =head1 NAME
 
 Test::File::ShareDir - Create a Fake ShareDir for your modules for testing.
 
 =head1 VERSION
 
-version 0.3.3
+version 1.000000
 
 =head1 SYNOPSIS
 
@@ -77,6 +238,79 @@ This module only has support for creating 'new' style share dirs and are NOT com
 
 For this reason, unless you have File::ShareDir 1.00 or later installed, this module will not be usable by you.
 
+=head1 SIMPLE INTERFACE
+
+Starting with version C<0.4.0>, there are a few extra interfaces you can use.
+
+These will probably be more useful, and easier to grok, because they don't have a layer of
+indirection in order to simultaneously support both C<Module> and C<Dist> C<ShareDir>'s.
+
+=head2 Simple Exporter Interfaces
+
+=head3 C<Test::File::ShareDir::Dist>
+
+L<< C<Test::File::ShareDir::Dist>|Test::File::ShareDir::Dist >> provides a simple export interface
+for making C<TempDir> C<ShareDir>'s from a given path:
+
+    use Test::File::ShareDir::Dist { "Dist-Name" => "share/" };
+
+This will automatically create a C<ShareDir> for C<Dist-Name> in a C<TempDir> based on the contents of C<CWD/share/>
+
+See L<< C<Test::File::ShareDir::Dist>|Test::File::ShareDir::Dist >> for details.
+
+=head3 C<Test::File::ShareDir::Module>
+
+L<< C<Test::File::ShareDir::Module>|Test::File::ShareDir::Module >> provides a simple export interface
+for making C<TempDir> C<ShareDir>'s from a given path:
+
+    use Test::File::ShareDir::Module { "Module::Name" => "share/" };
+
+This will automatically create a C<ShareDir> for C<Module::Name> in a C<TempDir> based on the contents of C<CWD/share/>
+
+See L<< C<Test::File::ShareDir::Module>|Test::File::ShareDir::Module >> for details.
+
+=head2 Simple Object Oriented Interfaces
+
+=head3 C<Test::File::ShareDir::Object::Dist>
+
+L<< C<Test::File::ShareDir::Object::Dist>|Test::File::ShareDir::Object::Dist >> provides a simple object oriented interface for
+making C<TempDir> C<ShareDir>'s from a given path:
+
+    use Test::File::ShareDir::Object::Dist;
+
+    my $obj = Test::File::ShareDir::Object::Dist->new( dists => { "Dist-Name" => "share/" } );
+    $obj->install_all_dists;
+    $obj->add_to_inc;
+
+This will automatically create a C<ShareDir> for C<Dist-Name> in a C<TempDir> based on the contents of C<CWD/share/>
+
+See L<< C<Test::File::ShareDir::Object::Dist>|Test::File::ShareDir::Object::Dist >> for details.
+
+=head3 C<Test::File::ShareDir::Object::Module>
+
+L<< C<Test::File::ShareDir::Object::Module>|Test::File::ShareDir::Object::Module >> provides a simple object oriented interface
+for making C<TempDir> C<ShareDir>'s from a given path:
+
+    use Test::File::ShareDir::Object::Module;
+
+    my $obj = Test::File::ShareDir::Object::Module->new( modules => { "Module::Name" => "share/" } );
+    $obj->install_all_modules;
+    $obj->add_to_inc;
+
+This will automatically create a C<ShareDir> for C<Module::Name> in a C<TempDir> based on the contents of C<CWD/share/>
+
+See L<< C<Test::File::ShareDir::Object::Module>|Test::File::ShareDir::Object::Module >> for details.
+
+=begin MetaPOD::JSON v1.1.0
+
+{
+    "namespace":"Test::File::ShareDir",
+    "interface":"exporter"
+}
+
+
+=end MetaPOD::JSON
+
 =head1 IMPORTING
 
 =head2 -root
@@ -122,11 +356,13 @@ C<-module> contains a C<hashref> mapping Module names to path names for module_d
 
   module_dir('My::Module')
 
-Notedly, it is a C<hashref>, which means there is a limitation of one share dir per module. This is simply because having more than one share dir per module makes no sense at all.
+Notedly, it is a C<hashref>, which means there is a limitation of one share dir per module. This is simply because having more
+than one share dir per module makes no sense at all.
 
 =head3 -dist
 
-C<-dist> contains a C<hashref> mapping Distribution names to path names for dist_dir style share dirs. The same limitation applied to C<-module> applies here.
+C<-dist> contains a C<hashref> mapping Distribution names to path names for dist_dir style share dirs. The same limitation
+applied to C<-module> applies here.
 
   -share => {
     -dist => { 'My-Dist' => 'share/mydist' }
@@ -140,7 +376,7 @@ Kent Fredric <kentnl@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Kent Fredric <kentnl@cpan.org>.
+This software is copyright (c) 2014 by Kent Fredric <kentnl@cpan.org>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -0,0 +1,53 @@
+# ABOUT
+
+This repository contains a directory full of utilities to bolt on
+to CPAN-targeting distributions, to add useful `travis-ci` features to those dists.
+
+# PREREQS
+
+All that is needed at present to get started, is a copy of `git` that provides `git subtree`, and a copy of `Path::FindDev` from `CPAN`.
+
+You don't need `Path::FindDev` during deployment, its just used to streamline
+automated patching.
+
+# INSTALLING
+
+First, check out a copy of these scripts, it can be a temporary directory,
+and you'll only need to do this once.
+
+```shell
+$ mkdir /tmp/tci-scripts
+$ cd    /tmp/tci-scripts
+$ git   clone https://github.com/kentfredric/travis-scripts.git
+```
+
+Then, chdir to the root of your project
+
+```shell
+$ chdir $PROJECT
+```
+
+And lastly, execute the installer
+
+```shell
+$ /tmp/tci-scripts/sync_tree.pl
+```
+
+This will create the folder called `maint-travis-ci` within your distribution,
+with a tree installed by `git subtree`, which will track this distribution.
+
+To update your copy of `/maint-travis-ci` to the latest, simply execute
+
+```shell
+$ $PROJECT/maint-travis-ci/sync_tree.pl
+```
+
+While somewhere in your project.
+
+# CAVEATS
+
+Note, this tool uses `Path::FindDev`, and by proxy, `Path::IsDev` to find a development
+root directory somewhere in the ancestry of `$CWD`.
+
+As such, you will likely need to appease `Path::IsDev` by having a file of some description that
+marks the root of the development tree.
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_exists('STERILIZE_ENV') ) {
+  diag("\e[31mSTERILIZE_ENV \e[32munset\e[0m, skipping");
+  exit 0;
+}
+if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) {
+  diag("before_script skipped, TRAVIS_BRANCH=master");
+  exit 0;
+}
+else {
+  if ( -e './Build.PL' ) {
+    safe_exec( $^X, './Build.PL' );
+    safe_exec("./Build");
+    exit 0;
+  }
+  if ( -e './Makefile.PL' ) {
+    safe_exec( $^X, './Makefile.PL' );
+    safe_exec("make");
+    exit 0;
+  }
+
+}
+
@@ -0,0 +1,51 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_true('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+diag("Resetting branch to \e[32m$ENV{TRAVIS_BRANCH}\e[0m @ \e[33m$ENV{TRAVIS_COMMIT}\e[0m");
+git( 'checkout', $ENV{TRAVIS_BRANCH} );
+git( 'reset', '--hard', $ENV{TRAVIS_COMMIT} );
+my $goodtag;
+do {
+  my ( $output, $return ) = capture_stdout {
+    safe_exec_nonfatal( 'git', 'describe', '--tags', '--abbrev=0', $ENV{TRAVIS_BRANCH} );
+  };
+  ($goodtag) = split /\n/, $output;
+  if ( not $return ) {
+    diag("TIP Version tag is \e[32m$goodtag\e[0m");
+  }
+};
+my %good_tags;
+do {
+  my $output = capture_stdout {
+    git( 'log', '--simplify-by-decoration', '--pretty=format:%d' );
+  };
+  for my $line ( split /\n/, $output ) {
+    if ( $line =~ /\(tag:\s+(.*)\)/ ) {
+      my $tag = $1;
+      diag("Good tag: \e[32m$tag\e[0m");
+      $good_tags{$tag} = 1;
+    }
+    else {
+      diag("Line not matched regexp: <\e[31m$line\e[0m>");
+    }
+  }
+};
+do {
+  my $output = capture_stdout {
+    git('tag');
+  };
+  for my $line ( split /\n/, $output ) {
+    next if $good_tags{$line};
+    diag("Bad tag: \e[31m$line\e[0m");
+    git( 'tag', '-d', $line );
+  }
+};
@@ -0,0 +1,38 @@
+#!/usr/bin/env perl
+# FILENAME: create_github_repo.pl
+# CREATED: 12/21/13 22:40:10 by Kent Fredric (kentnl) <kentfredric@gmail.com>
+# ABSTRACT: Create a github repo for the current repository
+
+use strict;
+use warnings;
+use utf8;
+use Carp qw(croak);
+
+sub _git_config {
+  my $key = shift;
+  chomp( my $value = `git config --get $key` );
+  croak "Unknown $key" unless $value;
+  return $value;
+}
+
+if ( not @ARGV == 2 ) {
+  die "$0 Repo-Name-Here \"Some Description\"";
+}
+
+my $github_user  = _git_config('github.user');
+my $github_token = _git_config('github.token');
+
+use Net::GitHub;
+my $gh = Net::GitHub->new( access_token => $github_token );
+my $reponame = "git\@github.com:" . $github_user . "/" . $ARGV[0] . ".git";
+print "Creating $reponame \n";
+
+my $rp = $gh->repos->create(
+  {
+    name        => $ARGV[0],
+    description => $ARGV[1],
+  }
+);
+
+system( 'git', 'remote', 'add', 'origin', $reponame );
+
@@ -0,0 +1,87 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use utf8;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_exists('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+if ( not env_exists('STERILIZE_ENV') ) {
+  diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target");
+  exit 0;
+}
+if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8' ) ) {
+  diag("\e[31minstalldeps skipped on 5.8 on master, because \@Git, a dependency of \@Author::KENTNL, is unavailble on 5.8\e[0m");
+  exit 0;
+}
+my (@params) = qw[ --quiet --notest --mirror http://cpan.metacpan.org/ --no-man-pages ];
+if ( env_true('DEVELOPER_DEPS') ) {
+  push @params, '--dev';
+}
+if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) {
+  cpanm( @params, 'Devel::Confess' );
+  $ENV{PERL5OPT} = '-MDevel::Confess';
+  cpanm( @params, 'Dist::Zilla', 'Capture::Tiny',      'Pod::Weaver' );
+  cpanm( @params, '--dev',       'Dist::Zilla~>5.002', 'Pod::Weaver' );
+  safe_exec( 'git', 'config', '--global', 'user.email', 'kentfredric+travisci@gmail.com' );
+  safe_exec( 'git', 'config', '--global', 'user.name',  'Travis CI ( On behalf of Kent Fredric )' );
+
+  my $stdout = capture_stdout {
+    safe_exec( 'dzil', 'authordeps', '--missing' );
+  };
+
+  if ( $stdout !~ /^\s*$/msx ) {
+    cpanm( @params, split /\n/, $stdout );
+  }
+  $stdout = capture_stdout {
+    safe_exec( 'dzil', 'listdeps', '--author', '--versions', '--missing' );
+  };
+
+  if ( $stdout !~ /^\s*$/msx ) {
+    my @deps = split /\n/, $stdout;
+    my @parsedeps;
+    for my $dep ( split /\n/, $stdout ) {
+      diag("Missing: \e[31m$dep\e[0m");
+      if ( $dep =~ /^\s*([^=\s]+)\s*=\s*(.*$)/ ) {
+        my ( $module, $version ) = ( $1, $2 );
+        diag("Module: \e[31m$module\e[0m -> \e[32m$version\e[0m");
+        if ( $version =~ /^\s*0\s*$/ ) {
+          push @parsedeps, $module;
+          next;
+        }
+        if ( $version =~ /^v?[0-9._]+/ ) {
+          push @parsedeps, "$module~>=$version";
+          next;
+        }
+        push @parsedeps, "$module~$version";
+      }
+    }
+    cpanm( @params, @parsedeps );
+  }
+}
+else {
+  cpanm( @params, '--installdeps', '.' );
+  if ( env_true('AUTHOR_TESTING') or env_true('RELEASE_TESTING') ) {
+    my $prereqs = parse_meta_json()->effective_prereqs;
+    my $reqs = $prereqs->requirements_for( 'develop', 'requires' );
+    my @wanted;
+
+    for my $want ( $reqs->required_modules ) {
+      my $module_requirement = $reqs->requirements_for_module($want);
+      if ( $module_requirement =~ /^\d/ ) {
+        push @wanted, $want . '~>=' . $module_requirement;
+        next;
+      }
+      push @wanted, $want . '~' . $module_requirement;
+    }
+    cpanm( @params, @wanted );
+
+  }
+}
+
+exit 0;
@@ -0,0 +1,47 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use utf8;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_exists('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+if ( not env_exists('STERILIZE_ENV') ) {
+  diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target");
+  exit 0;
+}
+
+# See https://github.com/dbsrgits/dbix-class/commit/8c11c33f8
+safe_exec_nonfatal( 'sudo', 'ip6tables', '-I', 'OUTPUT', '-d', 'api.metacpan.org', '-j', 'REJECT' );
+my (@params) = qw[ --quiet --notest --mirror http://cpan.metacpan.org/ --no-man-pages ];
+my ($branch) = $ENV{TRAVIS_BRANCH};
+my ($prefix) = './.travis_early_installdeps.';
+
+$branch =~ s{/}{_}g;
+my ($depsfile)   = ( $prefix . $branch );
+my ($paramsfile) = ( $prefix . 'params.' . $branch );
+
+if ( not( -e $depsfile and -f $depsfile ) ) {
+  diag("\e[31m$depsfile does not exist, no extra deps\e[0m");
+  exit 0;
+}
+
+my (@deps) = split /\n/, do {
+  open my $fh, '<', $depsfile;
+  local $/ = undef;
+  scalar <$fh>;
+};
+if ( -e $paramsfile and -f $paramsfile ) {
+  push @params, split /\n/, do {
+    open my $fh, '<', $paramsfile;
+    local $/ = undef;
+    scalar <$fh>;
+  };
+}
+cpanm( @params, @deps );
+exit 0;
@@ -0,0 +1,204 @@
+use strict;
+use warnings;
+
+package tools;
+
+use Cwd qw(cwd);
+use Config;
+
+sub capture_stdout(&) {
+  require Capture::Tiny;
+  goto &Capture::Tiny::capture_stdout;
+}
+
+sub diag {
+  my $handle = \*STDERR;
+  for (@_) {
+    print {$handle} $_;
+  }
+  print {$handle} "\n";
+}
+
+sub env_exists {
+  return exists $ENV{ $_[0] };
+}
+
+sub env_true {
+  return ( env_exists( $_[0] ) and $ENV{ $_[0] } );
+}
+sub env_is { return ( env_exists( $_[0] ) and $ENV{ $_[0] } eq $_[1] ) }
+
+sub safe_exec_nonfatal {
+  my ( $command, @params ) = @_;
+  diag("running $command @params");
+  my $exit = system( $command, @params );
+  if ( $exit != 0 ) {
+    my $low  = $exit & 0b11111111;
+    my $high = $exit >> 8;
+    warn "$command failed: $? $! and exit = $high , flags = $low";
+    if ( $high != 0 ) {
+      return $high;
+    }
+    else {
+      return 1;
+    }
+
+  }
+  return 0;
+}
+
+sub safe_exec {
+  my ( $command, @params ) = @_;
+  my $exit_code = safe_exec_nonfatal( $command, @params );
+  if ( $exit_code != 0 ) {
+    exit $exit_code;
+  }
+  return 1;
+}
+
+sub cpanm {
+  my (@params) = @_;
+  my $cpanm_lines = 4000;
+  my $exit_code = safe_exec_nonfatal( 'cpanm', @params );
+  if ( $exit_code != 0 ) {
+    diag("\e[32m cpanm \e[0m failed, showing last \e[31m$cpanm_lines\e[0m lines");
+    safe_exec( 'tail', '-n', $cpanm_lines, '/home/travis/.cpanm/build.log' );
+    exit $exit_code;
+  }
+  return 1;
+}
+
+sub git {
+  my (@params) = @_;
+  safe_exec( 'git', @params );
+}
+
+my $got_fixes;
+
+sub get_fixes {
+  return if $got_fixes;
+  my $cwd = cwd();
+  chdir '/tmp';
+  safe_exec( 'git', 'clone', 'https://github.com/kentfredric/cpan-fixes.git' );
+  chdir $cwd;
+  $got_fixes = 1;
+}
+
+my $got_sterile;
+
+sub get_sterile {
+  return if $got_sterile;
+  my $cwd = cwd();
+  chdir '/tmp';
+  my $version = $];
+  safe_exec(
+    'git', 'clone', '--depth=1',
+    '--branch=' . $version,
+    'https://github.com/kentfredric/perl5-sterile.git',
+    'perl5-sterile'
+  );
+  chdir $cwd;
+  $got_sterile = 1;
+}
+my $fixed_up;
+
+sub fixup_sterile {
+  return if $fixed_up;
+  get_sterile();
+  my $cwd = cwd();
+  chdir '/tmp/perl5-sterile';
+  safe_exec( 'bash', 'patch_fixlist.sh', '/home/travis/perl5/perlbrew/perls/' . $ENV{TRAVIS_PERL_VERSION} );
+  chdir $cwd;
+  $fixed_up = 1;
+}
+my $sterile_deployed;
+
+sub deploy_sterile {
+  return if $sterile_deployed;
+  cpanm( '--skip-satisfied', 'Capture::Tiny' );
+  require Capture::Tiny;    # load before we oblitterate everything.
+
+  fixup_sterile();
+  for my $key ( keys %Config ) {
+    next unless $key =~ /(lib|arch)exp$/;
+    my $value = $Config{$key};
+    next unless defined $value;
+    next unless length $value;
+    my $clean_path = '/tmp/perl5-sterile/' . $key;
+    diag("\e[32m?$clean_path\e[0m");
+    if ( -e $clean_path and -d $clean_path ) {
+      diag("\e[31mRsyncing over $value\e[0m");
+      $clean_path =~ s{/?$}{/};
+      $value =~ s{/?$}{/};
+      safe_exec( 'rsync', '-a', '--delete-delay', $clean_path, $value );
+    }
+  }
+  for my $key ( keys %Config ) {
+    next unless $key =~ /(prefix|bin|scriptdir|script)exp$/;
+    my $value = $Config{$key};
+    next unless defined $value;
+    next unless length $value;
+    my $clean_path = '/tmp/perl5-sterile/' . $key;
+    diag("\e[32m?$clean_path\e[0m");
+    if ( -e $clean_path and -d $clean_path ) {
+      diag("\e[31mPre-Cleaning $value\e[0m");
+      my $content = capture_stdout {
+        safe_exec( 'find', $value, '-type', 'f', '-executable', '-print0' );
+      };
+      for my $file ( split /\0/, $content ) {
+        if ( -B $file ) {
+          diag("\e[33m: Protected\e[34m: $file\e[0m");
+          next;
+        }
+        unlink $file;
+        diag("\e[31m: Removed:\e[34m: $file\e[0m");
+      }
+      diag("\e[31mRsyncing over $value\e[0m");
+      $clean_path =~ s{/?$}{/};
+      $value =~ s{/?$}{/};
+      safe_exec( 'rsync', '-a', $clean_path, $value );
+    }
+  }
+}
+
+sub cpanm_fix {
+  my (@params) = @_;
+  get_fixes();
+  my $cwd = cwd();
+  chdir '/tmp/cpan-fixes';
+  cpanm(@params);
+  chdir $cwd;
+}
+
+sub parse_meta_json {
+  $_[0] ||= 'META.json';
+  require CPAN::Meta;
+  return CPAN::Meta->load_file( $_[0] );
+}
+
+sub import {
+  my ( $self, @args ) = @_;
+
+  my $caller = [caller]->[0];
+
+  my $caller_stash = do {
+    no strict 'refs';
+    *{ $caller . '::' };
+  };
+
+  $caller_stash->{diag}               = *diag;
+  $caller_stash->{env_exists}         = *env_exists;
+  $caller_stash->{env_true}           = *env_true;
+  $caller_stash->{env_is}             = *env_is;
+  $caller_stash->{safe_exec_nonfatal} = *safe_exec_nonfatal;
+  $caller_stash->{safe_exec}          = *safe_exec;
+  $caller_stash->{cpanm}              = *cpanm;
+  $caller_stash->{git}                = *git;
+  $caller_stash->{get_fixes}          = *get_fixes;
+  $caller_stash->{cpanm_fix}          = *cpanm_fix;
+  $caller_stash->{parse_meta_json}    = *parse_meta_json;
+  $caller_stash->{capture_stdout}     = *capture_stdout;
+  $caller_stash->{deploy_sterile}     = *deploy_sterile;
+}
+
+1;
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use utf8;
+
+use Path::FindDev qw( find_dev );
+
+my $hashref = {};
+
+my $template = find_dev('./')->child('.travis-template.yml');
+my $target   = find_dev('./')->child('.travis.yml');
+
+if ( -f -e $template ) {
+  require YAML::Loader;
+  my $loader = YAML::Loader->new();
+  $hashref = $loader->load( $template->slurp );
+}
+
+if ( not exists $hashref->{language} ) {
+  $hashref->{language} = 'perl';
+}
+if ( not exists $hashref->{perl} ) {
+  $hashref->{perl} = [ '5.18', '5.19' ];
+}
+
+use Data::Dump qw(pp);
+pp($hashref);
+require YAML::Dumper;
+my $dumper = YAML::Dumper->new();
+$target->spew( $dumper->dump($hashref) );
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use utf8;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+diag("\e[31mLast 4000 lines of cpanm build log\e[0m");
+safe_exec( 'tail', '-n', '4000', $ENV{HOME} . '/.cpanm/build.log' );
+
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use utf8;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_exists('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+if ( not env_exists('STERILIZE_ENV') ) {
+  diag("\e[31mSTERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target");
+  exit 0;
+}
+if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8' ) ) {
+  diag("\e[31mscript skipped on 5.8 on master\e[32m, because \@Git, a dependency of \@Author::KENTNL, is unavailble on 5.8\e[0m");
+  exit 0;
+}
+if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) {
+  $ENV{HARNESS_OPTIONS} = 'j100:c';
+  $ENV{PERL5OPT}        = '-MDevel::Confess';
+  safe_exec( 'dzil', 'test', '--release' );
+}
+else {
+  my @paths = './t';
+
+  if ( env_true('AUTHOR_TESTING') or env_true('RELEASE_TESTING') ) {
+    push @paths, './xt';
+  }
+  safe_exec( 'prove', '--blib', '--shuffle', '--color', '--recurse', '--timer', '--jobs', 30, @paths );
+}
@@ -0,0 +1,23 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+if ( not env_exists('STERILIZE_ENV') ) {
+  diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target");
+  exit 0;
+}
+if ( not env_true('STERILIZE_ENV') ) {
+  diag('STERILIZE_ENV unset or false, not sterilizing');
+  exit 0;
+}
+
+if ( not env_true('TRAVIS') ) {
+  diag('Is not running under travis!');
+  exit 1;
+}
+
+deploy_sterile();
@@ -0,0 +1,61 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use tools;
+
+use Path::FindDev qw( find_dev );
+my $root = find_dev('./');
+
+chdir "$root";
+
+sub git_subtree {
+  safe_exec( 'git', 'subtree', @_ );
+}
+
+my $travis = 'https://github.com/kentfredric/travis-scripts.git';
+my $prefix = 'maint-travis-ci';
+
+my $opts = { pushas => 'incomming' };
+
+for my $id ( 0 .. $#ARGV ) {
+  my ($field) = $ARGV[$id];
+  next unless $field;
+  next unless $field =~ /^-+(.*?$)/;
+  my ($field_name) = $1;
+  my ($value)      = $ARGV[ $id + 1 ];
+  undef $ARGV[$id];
+  undef $ARGV[ $id + 1 ];
+  if ( $field_name eq 'push' ) {
+    $opts->{push}    = 1;
+    $opts->{push_to} = $value;
+    next;
+  }
+  if ( $field_name eq 'pushas' ) {
+    $opts->{pushas} = $value;
+    next;
+  }
+  if ( $field_name eq 'mc' ) {
+    $opts->{has_commit} = 1;
+    $opts->{commit}     = $value;
+    next;
+  }
+}
+if ( not $opts->{push} ) {
+  my $commitish = 'master';
+  $commitish = $opts->{commit} if $opts->{has_commit};
+
+  if ( not -d -e $root->child($prefix) ) {
+    git_subtree( 'add', '--squash', '--prefix=' . $prefix, $travis, $commitish );
+  }
+  else {
+    git_subtree( 'pull', '--squash', '-m', 'Synchronise git subtree maint-travis-ci', '--prefix=' . $prefix, $travis,
+      $commitish );
+  }
+}
+else {
+  git_subtree( 'push', '--prefix=' . $prefix, $opts->{push_to}, $opts->{pushas} );
+}
+
@@ -0,0 +1,88 @@
+#!/usr/bin/env perl
+use v5.10;
+use strict;
+use warnings;
+use Carp;
+use Net::GitHub;
+use Getopt::Lucid ':all';
+use Path::Tiny;
+use FindBin;
+
+my $yamls = path($FindBin::Bin)->child('yamls');
+
+my $opts = Getopt::Lucid->getopt(
+  [
+        #<<< No perltidy
+        Param('repo|r'),
+        #>>>
+  ]
+);
+
+$opts->validate;
+
+sub _detect_repo {
+  my ($origin) = grep { /origin/ } `git remote -v`;
+
+  die "Couldn't determine origin\n" unless $origin;
+
+  chomp $origin;
+  $origin =~ s/^origin\s+//;
+  $origin =~ s/\s+\(.*$//;
+  if ( $origin =~ m{^.+?://github.com/([^/]+)/(.+)\.git$} ) {
+    return [ $1, $2 ];
+  }
+  elsif ( $origin =~ m{^git\@github\.com:([^/]+)/(.+)\.git$} ) {
+    return [ $1, $2 ];
+  }
+  else {
+    die "Can't determine repo name from '$origin'.  Try manually with -r REPO\n";
+  }
+}
+
+sub _git_config {
+  my $key = shift;
+  chomp( my $value = `git config --get $key` );
+  croak "Unknown $key" unless $value;
+  return $value;
+}
+
+my $github_user  = _git_config("github.user");
+my $github_token = _git_config("github.token");
+my $travis_token = _git_config("travis.token");
+
+my $gh = Net::GitHub->new( access_token => $github_token );
+
+my @repos;
+
+if ( $opts->get_repo ) {
+  @repos = $opts->get_repo;
+}
+else {
+  ( $github_user, @repos ) = @{ _detect_repo() };
+}
+
+my $hook_hash = {
+  name   => 'travis',
+  config => {
+    token  => $travis_token,
+    user   => $github_user,
+    domain => '',
+  },
+  events => [qw/push pull_request issue_comment public member/],
+  active => 1,
+};
+
+my $repos = $gh->repos;
+$repos->set_default_user_repo( $github_user, $repos[0] );
+my $hook = eval { $repos->create_hook($hook_hash) };
+if ($@) {
+  say "Failed: $@";
+}
+else {
+  say "Enabled travis for $repos[0]";
+}
+
+unless ( -f '.travis.yml' ) {
+  $yamls->child('sterile2.yaml')->copy('./.travis.yml');
+  say "copied .travis.yml to current directory";
+}
@@ -0,0 +1,54 @@
+## ABOUT
+
+  sterile.yaml
+
+## Tests
+
+### Version conformance tests
+
+Every version of Perl that can be tested on travis is tested.
+
+    - perl: <V>
+      env:  STERILIZE_ENV=0
+
+This is to test simply that the code works on that platform
+
+### Installable tests
+
+This tests both the maximum and minimum perls on travis to ensure
+that:
+
+  a. All dependencies are installable on all versions of Perl
+  b. No dependencies are inherently required by the code which are not specified.
+
+    - perl: <V>
+      env: STERILIZE_ENV=1
+
+Tree sterilization occurs here to ensure that only the versions of things
+that are provided by that version of perl exists prior to installing dependencies.
+
+### Pending upstream breakage
+
+This tests that of all the listed direct dependencies, that the code works as expected
+after upgrading to the latest version of all direct dependencies.
+
+Presently this only runs on the newest `perl` on travis, because it is seemed that
+if "-dev" versions are going to be a problem, they'll exhibit the same problems on all perls.
+
+Tree sterilization is not performed here, though may be in future, because that will reveal breakages
+between downstream dependencies.
+
+    - perl: <V>
+      env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
+
+### Author Testing
+
+This is the most dependency expensive method, as this mode pulls in all dependencies
+listed in `develop.requires`, and additionally runs `xt/*`
+
+This is presently only performed on the latest perl due to the time expensiveness
+of this, requiring significantly more dependencies to perform tests.
+
+    - perl: <V>
+      env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+
@@ -0,0 +1,42 @@
+language: perl
+matrix:
+  include:
+    - perl: "5.8"
+      env:  STERILIZE_ENV=0
+    - perl: "5.10"
+      env:  STERILIZE_ENV=0
+    - perl: "5.12"
+      env:  STERILIZE_ENV=0
+    - perl: "5.14"
+      env:  STERILIZE_ENV=0
+    - perl: "5.16"
+      env:  STERILIZE_ENV=0
+    - perl: "5.18"
+      env:  STERILIZE_ENV=0
+    - perl: "5.19"
+      env:  STERILIZE_ENV=0
+    - perl: "5.12"
+      env:  STERILIZE_ENV=1
+    - perl: "5.19"
+      env:  STERILIZE_ENV=1
+    - perl: "5.19"
+      env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
+    - perl: "5.19"
+      env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+before_install:
+  - perlbrew list
+  - time perl ./maint-travis-ci/branch_reset.pl
+  - time perl ./maint-travis-ci/sterilize_env.pl
+install:
+  - time perl ./maint-travis-ci/install_deps.pl
+before_script:
+  - time perl ./maint-travis-ci/before_script.pl
+script:
+  - time perl ./maint-travis-ci/script.pl
+after_failure:
+  - perl ./maint-travis-ci/report_fail_ctx.pl
+branches:
+  only:
+    - "build/master"
+    - "releases"
+
@@ -0,0 +1,50 @@
+language: perl
+matrix:
+  allow_failures:
+    - perl: "5.8"
+    - env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+    - env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
+  include:
+    - perl: "5.8"
+      env:  STERILIZE_ENV=0
+    - perl: "5.10"
+      env:  STERILIZE_ENV=0
+    - perl: "5.12"
+      env:  STERILIZE_ENV=0
+    - perl: "5.14"
+      env:  STERILIZE_ENV=0
+    - perl: "5.16"
+      env:  STERILIZE_ENV=0
+    - perl: "5.18"
+      env:  STERILIZE_ENV=0
+    - perl: "5.19"
+      env:  STERILIZE_ENV=0
+    - perl: "5.8"
+      env:  STERILIZE_ENV=1
+    - perl: "5.10"
+      env:  STERILIZE_ENV=1
+    - perl: "5.19"
+      env:  STERILIZE_ENV=1
+    - perl: "5.19"
+      env: STERILIZE_ENV=0 DEVELOPER_DEPS=1
+    - perl: "5.19"
+      env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1
+before_install:
+  - perlbrew list
+  - time perl ./maint-travis-ci/branch_reset.pl
+  - time perl ./maint-travis-ci/sterilize_env.pl
+install:
+  - time perl ./maint-travis-ci/install_deps_early.pl
+  - time perl ./maint-travis-ci/install_deps.pl
+before_script:
+  - time perl ./maint-travis-ci/before_script.pl
+script:
+  - time perl ./maint-travis-ci/script.pl
+after_failure:
+  - perl ./maint-travis-ci/report_fail_ctx.pl
+branches:
+  only:
+    - "master"
+    - "build/master"
+    - "releases"
+
@@ -1,23 +1,2209 @@
+# Globals
 severity = 1
-exclude = RequireTidyCode RequirePodSections ProhibitPostfixControls RequireRcsKeywords RequireExplicitPackage
-include = Moose::ProhibitMultipleWiths Moose::ProhibitNewMethod Moose::RequireCleanNamespace Moose::RequireMakeImmutable
+# force = 0
+only = 1
+# allow-unsafe = 0
+profile-strictness = quiet
 color = 1
+# pager =
+# top = 0
 verbose = 9
+# include =
+# exclude =
+# single-policy =
+# theme =
+# color-severity-highest = bold red
+# color-severity-high = magenta
+color-severity-medium = yellow
+color-severity-low = green
+# color-severity-lowest =
+# program-extensions =
 
+# Bitwise operators are usually accidentally used instead of logical boolean operators.
+[Bangs::ProhibitBitwiseOperators]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Commented-out code is usually noise. It should be removed.
+[Bangs::ProhibitCommentedOutCode]
+# set_themes                         = bangs maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Regular expression to use to look for code in comments.
+# commentedcoderegex = \$[A-Za-z_].*=
+
+
+# Prohibit loading of debugging modules like Data::Dumper
+[Bangs::ProhibitDebuggingModules]
+# set_themes                         = bangs maintenance
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# Module names which are considered to be banned debugging modules.
+# Values that are always included: DDP, DDS, Data::Dump, Data::Dump::Filtered, Data::Dump::Streamer, Data::Dump::Trace, Data::Dumper, Data::Dumper::Concise, Data::Dumper::Concise::Sugar, Data::Dumper::EasyOO, Data::Dumper::Names, Data::Dumper::Simple, Data::PrettyPrintObjects, Data::Printer, Data::Skeleton, Data::TreeDumper, Devel::Dwarn.
+# debugging_modules =
+
+
+# Don't use XXX, TODO, or FIXME.
+[-Bangs::ProhibitFlagComments]
+# set_themes                         = bangs maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Words to prohibit in comments.
+# keywords = XXX FIXME TODO
+
+
+# Know what you're going to test.
+[Bangs::ProhibitNoPlan]
+# set_themes                         = bangs tests
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Prohibit variables differentiated by trailing numbers.
+[Bangs::ProhibitNumberedNames]
+# set_themes                         = bangs maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Things to allow in variable names.
+# exceptions = md5 x11 utf8
+
+# Additional things to allow in variable names.
+# add_exceptions =
+
+
+# Create a `clone()' method if you need copies of objects.
+[Bangs::ProhibitRefProtoOrProto]
+# set_themes                         = bangs complexity
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Adding modifiers to a regular expression made up entirely of a variable created with qr() is usually not doing what you expect.
+[Bangs::ProhibitUselessRegexModifiers]
+# set_themes                         = bangs bugs
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Don't use generic variable names.
+[Bangs::ProhibitVagueNames]
+# set_themes                         = bangs readability
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Words to prohibit as variable names.
+# names = data info var obj object tmp temp
+
+# Additional words to prohibit as variable names.
+# add_names =
+
+
+# Use `List::MoreUtils::any' instead of `grep' in boolean context.
+[BuiltinFunctions::ProhibitBooleanGrep]
+# set_themes                         = certrec core pbp performance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Map blocks should have a single statement.
+[BuiltinFunctions::ProhibitComplexMappings]
+# set_themes                         = complexity core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of statements to allow within a map block.
+# Minimum value 1. No maximum.
+# max_statements = 1
+
+
+# Use 4-argument `substr' instead of writing `substr($foo, 2, 6) = $bar'.
+[BuiltinFunctions::ProhibitLvalueSubstr]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Forbid $b before $a in sort blocks.
+[BuiltinFunctions::ProhibitReverseSortBlock]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Use Time::HiRes instead of something like `select(undef, undef, undef, .05)'.
+[BuiltinFunctions::ProhibitSleepViaSelect]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Write `eval { my $foo; bar($foo) }' instead of `eval "my $foo; bar($foo);"'.
 [BuiltinFunctions::ProhibitStringyEval]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+# Allow eval of "use" and "require" strings.
 allow_includes = 1
 
-[CodeLayout::ProhibitTrailingWhitespace]
 
-[Documentation::PodSpelling]
-stop_words = ShareDir sharedirs dir dirs Notedly
+# Write `split /-/, $string' instead of `split '-', $string'.
+[BuiltinFunctions::ProhibitStringySplit]
+# set_themes                         = certrule core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Write `eval { $foo->can($name) }' instead of `UNIVERSAL::can($foo, $name)'.
+[BuiltinFunctions::ProhibitUniversalCan]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `eval { $foo->isa($pkg) }' instead of `UNIVERSAL::isa($foo, $pkg)'.
+[BuiltinFunctions::ProhibitUniversalIsa]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Don't use `grep' in void contexts.
+[BuiltinFunctions::ProhibitVoidGrep]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Don't use `map' in void contexts.
+[BuiltinFunctions::ProhibitVoidMap]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `grep { $_ =~ /$pattern/ } @list' instead of `grep /$pattern/, @list'.
+[BuiltinFunctions::RequireBlockGrep]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Write `map { $_ =~ /$pattern/ } @list' instead of `map /$pattern/, @list'.
+[BuiltinFunctions::RequireBlockMap]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Use `glob q{*}' instead of <*>.
+[BuiltinFunctions::RequireGlobFunction]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Sort blocks should have a single statement.
+[BuiltinFunctions::RequireSimpleSortBlock]
+# set_themes                         = complexity core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# AUTOLOAD methods should be avoided.
+[ClassHierarchies::ProhibitAutoloading]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Employ `use base' instead of `@ISA'.
+[ClassHierarchies::ProhibitExplicitISA]
+# set_themes                         = certrec core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `bless {}, $class;' instead of just `bless {};'.
+[ClassHierarchies::ProhibitOneArgBless]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# keep a fat comma on the same line as its quoted word
+[CodeLayout::ProhibitFatCommaNewline]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Use spaces instead of tabs.
+[CodeLayout::ProhibitHardTabs]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Allow hard tabs before first non-whitespace character.
+# allow_leading_tabs = 1
+
+
+#
+[-CodeLayout::ProhibitHashBarewords]
+# set_themes                         = itch
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# don't put if after if on same line
+[CodeLayout::ProhibitIfIfSameLine]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `open $handle, $path' instead of `open($handle, $path)'.
+[CodeLayout::ProhibitParensWithBuiltins]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Write `qw(foo bar baz)' instead of `('foo', 'bar', 'baz')'.
+[CodeLayout::ProhibitQuotedWordLists]
+# set_themes                         = core cosmetic
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The minimum number of words in a list that will be complained about.
+# Minimum value 1. No maximum.
+# min_elements = 2
+
+# Complain even if there are non-word characters in the values.
+# strict = 0
+
+
+# Don't use whitespace at the end of lines.
+[CodeLayout::ProhibitTrailingWhitespace]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Disallow high-bit characters.
+[-CodeLayout::RequireASCII]
+# set_themes                         = more notrecommended
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Use the same newline through the source.
+[CodeLayout::RequireConsistentNewlines]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# require a semicolon at the end of code blocks
+[CodeLayout::RequireFinalSemicolon]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Whether to allow no semicolon at the end of blocks with the } closing brace on the same line as the last statement.
+# except_same_line = 1
+
+# Whether to allow no semicolon at the end of do{} expression blocks.
+# except_expression_blocks = 1
+
+
+# Must run code through perltidy.
+[-CodeLayout::RequireTidyCode]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# The Perl::Tidy configuration file to use, if any.
+# perltidyrc =
+
+
+# comma at end of list at newline
+[CodeLayout::RequireTrailingCommaAtNewline]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Don't demand a trailing comma in function call argument lists.
+# except_function_calls = 0
+
+
+# Put a comma at the end of every multi-line list declaration, including the last one.
+[CodeLayout::RequireTrailingCommas]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Require that all modules have a `use utf8;' statement.
+[-CodeLayout::RequireUseUTF8]
+# set_themes                         = swift unicode
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# new enough "constant" module for leading underscores
+[Compatibility::ConstantLeadingUnderscore]
+# set_themes                         = compatibility pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# new enough "constant" module for multiple constants
+[Compatibility::ConstantPragmaHash]
+# set_themes                         = compatibility pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# new enough Gtk2 version for its constants
+[Compatibility::Gtk2Constants]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# explicit Perl version for features used
+[Compatibility::PerlMinimumVersionAndWhy]
+# set_themes                         = compatibility pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Check only things above this version of Perl.
+# above_version =
+
+# Version checks to skip (space separated list).
+# skip_checks =
+
+
+# check Perl version declared against POD features used
+[-Compatibility::PodMinimumVersion]
+# set_themes                         = compatibility pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Check only things above this version of Perl.
+# above_version =
+
+
+# Don't allow three-argument open unless the code uses a version of perl that supports it.
+[Compatibility::ProhibitThreeArgumentOpen]
+# set_themes                         = compatibility
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# don't use explicit /dev/null
+[Compatibility::ProhibitUnixDevNull]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Write `for(0..20)' instead of `for($i=0; $i<=20; $i++)'.
+[ControlStructures::ProhibitCStyleForLoops]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Don't write long "if-elsif-elsif-elsif-elsif...else" chains.
+[ControlStructures::ProhibitCascadingIfElse]
+# set_themes                         = complexity core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of alternatives that will be allowed.
+# Minimum value 1. No maximum.
+# max_elsif = 2
+
+
+# Don't write deeply nested loops and conditionals.
+[ControlStructures::ProhibitDeepNests]
+# set_themes                         = complexity core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of nested constructs to allow.
+# Minimum value 1. No maximum.
+# max_nests = 5
+
+
+# Don't use labels that are the same as the special block names.
+[ControlStructures::ProhibitLabelsWithSpecialBlockNames]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Don't modify `$_' in list functions.
+[ControlStructures::ProhibitMutatingListFunctions]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+# The base set of functions to check.
+# list_funcs = map grep List::Util::first List::MoreUtils::any List::MoreUtils::all List::MoreUtils::none List::MoreUtils::notall List::MoreUtils::true List::MoreUtils::false List::MoreUtils::firstidx List::MoreUtils::first_index List::MoreUtils::lastidx List::MoreUtils::last_index List::MoreUtils::insert_after List::MoreUtils::insert_after_string
+
+# The set of functions to check, in addition to those given in list_funcs.
+# add_list_funcs =
+
+
+# Don't use operators like `not', `!~', and `le' within `until' and `unless'.
+[ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `if($condition){ do_something() }' instead of `do_something() if $condition'.
+[-ControlStructures::ProhibitPostfixControls]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The permitted postfix controls.
+# Valid values: for, foreach, if, unless, until, when, while.
+# allow =
+
+# The exempt flow control functions.
+# flowcontrol = carp cluck confess croak die exit goto warn
+
+
+# Write `if(! $condition)' instead of `unless($condition)'.
+[ControlStructures::ProhibitUnlessBlocks]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Don't write code after an unconditional `die, exit, or next'.
+[ControlStructures::ProhibitUnreachableCode]
+# set_themes                         = bugs certrec core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Write `while(! $condition)' instead of `until($condition)'.
+[ControlStructures::ProhibitUntilBlocks]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Check your spelling.
+[Documentation::PodSpelling]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# The command to invoke to check spelling.
+# spell_command = aspell list
+
+# The words to not consider as misspelled.
+stop_words = ShareDir sharedirs dir dirs Notedly tempdir
+
+# A file containing words to not consider as misspelled.
+# stop_words_file =
+
+
+# consecutive L<> links
+[Documentation::ProhibitAdjacentLinks]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# don't use C<> markup in a NAME section
+[Documentation::ProhibitBadAproposMarkup]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# don't duplicate =head names
+[Documentation::ProhibitDuplicateHeadings]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The scope for headings names, meaning to what extent they must not be duplicates.  Choices nested, all.
+# uniqueness = default
+
+
+# don't duplicate L<> links in SEE ALSO
+[Documentation::ProhibitDuplicateSeeAlso]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# don't L<> link to own POD
+[Documentation::ProhibitLinkToSelf]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# avoid comma at end of section
+[Documentation::ProhibitParagraphEndComma]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# don't end a paragraph with two dots
+[Documentation::ProhibitParagraphTwoDots]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# don't leave an open bracket or paren
+[Documentation::ProhibitUnbalancedParens]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# unexpanded C<> etc markup in POD verbatim paras
+[Documentation::ProhibitVerbatimMarkup]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# require __END__ before POD at end of file
+[Documentation::RequireEndBeforeLastPod]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = 1
+
+
+# end POD with =cut directive
+[Documentation::RequireFinalCut]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# use L<> markup on URLs in POD
+[Documentation::RequireLinkedURLs]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Require that all modules that contain POD have a `=encoding utf8' declaration.
+[-Documentation::RequirePODUseEncodingUTF8]
+# set_themes                         = swift unicode
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# The `=head1 NAME' section should match the package.
+[Documentation::RequirePackageMatchesPodName]
+# set_themes                         = core cosmetic
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# All POD should be after `__END__'.
+[Documentation::RequirePodAtEnd]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Provide text to display with your pod links.
+[Documentation::RequirePodLinksIncludeText]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Allow external sections without text.
+# allow_external_sections = 1
+
+# Allow internal sections without text.
+# allow_internal_sections = 1
+
+
+# Organize your POD into the customary sections.
+[-Documentation::RequirePodSections]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The sections to require for modules (separated by qr/\s* [|] \s*/xms).
+# lib_sections =
+
+# The sections to require for programs (separated by qr/\s* [|] \s*/xms).
+# script_sections =
+
+# The origin of sections to use.
+# Valid values: book, book_first_edition, module_starter_pbp, module_starter_pbp_0_0_3.
+# source = book_first_edition
+
+# The spelling of sections to use.
+# Valid values: en_AU, en_US.
+# language =
+
+
+# Per-file editor settings.
+[-Editor::RequireEmacsFileVariables]
+# set_themes                         = editor more readability
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Use functions from Carp instead of `warn' or `die'.
+[ErrorHandling::RequireCarping]
+# set_themes                         = certrule core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Don't complain about die or warn if the message ends in a newline.
+# allow_messages_ending_with_newlines = 1
+
+# Don't complain about die or warn in main::, unless in a subroutine.
+# allow_in_main_unless_in_subroutine = 0
+
+
+# You can't depend upon the value of `$@'/`$EVAL_ERROR' to tell whether an `eval' failed.
+[ErrorHandling::RequireCheckingReturnValueOfEval]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Use exceptions instead of `die', `croak', or `confess'.
+[ErrorHandling::RequireUseOfExceptions]
+# set_themes                         = maintenance more
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Discourage stuff like `@files = `ls $directory`'.
+[InputOutput::ProhibitBacktickOperators]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Allow backticks everywhere except in void contexts.
+# only_in_void_context =
+
+
+# Write `open my $fh, q{<}, $filename;' instead of `open FH, q{<}, $filename;'.
+[InputOutput::ProhibitBarewordFileHandles]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Use "<>" or "<ARGV>" or a prompting module instead of "<STDIN>".
+[InputOutput::ProhibitExplicitStdin]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Use prompt() instead of -t.
+[InputOutput::ProhibitInteractiveTest]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Use `local $/ = undef' or File::Slurp instead of joined readline.
+[InputOutput::ProhibitJoinedReadline]
+# set_themes                         = core pbp performance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Never write `select($fh)'.
+[InputOutput::ProhibitOneArgSelect]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Write `while( $line = <> ){...}' instead of `for(<>){...}'.
+[InputOutput::ProhibitReadlineInForLoop]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Write `open $fh, q{<}, $filename;' instead of `open $fh, "<$filename";'.
+[InputOutput::ProhibitTwoArgOpen]
+# set_themes                         = bugs certrule core pbp security
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Write `print {$FH} $foo, $bar;' instead of `print $FH $foo, $bar;'.
+[InputOutput::RequireBracedFileHandleWithPrint]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Close filehandles as soon as possible after opening them.
+[InputOutput::RequireBriefOpen]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of lines between an open() and a close().
+# Minimum value 1. No maximum.
+# lines = 9
+
+
+# Write `my $error = close $fh;' instead of `close $fh;'.
+[InputOutput::RequireCheckedClose]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Write `my $error = open $fh, $mode, $filename;' instead of `open $fh, $mode, $filename;'.
+[InputOutput::RequireCheckedOpen]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Return value of flagged function ignored.
+[InputOutput::RequireCheckedSyscalls]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# The set of functions to require checking the return value of.
+# functions = open close print say
+
+# The set of functions to not require checking the return value of.
+# exclude_functions =
+
+
+# Write `open $fh, q{<:encoding(UTF-8)}, $filename;' instead of `open $fh, q{{<:utf8}, $filename;'.
+[InputOutput::RequireEncodingWithUTF8Layer]
+# set_themes                         = bugs core security
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# prohibit multiline maps, not multistatement maps
+[Lax::ProhibitComplexMappings::LinesNotStatements]
+# set_themes                         = complexity lax
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# empty quotes are okay as the fallback on the rhs of ||
+[Lax::ProhibitEmptyQuotes::ExceptAsFallback]
+# set_themes                         = lax
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# leading zeroes are okay as the first arg to chmod
+[Lax::ProhibitLeadingZeros::ExceptChmod]
+# set_themes                         = bugs lax
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# stringy eval is bad, but it's okay just to "require"
+[Lax::ProhibitStringyEval::ExceptForRequire]
+# set_themes                         = danger
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# ending your package with a simple, fun true value is okay
+[Lax::RequireEndWithTrueConst]
+# set_themes                         = lax
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# you can put strict and warnings before "package"
+[Lax::RequireExplicitPackage::ExceptForPragmata]
+# set_themes                         = risky
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# Names of pragmata that are permitted before package declaration.
+allowed_pragmata = diagnostics feature perlversion strict warnings utf8
+
+# Don't require programs to have a package statement.
+# exempt_scripts = 1
+
+
+# Do not use `format'.
+[Miscellanea::ProhibitFormats]
+# set_themes                         = certrule core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Do not use `tie'.
+[Miscellanea::ProhibitTies]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Forbid a bare `## no critic'
+[Miscellanea::ProhibitUnrestrictedNoCritic]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Remove ineffective "## no critic" annotations.
+[-Miscellanea::ProhibitUselessNoCritic]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Put source-control keywords in every file.
+[-Miscellanea::RequireRcsKeywords]
+# set_themes                         = cosmetic deprecated pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The keywords to require in all files.
+# keywords =
+
+
+# check placeholder names in Locale::TextDomain calls
+[Miscellanea::TextDomainPlaceholders]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# check for Locale::TextDomain imported but unused
+[Miscellanea::TextDomainUnused]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Enforce backward compatible code.
+[Modules::PerlMinimumVersion]
+# set_themes                         = compatibility more
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# Version of perl to be compatible with.
+# version =
+
+
+# Export symbols via `@EXPORT_OK' or `%EXPORT_TAGS' instead of `@EXPORT'.
+[Modules::ProhibitAutomaticExportation]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Avoid putting conditional logic around compile-time includes.
+[Modules::ProhibitConditionalUseStatements]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Ban modules that aren't blessed by your shop.
+[Modules::ProhibitEvilModules]
+# set_themes                         = bugs certrule core
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+# The names of or patterns for modules to forbid.
+# modules = Class::ISA {Found use of Class::ISA. This module is deprecated by the Perl 5 Porters.} Pod::Plainer {Found use of Pod::Plainer. This module is deprecated by the Perl 5 Porters.} Shell {Found use of Shell. This module is deprecated by the Perl 5 Porters.} Switch {Found use of Switch. This module is deprecated by the Perl 5 Porters.}
+
+# A file containing names of or patterns for modules to forbid.
+# modules_file =
+
+
+# Minimize complexity in code that is outside of subroutines.
+[Modules::ProhibitExcessMainComplexity]
+# set_themes                         = complexity core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum complexity score allowed.
+# Minimum value 1. No maximum.
+# max_mccabe = 20
+
+
+# don't put a #! line at the start of a module file
+[Modules::ProhibitModuleShebang]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = 1
+
+# Whether to allow #!/bin/false.
+# allow_bin_false = 1
+
+
+# Put packages (especially subclasses) in separate files.
+[Modules::ProhibitMultiplePackages]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# don't import the whole of POSIX into a module
+[Modules::ProhibitPOSIXimport]
+# set_themes                         = efficiency pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# avoid quoted version number string in a "use" statement
+[Modules::ProhibitUseQuotedVersion]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `require Module' instead of `require 'Module.pm''.
+[Modules::RequireBarewordIncludes]
+# set_themes                         = core portability
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# End each module with an explicitly `1;' instead of some funky expression.
+[Modules::RequireEndWithOne]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+#
+[-Modules::RequireExplicitInclusion]
+# set_themes                         = bugs strictersubs
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Always make the `package' explicit.
+[-Modules::RequireExplicitPackage]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = 1
+
+# Don't require programs to contain a package statement.
+# exempt_scripts = 1
+
+# Allow the specified modules to be imported outside a package.
+allow_import_of = strict warnings 5.008 utf8
+
+
+# Package declaration must match filename.
+[Modules::RequireFilenameMatchesPackage]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# `use English' must be passed a `-no_match_vars' argument.
+[Modules::RequireNoMatchVarsWithUseEnglish]
+# set_themes                         = core performance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Require a `use 5.006;' or similar.
+[Modules::RequirePerlVersion]
+# set_themes                         = compatibility more
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Give every module a `$VERSION' number.
+[Modules::RequireVersionVar]
+# set_themes                         = core pbp readability
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Require role composition
+[-Moose::ProhibitMultipleWiths]
+# set_themes                         = bugs moose roles
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Don't override Moose's standard constructors.
+[Moose::ProhibitNewMethod]
+# set_themes                         = bugs moose
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Require removing implementation details from you packages.
+[Moose::RequireCleanNamespace]
+# set_themes                         = maintenance moose
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The modules that need to be unimported.
+# modules = Moose Moose::Role Moose::Util::TypeConstraints
+
+
+# Make your Moose code fast.
+[Moose::RequireMakeImmutable]
+# set_themes                         = moose performance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Distinguish different program components by case.
+[-NamingConventions::Capitalization]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# How package name components should be capitalized.  Valid values are :single_case, :all_lower, :all_upper:, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# packages = :starts_with_upper
+
+# Package names that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# package_exemptions = main
+
+# How subroutine names should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# subroutines = :single_case
+
+# Subroutine names that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# subroutine_exemptions = AUTOLOAD BUILD BUILDARGS CLEAR CLOSE DELETE DEMOLISH DESTROY EXISTS EXTEND FETCH FETCHSIZE FIRSTKEY GETC NEXTKEY POP PRINT PRINTF PUSH READ READLINE SCALAR SHIFT SPLICE STORE STORESIZE TIEARRAY TIEHANDLE TIEHASH TIESCALAR UNSHIFT UNTIE WRITE
+
+# How local lexical variables names should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# local_lexical_variables = :single_case
+
+# Local lexical variable names that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# local_lexical_variable_exemptions =
+
+# How lexical variables that are scoped to a subset of subroutines, should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# scoped_lexical_variables = :single_case
+
+# Names for variables in anonymous blocks that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# scoped_lexical_variable_exemptions =
+
+# How lexical variables at the file level should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# file_lexical_variables = :single_case
+
+# File-scope lexical variable names that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# file_lexical_variable_exemptions =
+
+# How global (package) variables should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# global_variables = :single_case
+
+# Global variable names that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# global_variable_exemptions = \$VERSION @ISA @EXPORT(?:_OK)? %EXPORT_TAGS \$AUTOLOAD %ENV %SIG \$TODO
+
+# How constant names should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# constants = :all_upper
+
+# Constant names that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# constant_exemptions =
+
+# How labels should be capitalized.  Valid values are :single_case, :all_lower, :all_upper, :starts_with_lower, :starts_with_upper, :no_restriction, or a regex.
+# labels = :all_upper
+
+# Labels that are exempt from capitalization rules.  The values here are regexes that will be surrounded by \A and \z.
+# label_exemptions =
+
+
+# Don't use vague variable or subroutine names like 'last' or 'record'.
+[NamingConventions::ProhibitAmbiguousNames]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The variable names that are not to be allowed.
+# forbid = abstract bases close contract last left no record right second set
+
+
+# Write `sub my_function{}' instead of `sub MyFunction{}'.
+[NamingConventions::ProhibitMixedCaseSubs]
+# set_themes                         = cosmetic deprecated pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Write `$my_variable = 42' instead of `$MyVariable = 42'.
+[NamingConventions::ProhibitMixedCaseVars]
+# set_themes                         = cosmetic deprecated pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Prohibit indirect object call syntax.
+[Objects::ProhibitIndirectSyntax]
+# set_themes                         = certrule core maintenance pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# Indirect method syntax is forbidden for these methods.
+# Values that are always included: new.
+# forbid =
+
+
+# Write `@{ $array_ref }' instead of `@$array_ref'.
+[References::ProhibitDoubleSigils]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Capture variable used outside conditional.
+[RegularExpressions::ProhibitCaptureWithoutTest]
+# set_themes                         = certrule core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Names of ways to generate exceptions.
+# Values that are always included: confess, croak, die.
+# exception_source =
+
+
+# Split long regexps into smaller `qr//' chunks.
+[RegularExpressions::ProhibitComplexRegexes]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of characters to allow in a regular expression.
+# Minimum value 1. No maximum.
+# max_characters = 60
+
+
+# Use named character classes instead of explicit character lists.
+[RegularExpressions::ProhibitEnumeratedClasses]
+# set_themes                         = core cosmetic pbp unicode
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Use character classes for literal meta-characters instead of escapes.
+[RegularExpressions::ProhibitEscapedMetacharacters]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Use `eq' or hash instead of fixed-pattern regexps.
+[RegularExpressions::ProhibitFixedStringMatches]
+# set_themes                         = core pbp performance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Use `[abc]' instead of `a|b|c'.
+[RegularExpressions::ProhibitSingleCharAlternation]
+# set_themes                         = core pbp performance
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+
+# Only use a capturing group if you plan to use the captured value.
+[RegularExpressions::ProhibitUnusedCapture]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Use only `//' or `{}' to delimit regexps.
+[RegularExpressions::ProhibitUnusualDelimiters]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# In addition to allowing '{}', allow '()', '[]', and '{}'.
+# allow_all_brackets =
+
+
+# Use `{' and `}' to delimit multi-line regexps.
+[RegularExpressions::RequireBracesForMultiline]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# In addition to allowing '{}', allow '()', '[]', and '{}'.
+# allow_all_brackets =
+
+
+# Always use the `/s' modifier with regular expressions.
+[RegularExpressions::RequireDotMatchAnything]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Always use the `/x' modifier with regular expressions.
+[RegularExpressions::RequireExtendedFormatting]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The number of characters that a regular expression must contain before this policy will complain.
+# Minimum value 0. No maximum.
+# minimum_regex_length_to_complain_about = 0
+
+# Should regexes that only contain whitespace and word characters be complained about?.
+# strict = 0
+
+
+# Always use the `/m' modifier with regular expressions.
+[RegularExpressions::RequireLineBoundaryMatching]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Don't call functions with a leading ampersand sigil.
+[Subroutines::ProhibitAmpersandSigils]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Don't declare your own `open' function.
+[Subroutines::ProhibitBuiltinHomonyms]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
 
+#
+[Subroutines::ProhibitCallsToUndeclaredSubs]
+# set_themes                         = bugs strictersubs
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+exempt_subs = String::Formatter::str_rf
+
+#
+[Subroutines::ProhibitCallsToUnexportedSubs]
+# set_themes                         = bugs strictersubs
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# Minimize complexity by factoring code into smaller subroutines.
+[Subroutines::ProhibitExcessComplexity]
+# set_themes                         = complexity core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum complexity score allowed.
+# Minimum value 1. No maximum.
+# max_mccabe = 20
+
+
+# Return failure with bare `return' instead of `return undef'.
+[Subroutines::ProhibitExplicitReturnUndef]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+#
+[Subroutines::ProhibitExportingUndeclaredSubs]
+# set_themes                         = bugs strictersubs
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Too many arguments.
+[Subroutines::ProhibitManyArgs]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of arguments to allow a subroutine to have.
+# Minimum value 1. No maximum.
+# max_arguments = 5
+
+
+# `sub never { sub correct {} }'.
+[Subroutines::ProhibitNestedSubs]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+#
+[Subroutines::ProhibitQualifiedSubDeclarations]
+# set_themes                         = bugs strictersubs
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Behavior of `sort' is not defined if called in scalar context.
+[Subroutines::ProhibitReturnSort]
+# set_themes                         = bugs certrule core
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Don't write `sub my_function (@@) {}'.
+[Subroutines::ProhibitSubroutinePrototypes]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Prevent unused private subroutines.
 [Subroutines::ProhibitUnusedPrivateSubroutines]
+# set_themes                         = certrec core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Pattern that determines what a private subroutine is.
 private_name_regex = _(?!build_)\w
 
+# Subroutines matching the private name regex to allow under this policy.
+# allow =
+
+
+# Prevent access to private subs in other packages.
+[Subroutines::ProtectPrivateSubs]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Pattern that determines what a private subroutine is.
+# private_name_regex = \b_\w+\b
+
+# Subroutines matching the private name regex to allow under this policy.
+# Values that are always included: POSIX::_PC_CHOWN_RESTRICTED, POSIX::_PC_LINK_MAX, POSIX::_PC_MAX_CANON, POSIX::_PC_MAX_INPUT, POSIX::_PC_NAME_MAX, POSIX::_PC_NO_TRUNC, POSIX::_PC_PATH_MAX, POSIX::_PC_PIPE_BUF, POSIX::_PC_VDISABLE, POSIX::_POSIX_ARG_MAX, POSIX::_POSIX_CHILD_MAX, POSIX::_POSIX_CHOWN_RESTRICTED, POSIX::_POSIX_JOB_CONTROL, POSIX::_POSIX_LINK_MAX, POSIX::_POSIX_MAX_CANON, POSIX::_POSIX_MAX_INPUT, POSIX::_POSIX_NAME_MAX, POSIX::_POSIX_NGROUPS_MAX, POSIX::_POSIX_NO_TRUNC, POSIX::_POSIX_OPEN_MAX, POSIX::_POSIX_PATH_MAX, POSIX::_POSIX_PIPE_BUF, POSIX::_POSIX_SAVED_IDS, POSIX::_POSIX_SSIZE_MAX, POSIX::_POSIX_STREAM_MAX, POSIX::_POSIX_TZNAME_MAX, POSIX::_POSIX_VDISABLE, POSIX::_POSIX_VERSION, POSIX::_SC_ARG_MAX, POSIX::_SC_CHILD_MAX, POSIX::_SC_CLK_TCK, POSIX::_SC_JOB_CONTROL, POSIX::_SC_NGROUPS_MAX, POSIX::_SC_OPEN_MAX, POSIX::_SC_PAGESIZE, POSIX::_SC_SAVED_IDS, POSIX::_SC_STREAM_MAX, POSIX::_SC_TZNAME_MAX, POSIX::_SC_VERSION, POSIX::_exit.
+# allow =
+
+
+# Always unpack `@_' first.
+[Subroutines::RequireArgUnpacking]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# The number of statements to allow without unpacking.
+# Minimum value 0. No maximum.
+# short_subroutine_statements = 0
+
+# Should unpacking from array slices and elements be allowed?.
+# allow_subscripts = 0
+
+# Allow the usual delegation idiom to these namespaces/subroutines.
+# Values that are always included: NEXT::, SUPER::.
+# allow_delegation_to =
+
+
+# End every path through a subroutine with an explicit `return' statement.
+[Subroutines::RequireFinalReturn]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# The additional subroutines to treat as terminal.
+# Values that are always included: Carp::confess, Carp::croak, confess, croak, die, exec, exit, throw.
+# terminal_funcs =
+
+
+# Prohibit various flavors of `no strict'.
+[TestingAndDebugging::ProhibitNoStrict]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+# Allow vars, subs, and/or refs.
+# allow =
+
+
+# Prohibit various flavors of `no warnings'.
+[TestingAndDebugging::ProhibitNoWarnings]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# Permitted warning categories.
+# allow =
+
+# Allow "no warnings" if it restricts the kinds of warnings that are turned off.
+# allow_with_category_restriction = 0
+
+
+# Don't turn off strict for large blocks of code.
+[TestingAndDebugging::ProhibitProlongedStrictureOverride]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# The maximum number of statements in a no strict block.
+# Minimum value 1. No maximum.
+# statements = 3
+
+
+# Tests should all have labels.
+[TestingAndDebugging::RequireTestLabels]
+# set_themes                         = core maintenance tests
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The additional modules to require labels for.
+# Values that are always included: Test::More.
+# modules =
+
+
+# Always `use strict'.
 [TestingAndDebugging::RequireUseStrict]
+# set_themes                         = bugs certrec certrule core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = 1
+
+# The additional modules to treat as equivalent to "strict".
+# Values that are always included: Moose, Moose::Role, Moose::Util::TypeConstraints, strict.
 equivalent_modules = Moose
 
+
+# Always `use warnings'.
 [TestingAndDebugging::RequireUseWarnings]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = 1
+
+# The additional modules to treat as equivalent to "warnings".
+# Values that are always included: Moose, Moose::Role, Moose::Util::TypeConstraints, warnings.
 equivalent_modules = Moose
 
+
+# 80 x 40 for life!
+[Tics::ProhibitLongLines]
+# set_themes                         = tics
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# No description available.
+base_max = 130
+
+# No description available.
+# hard_max =
+
+# No description available.
+# pct_allowed =
+
+
+# (this => is => not => good)
+[Tics::ProhibitManyArrows]
+# set_themes                         = tics
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# No description available.
+# max_allowed =
+
+
+# do not use base.pm
+[Tics::ProhibitUseBase]
+# set_themes                         = tics
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+# Cannot programmatically discover what parameters this policy takes.
+
+
+# disallow bareword before <
+[ValuesAndExpressions::ConstantBeforeLt]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# logical not used with compare
+[ValuesAndExpressions::NotWithCompare]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# don't assign an anonymous arrayref to an array
+[ValuesAndExpressions::ProhibitArrayAssignAref]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# don't use Foo:: style barewords
+[ValuesAndExpressions::ProhibitBarewordDoubleColon]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# Whether to allow double-colon in indirect object syntax "new Foo:: arg,arg".
+# allow_indirect_syntax = 1
+
+
+# Don't use the comma operator as a statement separator.
+[ValuesAndExpressions::ProhibitCommaSeparatedStatements]
+# set_themes                         = bugs certrule core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# Allow map and grep blocks to return lists.
+# allow_last_statement_to_be_comma_separated_in_map_and_grep = 0
+
+
+# Prohibit version values from outside the module.
+[ValuesAndExpressions::ProhibitComplexVersion]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Make "use version; our $VERSION = qv('1.2.3');" a violation of this policy.
+# forbid_use_version = 0
+
+
+# Don't `use constant FOO => 15'.
+[ValuesAndExpressions::ProhibitConstantPragma]
+# set_themes                         = bugs core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# disallow duplicate literal hash keys
+[ValuesAndExpressions::ProhibitDuplicateHashKeys]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# disallow empty consecutive commas
+[-ValuesAndExpressions::ProhibitEmptyCommas]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Write `q{}' instead of `'''.
+[ValuesAndExpressions::ProhibitEmptyQuotes]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Write `"\N{DELETE}"' instead of `"\x7F"', etc.
+[ValuesAndExpressions::ProhibitEscapedCharacters]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# don't use the -f file test
+[ValuesAndExpressions::ProhibitFiletest_f]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Use concatenation or HEREDOCs instead of literal line breaks in strings.
+[ValuesAndExpressions::ProhibitImplicitNewlines]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Always use single quotes for literal strings.
+[ValuesAndExpressions::ProhibitInterpolationOfLiterals]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# Kinds of delimiters to permit, e.g. "qq{", "qq(", "qq[", "qq/".
+# allow =
+
+# If the string contains ' characters, allow "" to quote it.
+# allow_if_string_contains_single_quote = 0
+
+
+# Write `oct(755)' instead of `0755'.
+[ValuesAndExpressions::ProhibitLeadingZeros]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+# Don't allow any leading zeros at all.  Otherwise builtins that deal with Unix permissions, e.g. chmod, don't get flagged.
+# strict = 0
+
+
+# Long chains of method calls indicate tightly coupled code.
+[ValuesAndExpressions::ProhibitLongChainsOfMethodCalls]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The number of chained calls to allow.
+# Minimum value 1. No maximum.
+# max_chain_length = 3
+
+
+# Don't use values that don't explain themselves.
+[-ValuesAndExpressions::ProhibitMagicNumbers]
+# set_themes                         = certrec core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = 10
+
+# Individual and ranges of values to allow, and/or "all_integers".
+# allowed_values = 0 1 2
+
+# Kind of literals to allow.
+# Valid values: Binary, Exp, Float, Hex, Octal.
+# allowed_types = Float
+
+# Should anything to the right of a "=>" be allowed?.
+# allow_to_the_right_of_a_fat_comma = 1
+
+# Names of subroutines that create constants.
+# Values that are always included: Readonly, Readonly::Array, Readonly::Hash, Readonly::Scalar, const.
+# constant_creator_subroutines =
+
+
+# Don't mix numeric operators with string operands, or vice-versa.
+[ValuesAndExpressions::ProhibitMismatchedOperators]
+# set_themes                         = bugs certrule core
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write ` !$foo && $bar || $baz ' instead of ` not $foo && $bar or $baz'.
+[ValuesAndExpressions::ProhibitMixedBooleanOperators]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Use `q{}' or `qq{}' instead of quotes for awkward-looking strings.
+[ValuesAndExpressions::ProhibitNoisyQuotes]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# disallow empty statements (stray semicolons)
+[ValuesAndExpressions::ProhibitNullStatements]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Whether to allow Perl 4 style ";#" comments.
+# allow_perl4_semihash = 0
+
+
+# Don't use quotes (`'', `"', ``') as delimiters for the quote-like operators.
+[ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The operators to allow single-quotes as delimiters for.
+# Valid values: m, q, qq, qr, qw, qx, s, tr, y.
+# single_quote_allowed_operators = m s qr qx
+
+# The operators to allow double-quotes as delimiters for.
+# Valid values: m, q, qq, qr, qw, qx, s, tr, y.
+# double_quote_allowed_operators =
+
+# The operators to allow back-quotes (back-ticks) as delimiters for.
+# Valid values: m, q, qq, qr, qw, qx, s, tr, y.
+# back_quote_allowed_operators =
+
+
+# Don't write ` print <<'__END__' '.
+[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# don't use undefined backslash forms
+[ValuesAndExpressions::ProhibitUnknownBackslash]
+# set_themes                         = cosmetic pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Checking of single-quote strings.
+# single = none
+
+# Checking of double-quote strings.
+# double = all
+
+# Checking of interpolated here-documents.
+# heredoc = all
+
+
+# Don't use strings like `v1.4' or `1.4.5' when including other modules.
+[ValuesAndExpressions::ProhibitVersionStrings]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Putting the constant value on the left side of an equality exposes typos.
+[ValuesAndExpressions::RequireConstantOnLeftSideOfEquality]
+# set_themes                         = more
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Require $VERSION to be a constant rather than a computed value.
+[ValuesAndExpressions::RequireConstantVersion]
+# set_themes                         = core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# Allow qv() and version->new() without a 'use version' on the same line.
+# allow_version_without_use_on_same_line = 0
+
+
+# Warns that you might have used single quotes when you really wanted double-quotes.
+[ValuesAndExpressions::RequireInterpolationOfMetachars]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 1
+# maximum_violations_per_document    = no_limit
+
+# RCS keywords to ignore in potential interpolation.
+# rcs_keywords =
+
+
+# Write ` 141_234_397.0145 ' instead of ` 141234397.0145 '.
+[ValuesAndExpressions::RequireNumberSeparators]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The minimum absolute value to require separators in.
+# Minimum value 10. No maximum.
+# min_value = 10_000
+
+
+# $VERSION a plain number
+[ValuesAndExpressions::RequireNumericVersion]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write ` print <<'THE_END' ' or ` print <<"THE_END" '.
+[ValuesAndExpressions::RequireQuotedHeredocTerminator]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write ` <<'THE_END'; ' instead of ` <<'theEnd'; '.
+[ValuesAndExpressions::RequireUpperCaseHeredocTerminator]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Stop mixing long strings with code.
+[ValuesAndExpressions::RestrictLongStrings]
+# set_themes                         = more readability
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The maximum line length to allow.
+# Minimum value 1. No maximum.
+# max_length = 78
+
+
+# specials like __PACKAGE__ used literally
+[ValuesAndExpressions::UnexpandedSpecialLiteral]
+# set_themes                         = bugs pulp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Do not write ` my $foo .= 'bar'; '.
+[Variables::ProhibitAugmentedAssignmentInDeclaration]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Do not write ` my $foo = $bar if $baz; '.
+[Variables::ProhibitConditionalDeclarations]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Use `my' instead of `local', except when you have to.
+[Variables::ProhibitLocalVars]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Avoid `$`', `$&', `$'' and their English equivalents.
+[Variables::ProhibitMatchVars]
+# set_themes                         = core pbp performance
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
+# Eliminate globals declared with `our' or `use vars'.
+[Variables::ProhibitPackageVars]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The base set of packages to allow variables for.
+# packages = Data::Dumper File::Find FindBin Log::Log4perl
+
+# The set of packages to allow variables for, in addition to those given in "packages".
+# add_packages =
+
+
+# Use double colon (::) to separate package name components instead of single quotes (').
+[Variables::ProhibitPerl4PackageNames]
+# set_themes                         = certrec core maintenance
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+
+# Write `$EVAL_ERROR' instead of `$@'.
+[-Variables::ProhibitPunctuationVars]
+# set_themes                         = core cosmetic pbp
+# add_themes                         =
+# severity                           = 2
+# maximum_violations_per_document    = no_limit
+
+# The additional variables to allow.
+# Values that are always included: $1, $2, $3, $4, $5, $6, $7, $8, $9, $], $_, @_, _.
+# allow =
+
+# Controls checking interpolated strings for punctuation variables.
+# Valid values: disable, simple, thorough.
+# string_mode = thorough
+
+
+# Do not reuse a variable name in a lexical scope
+[Variables::ProhibitReusedNames]
+# set_themes                         = bugs core
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# The variables to not consider as duplicates.
+# allow = $self $class
+
+
+# Don't ask for storage you don't need.
+[Variables::ProhibitUnusedVariables]
+# set_themes                         = certrec core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Don't ask for storage you don't need.
+[Variables::ProhibitUnusedVarsStricter]
+# set_themes                         = maintenance trw
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+# Allow if computed by one of these.
+# allow_if_computed_by =
+
+# Prohibit reference-only variables.
+# prohibit_reference_only_variables = 0
+
+# Allow unused subroutine arguments.
+# allow_unused_subroutine_arguments = 0
+
+
+# Prevent access to private vars in other packages.
+[Variables::ProtectPrivateVars]
+# set_themes                         = certrule core maintenance
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `local $foo = $bar;' instead of just `local $foo;'.
+[Variables::RequireInitializationForLocalVars]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 3
+# maximum_violations_per_document    = no_limit
+
+
+# Write `for my $element (@list) {...}' instead of `for $element (@list) {...}'.
+[Variables::RequireLexicalLoopIterators]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 5
+# maximum_violations_per_document    = no_limit
+
+
+# Magic variables should be assigned as "local".
+[Variables::RequireLocalizedPunctuationVars]
+# set_themes                         = bugs certrec core pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+# Global variables to exclude from this policy.
+# Values that are always included: $ARG, $_, @_.
+# allow =
+
+
+# Negative array index should be used.
+[Variables::RequireNegativeIndices]
+# set_themes                         = core maintenance pbp
+# add_themes                         =
+# severity                           = 4
+# maximum_violations_per_document    = no_limit
+
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir/Dist.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir/Dist.pm");
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir/Module.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir/Module.pm");
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir/Object/Dist.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir/Object/Dist.pm");
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir/Object/Inc.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir/Object/Inc.pm");
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir/Object/Module.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir/Object/Module.pm");
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir/TempDirObject.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir/TempDirObject.pm");
+
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+
+# This test was generated for <lib/Test/File/ShareDir.pm>
+# using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001
+# with template 01-basic.t.tpl
+
+use Test::More 0.89 tests => 1;
+
+require_ok("lib/Test/File/ShareDir.pm");
+
@@ -1,74 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-
-use Test::More;
-
-
-
-use File::Find;
-use File::Temp qw{ tempdir };
-
-my @modules;
-find(
-  sub {
-    return if $File::Find::name !~ /\.pm\z/;
-    my $found = $File::Find::name;
-    $found =~ s{^lib/}{};
-    $found =~ s{[/\\]}{::}g;
-    $found =~ s/\.pm$//;
-    # nothing to skip
-    push @modules, $found;
-  },
-  'lib',
-);
-
-sub _find_scripts {
-    my $dir = shift @_;
-
-    my @found_scripts = ();
-    find(
-      sub {
-        return unless -f;
-        my $found = $File::Find::name;
-        # nothing to skip
-        open my $FH, '<', $_ or do {
-          note( "Unable to open $found in ( $! ), skipping" );
-          return;
-        };
-        my $shebang = <$FH>;
-        return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
-        push @found_scripts, $found;
-      },
-      $dir,
-    );
-
-    return @found_scripts;
-}
-
-my @scripts;
-do { push @scripts, _find_scripts($_) if -d $_ }
-    for qw{ bin script scripts };
-
-my $plan = scalar(@modules) + scalar(@scripts);
-$plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
-
-{
-    # fake home for cpan-testers
-    # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
-    like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" )
-        for sort @modules;
-
-    SKIP: {
-        eval "use Test::Script 1.05; 1;";
-        skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
-        foreach my $file ( @scripts ) {
-            my $script = $file;
-            $script =~ s!.*/!!;
-            script_compiles( $file, "$script script compiles" );
-        }
-    }
-
-}
@@ -0,0 +1,233 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.013
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec::Functions;
+use List::Util qw/max/;
+use version;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_req = "CPAN::Meta::Requirements";
+my $HAS_CPAN_META = eval "require $cpan_meta"; ## no critic
+my $HAS_CPAN_META_REQ = eval "require $cpan_meta_req; $cpan_meta_req->VERSION('2.120900')";
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _merge_requires {
+    my ($collector, $prereqs) = @_;
+    for my $phase ( qw/configure build test runtime develop/ ) {
+        next unless exists $prereqs->{$phase};
+        if ( my $req = $prereqs->{$phase}{'requires'} ) {
+            my $cmr = CPAN::Meta::Requirements->from_string_hash( $req );
+            $collector->add_requirements( $cmr );
+        }
+    }
+}
+
+my %include = map {; $_ => 1 } qw(
+
+);
+
+my %exclude = map {; $_ => 1 } qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do { my $x = {
+       'configure' => {
+                        'recommends' => {
+                                          'ExtUtils::MakeMaker' => '6.86'
+                                        },
+                        'requires' => {
+                                        'ExtUtils::MakeMaker' => '6.30'
+                                      }
+                      },
+       'develop' => {
+                      'requires' => {
+                                      'Dist::Zilla::Plugin::Authority' => '1.006',
+                                      'Dist::Zilla::Plugin::AutoPrereqs' => '0',
+                                      'Dist::Zilla::Plugin::ConfirmRelease' => '0',
+                                      'Dist::Zilla::Plugin::EOLTests' => '0',
+                                      'Dist::Zilla::Plugin::Git::Check' => '0',
+                                      'Dist::Zilla::Plugin::Git::Commit' => '0',
+                                      'Dist::Zilla::Plugin::Git::CommitBuild' => '0',
+                                      'Dist::Zilla::Plugin::Git::GatherDir' => '0',
+                                      'Dist::Zilla::Plugin::Git::NextRelease' => '0',
+                                      'Dist::Zilla::Plugin::Git::NextVersion::Sanitized' => '0',
+                                      'Dist::Zilla::Plugin::Git::Tag' => '0',
+                                      'Dist::Zilla::Plugin::GithubMeta' => '0',
+                                      'Dist::Zilla::Plugin::License' => '0',
+                                      'Dist::Zilla::Plugin::MakeMaker' => '0',
+                                      'Dist::Zilla::Plugin::Manifest' => '0',
+                                      'Dist::Zilla::Plugin::ManifestSkip' => '0',
+                                      'Dist::Zilla::Plugin::MetaConfig' => '0',
+                                      'Dist::Zilla::Plugin::MetaData::BuiltWith' => '0',
+                                      'Dist::Zilla::Plugin::MetaJSON' => '0',
+                                      'Dist::Zilla::Plugin::MetaProvides::Package' => '1.14000001',
+                                      'Dist::Zilla::Plugin::MetaTests' => '0',
+                                      'Dist::Zilla::Plugin::MetaYAML' => '0',
+                                      'Dist::Zilla::Plugin::MinimumPerl' => '0',
+                                      'Dist::Zilla::Plugin::PkgVersion' => '0',
+                                      'Dist::Zilla::Plugin::PodCoverageTests' => '0',
+                                      'Dist::Zilla::Plugin::PodSyntaxTests' => '0',
+                                      'Dist::Zilla::Plugin::PodWeaver' => '0',
+                                      'Dist::Zilla::Plugin::Prereqs' => '0',
+                                      'Dist::Zilla::Plugin::Prereqs::Recommend::MatchInstalled' => '0',
+                                      'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0',
+                                      'Dist::Zilla::Plugin::ReadmeFromPod' => '0',
+                                      'Dist::Zilla::Plugin::RunExtraTests' => '0',
+                                      'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0',
+                                      'Dist::Zilla::Plugin::Test::Compile::PerFile' => '0',
+                                      'Dist::Zilla::Plugin::Test::Kwalitee' => '0',
+                                      'Dist::Zilla::Plugin::Test::MinimumVersion' => '0',
+                                      'Dist::Zilla::Plugin::Test::Perl::Critic' => '0',
+                                      'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0',
+                                      'Dist::Zilla::Plugin::TestRelease' => '0',
+                                      'Dist::Zilla::Plugin::Twitter' => '0',
+                                      'Dist::Zilla::Plugin::UploadToCPAN' => '0',
+                                      'Dist::Zilla::PluginBundle::Author::KENTNL' => '2.011001',
+                                      'Pod::Coverage::TrustPod' => '0',
+                                      'Test::CPAN::Changes' => '0.19',
+                                      'Test::CPAN::Meta' => '0',
+                                      'Test::Kwalitee' => '1.12',
+                                      'Test::Pod' => '1.41',
+                                      'Test::Pod::Coverage' => '1.08'
+                                    },
+                      'suggests' => {
+                                      'Dist::Zilla::PluginBundle::Author::KENTNL::Lite' => 'v1.3.0'
+                                    }
+                    },
+       'runtime' => {
+                      'requires' => {
+                                      'Carp' => '0',
+                                      'Class::Tiny' => '0',
+                                      'File::Copy::Recursive' => '0',
+                                      'File::ShareDir' => '1.00',
+                                      'File::Temp' => '0',
+                                      'Path::Tiny' => '0',
+                                      'perl' => '5.006',
+                                      'strict' => '0',
+                                      'warnings' => '0'
+                                    }
+                    },
+       'test' => {
+                   'recommends' => {
+                                     'CPAN::Meta' => '0',
+                                     'CPAN::Meta::Requirements' => '2.120900',
+                                     'ExtUtils::MakeMaker' => '6.86',
+                                     'Test::More' => '1.001002'
+                                   },
+                   'requires' => {
+                                   'Cwd' => '0',
+                                   'ExtUtils::MakeMaker' => '0',
+                                   'File::Spec::Functions' => '0',
+                                   'FindBin' => '0',
+                                   'List::Util' => '0',
+                                   'Test::Fatal' => '0',
+                                   'Test::More' => '0.96',
+                                   'lib' => '0',
+                                   'version' => '0'
+                                 }
+                 }
+     };
+  $x;
+ };
+
+delete $static_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
+$include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$static_prereqs;
+
+# Merge requirements for major phases (if we can)
+my $all_requires;
+if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
+    $all_requires = $cpan_meta_req->new;
+    _merge_requires($all_requires, $static_prereqs);
+}
+
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+if ( $source && $HAS_CPAN_META ) {
+  if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
+    my $dynamic_prereqs = $meta->prereqs;
+    delete $dynamic_prereqs->{develop} if not $ENV{AUTHOR_TESTING};
+    $include{$_} = 1 for map { keys %$_ } map { values %$_ } values %$dynamic_prereqs;
+
+    if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META_REQ ) {
+        _merge_requires($all_requires, $dynamic_prereqs);
+    }
+  }
+}
+else {
+  $source = 'static metadata';
+}
+
+my @modules = sort grep { ! $exclude{$_} } keys %include;
+my @reports = [qw/Version Module/];
+my @dep_errors;
+my $req_hash = defined($all_requires) ? $all_requires->as_string_hash : {};
+
+for my $mod ( @modules ) {
+  next if $mod eq 'perl';
+  my $file = $mod;
+  $file =~ s{::}{/}g;
+  $file .= ".pm";
+  my ($prefix) = grep { -e catfile($_, $file) } @INC;
+  if ( $prefix ) {
+    my $ver = MM->parse_version( catfile($prefix, $file) );
+    $ver = "undef" unless defined $ver; # Newer MM should do this anyway
+    push @reports, [$ver, $mod];
+
+    if ( $DO_VERIFY_PREREQS && $all_requires ) {
+      my $req = $req_hash->{$mod};
+      if ( defined $req && length $req ) {
+        if ( ! defined eval { version->parse($ver) } ) {
+          push @dep_errors, "$mod version '$ver' cannot be parsed (version '$req' required)";
+        }
+        elsif ( ! $all_requires->accepts_module( $mod => $ver ) ) {
+          push @dep_errors, "$mod version '$ver' is not in required range '$req'";
+        }
+      }
+    }
+
+  }
+  else {
+    push @reports, ["missing", $mod];
+
+    if ( $DO_VERIFY_PREREQS && $all_requires ) {
+      my $req = $req_hash->{$mod};
+      if ( defined $req && length $req ) {
+        push @dep_errors, "$mod is not installed (version '$req' required)";
+      }
+    }
+  }
+}
+
+if ( @reports ) {
+  my $vl = max map { length $_->[0] } @reports;
+  my $ml = max map { length $_->[1] } @reports;
+  splice @reports, 1, 0, ["-" x $vl, "-" x $ml];
+  diag "\nVersions for all modules listed in $source (including optional ones):\n",
+    map {sprintf("  %*s %*s\n",$vl,$_->[0],-$ml,$_->[1])} @reports;
+}
+
+if ( @dep_errors ) {
+  diag join("\n",
+    "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
+    "The following REQUIRED prerequisites were not satisfied:\n",
+    @dep_errors,
+    "\n"
+  );
+}
+
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
@@ -1,89 +0,0 @@
-use strict;
-use warnings;
-use Test::More 0.88;
-# This is a relatively nice way to avoid Test::NoWarnings breaking our
-# expectations by adding extra tests, without using no_plan.  It also helps
-# avoid any other test module that feels introducing random tests, or even
-# test plans, is a nice idea.
-our $success = 0;
-END { $success && done_testing; }
-
-# List our own version used to generate this
-my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08\n";
-
-eval {                     # no excuses!
-    # report our Perl details
-    my $want = '5.006';
-    $v .= "perl: $] (wanted $want) on $^O from $^X\n\n";
-};
-defined($@) and diag("$@");
-
-# Now, our module version dependencies:
-sub pmver {
-    my ($module, $wanted) = @_;
-    $wanted = " (want $wanted)";
-    my $pmver;
-    eval "require $module;";
-    if ($@) {
-        if ($@ =~ m/Can't locate .* in \@INC/) {
-            $pmver = 'module not found.';
-        } else {
-            diag("${module}: $@");
-            $pmver = 'died during require.';
-        }
-    } else {
-        my $version;
-        eval { $version = $module->VERSION; };
-        if ($@) {
-            diag("${module}: $@");
-            $pmver = 'died during VERSION check.';
-        } elsif (defined $version) {
-            $pmver = "$version";
-        } else {
-            $pmver = '<undef>';
-        }
-    }
-
-    # So, we should be good, right?
-    return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n");
-}
-
-eval { $v .= pmver('Carp','any version') };
-eval { $v .= pmver('Cwd','any version') };
-eval { $v .= pmver('Dist::Zilla::PluginBundle::Author::KENTNL','v1.7.2') };
-eval { $v .= pmver('Dist::Zilla::PluginBundle::Author::KENTNL::Lite','v1.3.0') };
-eval { $v .= pmver('File::Copy::Recursive','any version') };
-eval { $v .= pmver('File::Find','any version') };
-eval { $v .= pmver('File::ShareDir','1.00') };
-eval { $v .= pmver('File::Temp','any version') };
-eval { $v .= pmver('FindBin','any version') };
-eval { $v .= pmver('Module::Build','0.4004') };
-eval { $v .= pmver('Path::Tiny','any version') };
-eval { $v .= pmver('Pod::Coverage::TrustPod','any version') };
-eval { $v .= pmver('Test::CPAN::Meta','any version') };
-eval { $v .= pmver('Test::Fatal','any version') };
-eval { $v .= pmver('Test::More','0.98') };
-eval { $v .= pmver('Test::Pod','1.41') };
-eval { $v .= pmver('Test::Pod::Coverage','1.08') };
-eval { $v .= pmver('strict','any version') };
-eval { $v .= pmver('version','0.9901') };
-eval { $v .= pmver('warnings','any version') };
-
-
-# All done.
-$v .= <<'EOT';
-
-Thanks for using my code.  I hope it works for you.
-If not, please try and include this output in the bug report.
-That will help me reproduce the issue and solve your problem.
-
-EOT
-
-diag($v);
-ok(1, "we really didn't test anything, just reporting data");
-$success = 1;
-
-# Work around another nasty module on CPAN. :/
-no warnings 'once';
-$Template::Test::NO_FLUSH = 1;
-exit 0;
@@ -0,0 +1,36 @@
+
+use strict;
+use warnings;
+
+use Test::More 0.96;
+use Test::Fatal;
+use FindBin;
+
+use Test::File::ShareDir::Module {
+  '-root' => "$FindBin::Bin/04_files",
+  Example => 'share',
+};
+
+use lib "$FindBin::Bin/04_files/lib";
+
+use Example;
+
+use File::ShareDir qw( module_dir module_file );
+
+is(
+  exception {
+    note module_dir('Example');
+  },
+  undef,
+  'module_dir doesn\'t bail as it finds the dir'
+);
+
+is(
+  exception {
+    note module_file( 'Example', 'afile' );
+  },
+  undef,
+  'module_file doesn\'t bail as it finds the file'
+);
+
+done_testing;
@@ -0,0 +1,9 @@
+#
+#===============================================================================
+
+use strict;
+use warnings;
+
+package Example;
+
+1;
@@ -0,0 +1 @@
+Contents
@@ -0,0 +1,31 @@
+
+use strict;
+use warnings;
+
+use Test::More 0.96;
+use Test::Fatal;
+use FindBin;
+use Test::File::ShareDir::Dist {
+  '-root'        => "$FindBin::Bin/05_files",
+  'Example-Dist' => 'share'
+};
+
+use File::ShareDir qw( dist_dir dist_file );
+
+is(
+  exception {
+    note dist_dir('Example-Dist');
+  },
+  undef,
+  'dist_dir doesn\'t bail as it finds the dir'
+);
+
+is(
+  exception {
+    note dist_file( 'Example-Dist', 'afile' );
+  },
+  undef,
+  'dist_file doesn\'t bail as it finds the file'
+);
+
+done_testing;
@@ -0,0 +1 @@
+Contents
@@ -0,0 +1,46 @@
+
+use strict;
+use warnings;
+
+use Test::More 0.96;
+use Test::Fatal;
+use FindBin;
+use Cwd qw(chdir getcwd);
+my $prevcwd;
+
+use lib "$FindBin::Bin/../lib";
+
+BEGIN {
+  $prevcwd = getcwd;
+  chdir "$FindBin::Bin/06_files";
+}
+
+use Test::File::ShareDir::Module { 'Example' => 'share' };
+
+BEGIN {
+  chdir $prevcwd;
+}
+
+use lib "$FindBin::Bin/06_files/lib";
+
+use Example;
+
+use File::ShareDir qw( module_dir module_file );
+
+is(
+  exception {
+    note module_dir('Example');
+  },
+  undef,
+  'module_dir doesn\'t bail as it finds the dir'
+);
+
+is(
+  exception {
+    note module_file( 'Example', 'afile' );
+  },
+  undef,
+  'module_file doesn\'t bail as it finds the file'
+);
+
+done_testing;
@@ -0,0 +1,9 @@
+#
+#===============================================================================
+
+use strict;
+use warnings;
+
+package Example;
+
+1;
@@ -0,0 +1 @@
+Contents
@@ -1,4 +1,5 @@
 [@CorePrep]
+[-SingleEncoding]
 
 [Name]
 [Version]
@@ -8,7 +9,7 @@
 [Generic / SYNOPSIS]
 [Generic / DESCRIPTION]
 [Generic / OVERVIEW]
-
+[Generic / SIMPLE INTERFACE]
 ;[Generic / METHODS]
 ;[Collect / METHODS]
 [Collect / METHODS]
@@ -1,7 +1,11 @@
 #!perl
 
-use Test::More;
-eval 'use Test::CPAN::Changes';
-plan skip_all => 'Test::CPAN::Changes required for this test' if $@;
-changes_ok();
+use strict;
+use warnings;
+
+use Test::More 0.96 tests => 2;
+use_ok('Test::CPAN::Changes');
+subtest 'changes_ok' => sub {
+    changes_file_ok('Changes');
+};
 done_testing();
@@ -1,4 +1,5 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
 
 use Test::More;
 
@@ -1,9 +1,4 @@
-#!perl
-
-# This test is generated by Dist::Zilla::Plugin::Test::Kwalitee
+# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.07
 use strict;
 use warnings;
-use Test::More;   # needed to provide plan.
-eval "use Test::Kwalitee";
-
-plan skip_all => "Test::Kwalitee required for testing kwalitee" if $@;
+use Test::Kwalitee;
@@ -1,4 +1,5 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.
 
 use Test::More;
 
@@ -1,4 +1,5 @@
 #!perl
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
 use Test::More;
 
 eval "use Test::Pod 1.41";