--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+use Test::Requires {
+ 'Test::Pod::Coverage' => '1.04',
+ 'Pod::Coverage::Moose' => '0.02',
+};
+
+my %skip = map { $_ => 1 } qw( MooseX::Types::CheckedUtilExports );
+
+my @modules = grep { !( $skip{$_} } all_modules();
+
+my %trustme = ( Courriel => ['replace_body'] );
+
+for my $module ( sort @modules ) {
+ my $trustme = [];
+
+ if ( $trustme{$module} ) {
+ if ( ref $trustme{$module} eq 'ARRAY' ) {
+ my $methods = join '|', @{ $trustme{$module} };
+ $trustme = [qr/^(?:$methods)$/];
+ }
+ else {
+ $trustme = [ $trustme{$module} ];
+ }
+ }
+
+ push @{$trustme}, qr/^BUILD$/;
+
+ pod_coverage_ok(
+ $module, {
+ coverage_class => 'Pod::Coverage::Moose',
+ trustme => $trustme,
+ },
+ "Pod coverage for $module"
+ );
+}
+
+done_testing();
--- /dev/null
+use strict;
+use warnings;
+
+use Test::Spelling;
+
+my @stopwords;
+for (<DATA>) {
+ chomp;
+ push @stopwords, $_
+ unless /\A (?: \# | \s* \z)/msx;
+}
+
+add_stopwords(@stopwords);
+set_spell_cmd('aspell list -l en');
+
+# This prevents a weird segfault from the aspell command - see
+# https://bugs.launchpad.net/ubuntu/+source/aspell/+bug/71322
+local $ENV{LC_ALL} = 'C';
+all_pod_files_spelling_ok;
+
+__DATA__
+API
+Kitover
+MyStr
+Napiorkowski
+Pearcey
+Perlop
+Ragwitz
+Rolsky
+Sedlacek
+StrOrArrayRef
+TODO
+TypeAndSubExporter
+Upi
+autarch
+caelum
+documention
+gotcha's
+hdp
+isa
+jnapiorkowski
+parameterize
+parameterized
+phaylon
+rafl
+subtyping
+typeconstraint