Contributing
============

Thanks for taking the time to contribute to factory_boy!

Code of Conduct
---------------

This project and everyone participating in it is governed by the `Code of
Conduct`_. By participating, you are expected to uphold this code. Please
report inappropriate behavior to raphael DOT barrois AT xelmail DOT com.

.. _Code of Conduct: https://github.com/FactoryBoy/factory_boy/blob/master/CODE_OF_CONDUCT.md

*(If I'm the person with the inappropriate behavior, please accept my
apologies. I know I can mess up. I can't expect you to tell me, but if you
chose to do so, I'll do my best to handle criticism constructively.
-- Raphaël)*

*(As the community around this project grows, we hope to have more core
developers available to handle that kind of issues)*


Contributions
-------------

Bug reports, patches, documentation improvements and suggestions are welcome!

Please open an issue_ or send a `pull request`_.

Feedback about the documentation is especially valuable — the authors of
``factory_boy`` feel more confident about writing code than writing docs :-)

.. _issue: https://github.com/FactoryBoy/factory_boy/issues/new
.. _pull request: https://github.com/FactoryBoy/factory_boy/compare/


Where to start?
---------------

If you're new to the project and want to help, a great first step would be:

* Fixing an issue in the docs (outdated setup instructions, missing information,
  unclear feature, etc.);
* Working on an existing issue (some should be marked ``BeginnerFriendly``);
* Reviewing an existing pull request;
* Or any other way you'd like to help.


Code contributions
------------------

In order to merge some code, you'll need to open a `pull request`_.

There are a few rules to keep in mind regarding pull requests:

* A pull request should only solve a single issue / add a single feature;
* If the code change is significant, please also create an issue_ for easier discussion;
* We have automated testing; please make sure that the updated code passes automated checks;
* We're striving to improve the quality of the library, with higher test and docs coverage.
  If you don't know how/where to add docs or tests, we'll be very happy to point you in the right
  direction!


Questions
---------

GitHub issues aren't a good medium for handling questions. There are better
places to ask questions, for example Stack Overflow; please use the
``factory-boy`` tag to make those questions easy to find by the maintainers.

If you want to ask a question anyway, please make sure that:

- it's a question about ``factory_boy`` and not about ``Django`` or ``Faker``;
- it isn't answered by the documentation;
- it wasn't asked already.

A good question can be written as a suggestion to improve the documentation.
