Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 57 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down