# Contributing

Footprintless uses standard perl conventions as well as a few items outlined in [Damian Conway's Perl Best Practices](http://shop.oreilly.com/product/9780596001735.do).  The build tool used is Dist::Zilla ([dist.ini](https://github.com/lucastheisen/template-resolver/blob/master/dist.ini)).  Code formatting is handled by perltidy ([xt/.perltidyrc](https://github.com/lucastheisen/template-resolver/blob/master/xt/.perltidyrc)).  And documentation is generated by Pod::Weaver ([weaver.ini](https://github.com/lucastheisen/template-resolver/blob/master/weaver.ini)).

Dist::Zilla
-----------

[Dist::Zilla](http://dzil.org) handles the entire build lifecycle as well as many other tasks like running unit tests, and perltidy.  Before checking any code in, `dzil perltidy` and `dzil test` should be run in order to ensure proper code formatting and code validity.

Pod::Weaver
-----------

[Pod::Weaver]() simplifies pod syntax and generates various sections based upon other project configuration.  It uses non-standard pod syntax interwoven with standard pod syntax so take care to use the proper syntax for the proper situation.

git
---

To contribute, it is recommended that you fork this project, clone the fork, add an upstream remote, and then fetch and merge from both before committing.  [This article](http://gitready.com/intermediate/2009/02/12/easily-fetching-upstream-changes.html) covers some of the details.
