* How to contribute
:PROPERTIES:
:CUSTOM_ID: how-to-contribute
:END:
** Ask questions
:PROPERTIES:
:CUSTOM_ID: ask-questions
:END:
Yes, asking a question is a form of contribution that helps the author
to improve documentation.

Feel free to ask questions by sending a mail to [[mailto:ddumont@cpan.org][the author]]

** Log a bug
:PROPERTIES:
:CUSTOM_ID: log-a-bug
:END:
Please report any issue on [[https://github.com/dod38fr/cme-perl/issues][cme issue tracker]].

** Source code structure
:PROPERTIES:
:CUSTOM_ID: source-code-structure
:END:
The main parts of this modules are:

- =bin/cme=: mostly cme command documentation
- =contrib/bash_completion.cme=: the file that enable user to type
  'cme[TAB]' and get the list of available sub-commands. See bash man
  page for more details on bash completion
- =lib/App/Cme/Command/**.pm=: implementation of cme sub-commands
- =t=: test files. Run the tests with =prove -l t=

** Edit source code from github
:PROPERTIES:
:CUSTOM_ID: edit-source-code-from-github
:END:
If you have a github account, you can clone a repo and prepare a
pull-request.

You can:

- run =git clone https://github.com/dod38fr/cme-perl=
- edit files
- run =prove -l t= to run non-regression tests

There's no need to worry about =dzil=, =Dist::Zilla= or =dist.ini=
files. These are useful to prepare a new release, but not to fix bugs.

** Edit source code from Debian source package
:PROPERTIES:
:CUSTOM_ID: edit-source-code-from-debian-source-package
:END:
You can also prepare a patch using Debian source package:

For instance:

- download and unpack =apt-get source cme=
- jump in =cd cme-1.xxx=
- useful to create a patch later: =git init=
- commit all files: =git add -A ; git commit -m"committed all"=
- edit files
- run =prove -l t= to run non-regression tests
- run =git diff= and send the output to the
  [[mailto:ddumont@cpan.org][author]]

** Edit source code from Debian source package or CPAN tarball
:PROPERTIES:
:CUSTOM_ID: edit-source-code-from-debian-source-package-or-cpan-tarball
:END:
Non Debian users can also prepare a patch using CPAN tarball:

- Download tar file from http://search.cpan.org
- unpack tar file with something like =tar axvf App-Cme-1.xxx.tar.gz=
- jump in =cd App-Cme-1.xxx=
- useful to create a patch later: =git init=
- commit all files: =git add -A ; git commit -m"committed all"=
- edit files
- run =prove -l t= to run non-regression tests
- run =git diff= and send the output to the
  [[mailto:ddumont@cpan.org][author]]

** Provide feedback
:PROPERTIES:
:CUSTOM_ID: provide-feedback
:END:
Feedback is important. Please take a moment to rate, comment or add
stars to this project:

- [[https://github.com/dod38fr/cme-perl][cme github]]
