minimal authoring tool for Perl6
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin rm tl Oct 26, 2018
lib/App 0.2.3 Nov 3, 2018
t add dist test Aug 20, 2017
xt use git ls-files Sep 4, 2018
.gitignore introduce dist command May 13, 2017
.travis.yml language: generic Mar 26, 2018
Changes 0.2.3 Nov 3, 2018
LICENSE follow rakudo/rakudo@47f5300 Mar 18, 2017
META6.json pause files can be encrypted as binary format Oct 1, 2018
dist.ini fix Oct 9, 2017

Build Status


App::Mi6 - minimal authoring tool for Perl6


> mi6 new Foo::Bar # create Foo-Bar distribution
> mi6 build        # build the distribution and re-generate
> mi6 test         # run tests
> mi6 release      # release your distribution to CPAN


> zef install App::Mi6


App::Mi6 is a minimal authoring tool for Perl6. Features are:

  • Create minimal distribution skeleton for Perl6

  • Generate from lib/Main/Module.pm6's pod

  • Run tests by mi6 test

  • Release your distribution tarball to CPAN


Can I customize mi6 behavior?

Yes. Use dist.ini:

; dist.ini
name = Your-Module-Name

; if you want to disable generating from main module's pod, then:
; enable = false
; if you want to change a file that generates, then:
; filename = lib/Your/Tutorial.pod

; if you want to prune files when packaging, then
; filename = utils/
; you can use Perl6 regular expressions
; match = ^ 'xt/'

; if you do not want to list some files in META6.json as "provides", then
; filename = lib/Should/Not/List/Provides.pm6

How can I manage depends, build-depends, test-depends?

Write them to META6.json directly :)

Where is the spec of META6.json?

See also The Meta spec, Distribution, and CompUnit::Repository explained-ish by ugexe.

What is the format of the .pause file?

Mi6 uses the .pause file in your home directory to determine the username. This is a flat text file, designed to be compatible with the .pause file used by the Perl5 cpan-upload module ( Note that this file only needs to contain the "user" and "password" directives. Unknown directives are ignored.

An example file could consist of only two lines:

user your_pause_username
password your_pause_password

Replace your_pause_username with your PAUSE username, and replace your_pause_password with your PAUSE password.

This file can also be encrypted with GPG if you do not want to leave your PAUSE credentials in plain text.





Shoichi Kaji


Copyright 2015 Shoichi Kaji

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.