From 962254e32eeb4fdc40aa819affb926b90adbc479 Mon Sep 17 00:00:00 2001 From: Niraj Date: Wed, 7 May 2025 12:50:51 +0545 Subject: [PATCH] docs: enhance contribution guidelines with detailed steps for new contributors --- CONTRIBUTING.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ccc9e9126..01009d4aa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -107,7 +107,63 @@ Once it's filed: #### Your First Code Contribution -TODO +Welcome to contributing to `GovTool`! Whether you're fixing a bug, adding a feature, or improving documentation, we’re excited to have you on board. This section guides you through your first code contribution to make the process smooth and rewarding. + +#### Getting Started + +1. **Set Up Your Environment**: + - Follow the instructions in [`README.md`](./README.md) file and navigate to the specific folder corresponding to the form you want to fix or enhance. + - Follow the setup instructions to clone the repository and install the necessary dependencies. + - Make sure you're using the latest version of the project to avoid potential conflicts. + +2. **Find an Issue to Work On**: + - Browse open issues on the [GovTool GitHub Issues page](https://github.com/IntersectMBO/govtool/issues). + - Look for issues labeled `🐛 Bug` or `💡 Feature idea`. + - For existing feature idea tasks, comment on the issue to express interest or share thoughts. + +3. **Claim an Issue**: + - Comment on the issue to let maintainers know you’re working on it. This helps avoid duplicate efforts. + - Move the issue from `todo` to `in progress` on the project board (if you have permissions). + + +4. **Fork the Repository**: + - This step applies only if you lack permission to create branches or perform actions in the `govtool` repository. + - Fork the `govtool` repository on GitHub to create a copy under your account. + + +4. **Create a Branch**: + - Create a new branch from the `develop` branch with a descriptive name (see [Branch Naming](#branch-naming)). + - Example: `feat/123-add-voting-ui` or `fix/456-update-api-endpoint`. + +5. **Make Your Changes**: + - Write clean, well-documented code following the [Style Guides](#style-guides) for React, Haskell, CSS, or other relevant technologies. + - Add or update tests to ensure your changes are robust. + - Keep your changes focused and aligned with the issue’s scope. + +6. **Commit Your Changes**: + - Write clear, concise commit messages following the [Commit Messages](#commit-messages) guidelines. + +7. **Submit a Pull Request**: + + `If You Have Push Permissions to the Original Repository` + - Push your branch to the repository and create a pull request (PR) to the `develop` branch. + + `If You Don’t Have Push Permissions (Using a Forked Repository)` + - Push your branch to the forked repository and create a pull request (PR) in the `govtool` main repository, using the `govtool` `develop` branch as the base and your fork’s branch name as the head repository. + + - Use the PR template provided in the repository and link the related issue (e.g., `issues #123`). + - Describe your changes clearly, including why they’re needed and how they were tested. + - If your PR isn’t ready for review, mark it as a draft. + +8. **Address Feedback**: + - Expect reviews from maintainers or other contributors (see [CODEOWNERS](./CODEOWNERS)). + - Respond to feedback promptly and make requested changes. + - Once approved, your PR will be merged into `develop` by the author after passing tests. + +9. **Celebrate Your Contribution!**: + - Once merged, your changes will move through the [Development Processes](#development-processes) (QA, staging, etc.). + - You’re now a `GovTool` contributor! Share your achievement and consider tackling another issue. + ## Working Conventions