Add CONTRIBUTING.md to outline contribution workflow and guidelines

This commit is contained in:
atharva.dev 2025-11-12 16:55:32 +05:30
parent 264d2c7136
commit a934931037
1 changed files with 58 additions and 0 deletions

58
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,58 @@
# Contributing
## Workflow
A **feature branch workflow** is followed for this repository. All development work is done on ticket branches that are merged directly into the `main` branch.
## Pre-requisite
- Verify that you have local git setup as mentioned in **[this guide](https://repo.seclore.com/common/user_guides/src/branch/main/docs/coding_processes.md#setting-up-base-machine)**
- A JIRA ticket should be created for the work you plan to contribute
## Contribution Process
### Branch Structure
- **`main`**: Production-ready code. This branch should always be stable and deployable. All ticket branches are created from and merged into this branch.
### Branch Naming Convention
Create branches using the following naming structure:
- **Format**: `ticket/<JIRA_TICKET_ID>`
Examples:
- `ticket/PS-378`
- `ticket/PS-379`
### Step-by-Step Contribution Process
1. **Create a branch from `main`**
```bash
git checkout main
git pull origin main
git checkout -b ticket/<JIRA_TICKET_ID>
```
2. **Follow standard development process**:
- Effort Estimates
- Design Documentation (if required)
- Test Cases
- Code Implementation (following project coding standards)
3. **Raise a Pull Request**
- Create a PR **from your ticket branch into the `main` branch**
- PR title format: `(<JIRA_TICKET_ID>) <short description>`
- Add relevant documentation links in the PR description
- Update the PR link in the JIRA ticket comments
4. **Code Review**
- Address review comments
- Ensure all CI checks pass
- Get required approvals
5. **Merge to Main**
- Upon PR approval, **squash and merge** the ticket branch into `main`
- Delete the ticket branch after successful merge
---