=begin pod :tag<tutorial>

=TITLE Module Development Utilities

=SUBTITLE What can help you write/test/improve your module(s)

Here is a list of modules that you can find in the Perl 6 ecosystem
which aim to make the experience of developing Perl 6 modules
more fun.


=head1 Module builder and Authoring tools

Some modules and tools to help you with generating files that are part
of a module distribution.

=item L<App::Mi6|https://modules.perl6.org/dist/App::Mi6>     Minimal authoring tool for Perl 6
=item L<META6|https://modules.perl6.org/dist/META6>        Do things with Perl 6 META files
=item L<Module::Skeleton|https://bitbucket.org/rightfold/module-skeleton>        Generate a skeleton module
=item L<p6doc|https://modules.perl6.org/dist/p6doc>        Generate documentation end-products


=head1 Tests

Some tests of module quality.

=item L<Test::META|https://modules.perl6.org/dist/Test::META>      Test your META6.json file
=item L<Test::Output|https://modules.perl6.org/dist/Test::Output>  Test the output to STDOUT and STDERR your program generates
=item L<Test::Screen|https://modules.perl6.org/dist/Proc::Screen>  Use B<GNU screen> to test full screen VT applications
=item L<Test::When|https://modules.perl6.org/dist/Test::When>  Control when your tests are run (author testing, online testing, etc.)

=head1 NativeCall

Here some modules to help you work with NativeCall.

=item L<NativeHelpers::Array|https://modules.perl6.org/dist/NativeHelpers::Array>  Provides routines to deal with CArray
=item L<App::GPTrixie|https://modules.perl6.org/dist/App::GPTrixie>                Generate NativeCall code from C headers file
=item L<NativeCall::TypeDiag|https://modules.perl6.org/dist/NativeCall::TypeDiag>  Provides routines to test your CStruct


=head1 Sample modules

Modules that exist only as minimalist examples, tests for installers,
or skeletons.

=item L<Foo|https://modules.perl6.org/dist/Foo> A module with two distributions of different versions

=end pod
