# Code contribution process

## Before You Start

Good pull requests, such as patches, improvements, and new features, are a fantastic help. They should remain focused on the scope and not contain unrelated commits.

Before starting development, please ask if somebody else is already working on this task. If you are developing a new feature, please make sure the core developers agree is in-scope of the ScandiPWA App.

{% hint style="success" %}
In general, it is always good practice to discuss your ideas with the team. By communicating and coordinating our work, we can ensure that nobody accidentally performs an unnecessary task, or fixes a bug that has already been already fixed by another developer.
{% endhint %}

## The process

When working on a code we suggest the following coding flow:

1. Make sure you created a fork of the repository you intend to contribute to
2. Make sure you are working on a new branch (so `master` is the same on the fork and original repository)
3. Create commits in your branch, make sure to leave meaningful commit messages, and follow our [SCSS](/structure/code-style/scss-code-style.md) and [Javascript](/structure/code-style/javascript-code-style.md) code style.
4. Once the feature or bugfix is done, please go ahead to `/pulls` and click on "New pull request". Select a base branch (a `master` or latest `x.x.x-rc`) and a branch to compare, the branch to compare is the new branch that you created.
5. Enter the title and description of your pull request, if available link the related issues in the "Linked issues" section.

That's it, now you can sit back and relax, the ScandiPWA team will review the pull request shortly!


---

# 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.scandipwa.com/about/contributing/code-contribution-process.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.
