Skip to content
Snorri Briem edited this page Jul 18, 2017 · 26 revisions

This guide has been written to help anyone interested in contributing to the development of Catmandu. Please read this guide before contributing to Catmandu or related projects, to avoid wasted effort and maximizing the chances of your contributions being used.

Ways to contribute

There are many ways to contribute to the project. Catmandu is a young yet active project and any kind of help is very much appreciated!

Publicity

You don't have to start by hacking the code, spreading the word is very valuable as well!

If you have a blog, just feel free to speak about Catmandu.

Of course, it doesn't have to be limited to blogs or Twitter. Feel free to spread the word in whatever way you consider fit and drop us a line on the Catmandu user mailing list noted below.

Also, if you're using and enjoying Catmandu, rating us on cpanratings.perl.org, explaining what you like about Catmandu is another very valuable contribution that helps other new users find us!

Mailing list

Subscribing to the mailing list and providing assistance to new users is incredibly valuable.

Documentation

We value documentation very much, but it's difficult to keep it up-to-date. If you find a typo or an error in the documentation please do let us know - ideally by submitting a patch (pull request) with your fix or suggestion (see Patch Submission).

Code

To can contribute to Catmandu's core code or extend the functionality by new Importers, Exporters, Stores, Fix packages, Validators, Binds, or Plugins. Have a look at the list of missing modules for existing ideas and resources for new Catmandu modules. Feel also free to add new ideas and links there.

For more detailed guidelines, see:

Quality Supervision and Reporting Bugs

We can measure our quality using the CPAN testers platform: http://www.cpantesters.org.

A good way to help the project is to find a failing build log on the CPAN testers: http://www.cpantesters.org/distro/D/Catmandu.html

If you find a failing test report or another kind of bug, feel free to report it as a GitHub issue: http://github.com/LibreCat/Catmandu/issues. Please make sure the bug you're reporting does not yet exist.

RESOURCES FOR DEVELOPERS

Website

The official website is here: http://librecat.org/ A Wordpress blog with hints is available at: https://librecatproject.wordpress.com/

Mailing Lists

A mailing list is available here: librecat-dev@mail.librecat.org

Repositories

The official repository is hosted on GitHub at http://github.com/LibreCat/Catmandu.

Official developers have write access to this repository, contributors are invited to fork the dev branch (!) and submit a pull request, as described at patch submission.

Core Maintainers

  • LibreCat/Catmandu - @nics
  • LibreCat/Catmandu-AWS - @phochste
  • LibreCat/Catmandu-AlephX - @nicolasfranck
  • LibreCat/Catmandu-ArXiv - @pietsch, @vpeil
  • LibreCat/Catmandu-Atom - @phochste
  • LibreCat/Catmandu-BibTeX - @pietsch, @vpeil
  • LibreCat/Catmandu-Cmd-fuse - @nics
  • LibreCat/Catmandu-Cmd-repl - @pietsch
  • LibreCat/Catmandu-CrossRef -@pietsch, @vpeil
  • LibreCat/Catmandu-DBI - @nicolasfranck
  • LibreCat/Catmandu-DSpace - @nicolasfranck
  • LibreCat/Catmandu-EuropePMC - @vpeil
  • LibreCat/Catmandu-Exporter-ODS - @snorri
  • LibreCat/Catmandu-Exporter-RTF - @petrakohorst
  • LibreCat/Catmandu-Exporter-Template - @vpeil
  • LibreCat/Catmandu-FedoraCommons - @phochste
  • LibreCat/Catmandu-Fix-XML - @nichtich
  • LibreCat/Catmandu-Fix-cmd - @nichtich
  • LibreCat/Catmandu-Importer-CPAN - @nichtich @phochste
  • LibreCat/Catmandu-Importer-Parltrack - @jonas
  • LibreCat/Catmandu-Inspire - @vpeil
  • LibreCat/Catmandu-LDAP - @nics
  • LibreCat/Catmandu-MARC - @phochste
  • LibreCat/Catmandu-MediaMosa - @nicolasfranck
  • LibreCat/Catmandu-OAI - @pietsch, @phochste
  • LibreCat/Catmandu-ORCID - @pietsch
  • LibreCat/Catmandu-PLoS - @pietsch, @vpeil
  • LibreCat/Catmandu-Plack-REST - @phochste
  • LibreCat/Catmandu-PubMed - @pietsch, @vpeil
  • LibreCat/Catmandu-Pure - @snorri
  • LibreCat/Catmandu-RDF - @nichtich
  • LibreCat/Catmandu-SRU - @pietsch
  • LibreCat/Catmandu-Serializer-messagepack - @nicolasfranck
  • LibreCat/Catmandu-Serializer-storable - @nics
  • LibreCat/Catmandu-Store-CouchDB - @nics
  • LibreCat/Catmandu-Store-Elasticsearch - @nics
  • LibreCat/Catmandu-Store-Lucy - @nics
  • LibreCat/Catmandu-Store-MongoDB - @nics
  • LibreCat/Catmandu-Store-Solr - @nicolasfranck , @nics
  • LibreCat/Catmandu-Twitter - @pietsch
  • LibreCat/Catmandu-XLS - @jorol, @nics
  • LibreCat/Catmandu-Z3950 - @pietsch
  • LibreCat/Dancer-Plugin-Auth-RBAC-Credentials-Catmandu - @nicolasfranck
  • LibreCat/Dancer-Plugin-Catmandu-OAI - @nicolasfranck
  • LibreCat/Dancer-Plugin-Catmandu-SRU - @nics, phochste
  • LibreCat/Dancer-Session-Catmandu - @nics
  • LibreCat/LibreCat-Sitemap - @phochste
  • LibreCat/MODS-Record - @phochste
  • LibreCat/Plack-Session-Store-Catmandu - @nics
  • LibreCat/Task-Catmandu - @nics
  • LibreCat/WWW-ORCID - @nics

Acknowledgement

This guide was based on Dancer2::Development.