Skip to content

Commit

Permalink
Add contribution guideline (#2236)
Browse files Browse the repository at this point in the history
  • Loading branch information
PooyaRaki authored Jan 10, 2025
1 parent c5dd9eb commit e6548a3
Showing 1 changed file with 100 additions and 0 deletions.
100 changes: 100 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Contribution Guide

Thank you for considering contributing to our project! We welcome contributions that align with our goals and help improve the project. To ensure that contributions are valuable and consistent, we ask that all contributors follow these guidelines.

---

## 📋 General Guidelines

1. **Understand the Project**
Before contributing, take some time to understand the project's purpose, goals, and existing structure. Review the [README](./README.md) and other documentation.

2. **Respect the Code of Conduct**
We are committed to maintaining a welcoming and inclusive environment.

3. **Check Existing Issues and Discussions**
Review the [Issues](https://github.com/safe-global/safe-client-gateway/issues) and [Pull Requests](https://github.com/safe-global/safe-client-gateway/pulls) (PRs) sections before opening a new issue or starting a pull request (PR). Your idea might already be in progress or previously discussed.

---

## 🛠️ Contribution Process

### 1. Fork the Repository (Optional)

- Fork the repository to your GitHub account.
- Clone your fork to your local machine.

### 2. Set Up Your Environment

- Follow the setup instructions in the [README.md](./README.md).

### 3. Create a New Branch

- Use a descriptive branch name (e.g., `feature/add-auth`, `bugfix/fix-crash`, or `docs/update-guide`).

### 4. Make Changes

- Ensure your changes are consistent with the project's coding style and standards.
- Write clear and concise commit messages.

### 5. Test Your Changes

- Run all relevant tests and linters locally to ensure your changes work as expected.
- Add new tests if you're introducing new functionality.

### 6. Open a Pull Request

- Go to the main repository and open a PR from your branch.
- Use a clear title and provide a detailed description of your changes.
- Link related issues (e.g., `Fixes #123`).
- If your PR is still in progress, mark it as a draft.

---

## ⚠️ Guidelines for Pull Requests (PRs)

To prevent issues with PRs:

1. **Scope Your Changes**

- Ensure each PR focuses on a single feature, bugfix, or improvement. Avoid combining unrelated changes.

2. **Communicate Before Major Changes**

- For significant changes, open an issue first to gather feedback and ensure alignment.

3. **Adhere to Standards**

- Follow the project’s coding style, structure, and standards.
- Run all tests and ensure the build passes before submitting your PR.

4. **Avoid Unsolicited Large Changes**

- Do not submit large-scale refactors, redesigns, or changes to critical functionality without prior discussion.

5. **Include Documentation**
- Update documentation if your changes introduce new features or modify existing behavior.

---

## 🚩 PRs We Cannot Accept

To save time and maintain focus on meaningful improvements, we cannot accept PRs that:

- Do not align with the project's goals or roadmap.
- Introduce unnecessary complexity or bloat.
- Duplicate existing work or address issues already being worked on.
- Include poorly tested or untested changes.
- Lack meaningful context or description.
- Make minor, inconsequential changes such as fixing typos, reformatting code without a functional purpose, or making stylistic adjustments that do not add value.
- **Note:** If you find a typo or minor issue, please open an issue for discussion.

---

## 🧑‍🤝‍🧑 Getting Help

If you’re unsure about anything, don’t hesitate to ask for help! Open an issue or comment on an open one, and we’ll be happy to guide you.

---

We appreciate your contributions and effort to make this project better. Thank you for being a part of our community!

0 comments on commit e6548a3

Please sign in to comment.