.. _contributing:

=================
How to contribute
=================

.. toctree::
   :maxdepth: 1
   :hidden:

   ../developer_guide
   ../installation
   ../contributing/enhancement_proposals
   ../contributing/reporting_bugs
   ../contributing/reviewer_guide

Welcome to sktime's contributing guide!

We value all kinds of contributions - not just code.
For a detailed overview of current and future work, check out our :ref:`roadmap`.

We are particularly motivated to support new contributors
and people who are looking to learn and develop their skills.

Recommended steps for first time contributors, or to get started with regular contributions:

1. Say hello (in the ``#intro`` channel on `Discord`_)!
2. Get set up for development, see :doc:`instructions in the developer guide </developer_guide>`.
3. Pick a good first issue to work on, see a collection `in this summary issue <https://github.com/sktime/sktime/issues/1147>`_ , or from `this list <https://github.com/sktime/sktime/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22>`_
   suggestion: pick something small with simple content to learn the "process"
4. Feel free to attend the regular community collab sessions or one of the topic specific stand-ups and tech sessions (see schedule on `Discord`_)
5. Once your first PR is merged and you've seen how things work, you could consider contributing more regularly: optionally, continue attending the Friday community collaboration sessions and stand-ups; or, optionally, `apply for mentoring <https://www.sktime.net/en/latest/get_involved/mentoring.html#mentoring>`_

.. _Discord: https://discord.com/invite/54ACzaFsn7

.. note::

   If you get stuck, chat with us, or join one of the community sessions on `Discord`_.

.. grid:: 1 2 2 2
    :gutter: 3

    .. grid-item-card::
        :text-align: center

        Developer Guide

        ^^^

        ``sktime`` developer guide.

        +++

        .. button-ref:: developer_guide
            :color: primary
            :click-parent:
            :expand:

            Developer Guide

    .. grid-item-card::
        :text-align: center

        Installation

        ^^^

        ``sktime`` developer installation guide.

        +++

        .. button-ref:: installation
            :color: primary
            :click-parent:
            :expand:

            Developer Installation

    .. grid-item-card::
        :text-align: center

        Enhancement Proposals

        ^^^

        ``sktime`` enhancement proposals.

        +++

        .. button-ref:: enhancement_proposals
            :color: primary
            :click-parent:
            :expand:

            Enhancement Proposals

    .. grid-item-card::
        :text-align: center

        Reporting Bugs

        ^^^

        ``sktime`` reporting bugs.

        +++

        .. button-ref:: reporting_bugs
            :color: primary
            :click-parent:
            :expand:

            Reporting Bugs

    .. grid-item-card::
        :text-align: center

        Reviewer Guide

        ^^^

        ``sktime`` reviewer guide.

        +++

        .. button-ref:: reviewer_guide
            :color: primary
            :click-parent:
            :expand:

            Reviewer Guide

Acknowledging contributions
---------------------------

We follow the `all-contributors
specification <https://github.com/all-contributors/all-contributors>`_ and recognize various
types of contributions.
Take a look at our past and current
`contributors <https://github.com/sktime/sktime/blob/main/CONTRIBUTORS.md>`_!

If you are a new contributor, make sure we add you to our list of
contributors.
All contributions are recorded in
`.all-contributorsrc <https://github.com/sktime/sktime/blob/main/.all-contributorsrc>`_.

.. note::

   If we have missed anything, please `raise an issue <https://github.com/sktime/sktime/issues/new/choose>`_ or chat with us on `Discord`_.
