- Configure
devbranch as main by default for personal projects - Avoid direct push to main branches such as
mainordev. - Create a new branch for each task or feature.
- New Feature:
feature/feature-name - Bug Fix:
bugfix/issue-description - Hotfix:
hotfix/critical-issue - Test:
test/test-description
feature/user-authenticationbugfix/fix-login-issue
Add the Jira task number at the beginning of the branch name:
feature/123-user-authenticationbugfix/456-login-error
- The commit message should be short, concise, and written in the present tense.
- Each commit should only cover a single logical change (Atomic Commit).
- Using the Conventional Commits structure is recommended.
<type>(scope): short message
feat(auth): add OTP login via SMSfix(cart): correct total price calculationrefactor(db): optimize user query performancedocs(api): update response schema docs
feat: Adding a new featurefix: Bug fixrefactor: Improving the code structure without changing functionalitydocs: Documentation changesstyle: Styling changes (no new logic)test: Adding or modifying tests
- After completing each task, open a Merge Request for the relevant branch onto
dev. - Conflict resolution before submitting the Merge Request is the responsibility of the developer.
- Code review is performed by the team's Tech Lead / Repo Owner.
- The Team Lead or Tech Lead is responsible for adding technical comments, issues, or suggestions inside GitHub, making them trackable and transparent.