.. _ref_guide_contributing:

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

:edb-alt-title: Contributing to EdgeDB

EdgeDB is an open-source project, and we welcome contributions from our
community. You can contribute by writing code or by helping us improve our
documentation.

.. toctree::
    :maxdepth: 1

    code
    documentation

To make sure the project can continue to improve quickly, we have a few
guidelines designed to make it easier for your contributions to make it into
the project. General guidelines are presented here. You will find guidelines
relevant only to code or documentation in those sections of the guide.

These are guidelines rather than hard rules. If you want to submit a pull
request that strays from these, it might be a good idea to start a discussion
about it first. Otherwise, it's possible your pull request might not be merged.

General Guidelines
==================

- **Avoid making pull requests that do not have an associated Github Issue.**
  This could be an already existing issue or one you create yourself when you
  discover the problem. This will allow the team to help you scope your
  solution, warn you of potential gotchas, or give you a heads-up on solutions
  that are likely not feasible. It's a good idea to mention in the issue that
  you'd like to contribute code to resolve the issue.  **If you're fixing
  something trivial like a typo,** an associated issue isn't necessary.
- **Write good commit messages.** The subject of your commit message — that's
  the first line — should tell us *what* you did. The body of your message —
  that's the rest of it — should tell us *why* you did it (unless that's
  self-evident).

Thank You!
==========

Thank you for contributing to EdgeDB! We love our open source community and
want to foster a healthy contributor ecosystem. We're happy to have you as a
part of it.

