# Contributing

## Development Environment Setup

*These instructions assume that a working Python interpreter (version >=3.9 & <3.10) is already installed on the system.*

Clone telliot repositories to a local working directory:

```
git clone https://github.com/fetchoracle/telliot-feeds.git
```

Change directories:

```
cd telliot-feeds
```

Create and activate a [virtual environment](https://docs.python.org/3/library/venv.html). In this example, the virtual environment is located in a subfolder called `tenv`:

On Mac or Linux run

```bash
python3.9 -m venv tenv
source tenv/bin/activate
```

On Windows run

```bash
py3.9 -m venv tenv
tenv\Scripts\activate
```

Install the project using using an [editable installation](https://pip.pypa.io/en/stable/cli/pip_install/).

```bash
pip install -e .
pip install -r requirements.txt 
```

Making Contributions

Once your dev environment is set up, make desired changes, create new tests for those changes, and conform to the style & typing format of the project. To do so, in the project home directory:

Run all unit tests:

```
pytest
```

Check code typing:

```
tox -e typing
```

Check style (you may need run this step several times):

```
tox -e style
```

Once all those pass, you're ready to make a pull request to the project's main branch. For example you might want to [add support for reporting a new spot price](/reporting-data/add-support-for-a-new-spot-price.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fetchoracle.com/the-basics/contributing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
