If you've written a Raku module and would like to share it with the community, we'd be delighted to have it listed in the Raku modules directory. :)

The zef ecosystem uses the fez module uploader utility. Use of the fez command is the way to distribute your module.

The process of sharing your module consists of two steps, preparing the module, and uploading the module to one of the ecosystems mentioned above.

More details on preparing your module can be found on the pages linked from Distributions: An Introduction.

Upload your module to zef ecosystem§

If you want to use the zef ecosystem then you need to register your username using fez.

  • Install fez if you haven't done so already

zef install fez

  • Register your user with zef's ecosystem

fez register
>>= Email: your@email.com
>>= Username: username
>>= Password:
>>= registration successful, requesting auth key
>>= login successful, you can now upload dists

  • Now you can upload your module!

Before doing the following, ensure your META6.json file's auth matches zef:<username> and then:

fez upload
>>= Vortex::TotalPerspective:ver<0.1.2>:auth<zef:username> looks OK
>>= Hey! You did it! Your dist will be indexed shortly

Versioning and fez§

  • To prevent changes to a versioned distribution (remember a distribution may contain more than one module), only one upload of a distribution per version is permitted. If a developer makes changes to code in a repository, the changes will not be reflected in the fez system. So changes to code must be accompanied by a bump in the version number and the new version uploaded to fez.

That's it! Thanks for contributing to the Raku community!

If you'd like to try out installing your module, use the zef module installer tool which is included with Rakudo Star Raku:

zef install Vortex::TotalPerspective

This will download your module to its own working directory (~/.zef), build it there, and install the module into your local Raku installation directory.

To use Vortex::TotalPerspective from your scripts, just write use Vortex::TotalPerspective, and your Raku implementation will know where to look for the module file(s).

Deprecated ecosystems§

There have been three ways to distribute a module, but the CPAN and P6C ways have been deprecated; please use the zef/fez method instead. However, no matter the method, all modules will be indexed on the raku.land website.