vodafone-website / docs/contribution.md
Rihal Developer Contribution Guide
Rihal Developer Contribution Guide
Welcome to the Rihal development team! This guide will help you navigate through the process of contributing to our projects effectively.
Onboarding
- Onboarding Documents: Ensure you review the Company Onboarding Document (Technical) which references all necessary existing documents.
Workflow
1. Project Setup
- Follow the instructions in the Readme to set up the project on your local machine.
- Install dependencies and ensure the app runs correctly.
2. Working with Issues & Branches
- Review the list of GitHub issues. If no issue is assigned to you, request an assignment from your Lead.
- Ensure your main branch is up to date by pulling from origin.
- Create a new branch using the following naming convention:
<issue_number>-<short_description>
# Example: 123-add-login-page
- Make your code changes in small, manageable commits.
3. Committing & Documentation
- Commit your changes using the Conventional Commits specification.
- Update any documentation impacted by your changes (README, API docs, etc.).
4. Rebasing & Pushing
- Rebase your branch onto the latest main or develop branch.
- Resolve any conflicts and push your branch to the remote repository.
5. Pull Request (PR) Process
- Create a PR using the Repository Pull Request Template.
- Fill out the template thoroughly.
- Add appropriate labels based on the Rihal Labels Document.
- Assign the PR to yourself and invite reviewers.
- Wait for review — do not merge without approval.
- Address all review feedback and make sure to mark the comments as resolved. Then re-request review so the reviewers get notified.
- Once approved, perform a
Squash Merge. - Delete the feature branch from the remote repository.
6. Reviewing Others’ PRs
- Review PRs using the Rihal Code Review Checklist.
- Leave constructive feedback and request changes if needed.
- Test the code locally if necessary.
- Approve only once the code meets quality and functional expectations.
Happy coding.