> For the complete documentation index, see [llms.txt](https://uci.sunbird.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://uci.sunbird.org/use/developer/contribution-guide/your-first-pr.md).

# Your first PR

Pull requests with patches, improvements, new features are a great help.

Follow the steps to get your work included in the project.

#### 1. Fork the project, clone your fork, and add the UCI-PWA remote:

```
# Clone your fork of the repo into the current directory
git clone https://github.com/<your-username>/inbound.git

# Navigate to the cloned directory
cd inbound

# Assign the original repo to a remote called "upstream"
git remote add upstream https://github.com/samagra-comms/inbound.git
```

#### 2. Get the latest changes from upstream:

```
git checkout master
git pull upstream master
```

#### 3. Create a new branch from the master/latest working branch to contain your changes. Best way is to call is to follow the type described in Git Commit Conventions stated above: /\<description/scope/topic>

`git checkout -b <topic-branch-name>`

Example:

`git checkout -b mike/buckets-undefined-index`

Or

`git checkout -b mike/fix`

#### 4. Commit your changes

Commit your changes in logical chunks. Please adhere to **Git Commit Conventions** and **Coding guidelines** or your code is unlikely to be merged into the main project. Use Git's [interactive rebase](https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase) feature to tidy up your commits before making them public.

#### 5. Locally rebase the upstream master branch into your topic branch:

`git pull --rebase upstream master`

#### 6. Push your topic branch up to your fork:

`git push origin <topic-branch-name>`

#### 7. [Open a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) with a clear title and description against the **master/latest** branch.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://uci.sunbird.org/use/developer/contribution-guide/your-first-pr.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
