# Contribution Guide

### Welcome Contributors&#x20;

We're thrilled you're interested in contributing to the Sunbird AI Assistant Building Block! As an open-source project in a fast-paced field, we welcome all contributions, from new features and improved infrastructure to better documentation and bug fixes.&#x20;

### Getting Started&#x20;

#### New to the Project?&#x20;

No worries! Get acquainted with our project by exploring the [documentation](https://ai-assistant.sunbird.org/).

#### Ways to Contribute&#x20;

There are many ways to get involved and make a difference. Here are some common areas where people contribute:&#x20;

* **Improve the Documentation:** Help us make the docs, including this one, even better! Your edits, suggestions, and additions are invaluable.&#x20;
* **Code, Fix Bugs, and Improve Infrastructure:** We welcome your coding expertise! Help us write new features, fix bugs, or improve our infrastructure.&#x20;
* **Integrate with Favourite Vendors or Tools:** Do you have a favourite tool or vendor you'd love to see integrated with Sunbird? Please share your knowledge and help us make it happen!&#x20;
* **Answer Usage Questions and Discuss Issues:** Help us build a strong community by answering user questions, discussing issues, and providing valuable insights.&#x20;

{% hint style="info" %}
It's essential to discuss significant contributions to our discussion forum before proceeding to ensure your work aligns with the project's goals and direction.
{% endhint %}

#### Discussions Forums&#x20;

We have a [Discussions](https://github.com/orgs/Sunbird-AIAssistant/discussions/categories/q-a) page where users can ask usage questions, discuss design decisions, and propose new features.&#x20;

If you can help answer questions, please do so! This will allow the maintainers to focus more on development and bug fixing.&#x20;

### Core Contributions&#x20;

We primarily accept contributions through pull requests. Here's what you need to know:&#x20;

* **Fork the Repository**: Create a fork of our repository on GitHub.&#x20;
* **Clone your Fork**: Clone your forked repository to your local machine.&#x20;
* **Make Changes**: Make your changes and write clear commit messages.&#x20;
* **Test your Changes**: Ensure your changes function properly and adhere to our coding standards.&#x20;
* **Push to your Fork**: Push your changes to your forked repository.&#x20;
* **Open a Pull Request**: Submit a pull request to our main repository.&#x20;

{% hint style="info" %}
Important: By issuing a Pull Request, you agree to allow the project owners to license your work under the terms of the License. &#x20;
{% endhint %}

#### Pull Request Checkpoints:&#x20;

* **Testing**: All pull requests should include thorough testing to guarantee functionality and avoid breaking existing features.&#x20;
* **Code Style**: Adhere to coding style guidelines to promote readability and maintainability for everyone.&#x20;
* **Clear Description**: Provide a clear and concise description of your changes in the pull request. This will help reviewers understand your contribution.&#x20;


---

# 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://ai-assistant.sunbird.org/contribution-guide.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.
