Skip to content

Commit

Permalink
feat: add PR template & CONTRIBUTING.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Bisht13 committed Sep 2, 2024
1 parent 6c78597 commit 304019a
Show file tree
Hide file tree
Showing 2 changed files with 144 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Pull Request Template

## Description
<!-- Please include a summary of the change and which issue is fixed. Also, list any dependencies that are required for this change. -->

Fixes # (issue)

## Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?
<!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration -->

- [ ] Test A
- [ ] Test B

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
114 changes: 114 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Contributing to Relayer Utils

Thank you for considering contributing to our project! We welcome contributions of all kinds, including code, documentation, bug reports, feature requests, and more. This document outlines the process for contributing to this project.

## Table of Contents
1. [Code of Conduct](#code-of-conduct)
2. [Getting Started](#getting-started)
3. [Coding Guidelines](#coding-guidelines)
4. [Testing](#testing)
5. [Commit Messages](#commit-messages)
6. [Pull Request Process](#pull-request-process)
7. [Contact](#contact)

## 1. Code of Conduct
We are committed to providing a welcoming and inspiring community for all and expect our Code of Conduct to be honored. Anyone who violates this code of conduct may be banned from the community.

Our community strives to:

- **Be friendly and patient.**
- **Be welcoming**: We strive to be a community that welcomes and supports people of all backgrounds and identities.
- **Be considerate**: Your work will be used by other people, and you in turn will depend on the work of others.
- **Be respectful**: Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners.
- **Be careful in the words that you choose**: We are a community of professionals, and we conduct ourselves professionally.
- **Be kind to others**: Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable.

This includes, but is not limited to:

- Violent threats or language directed against another person.
- Discriminatory jokes and language.
- Posting sexually explicit or violent material.
- Posting (or threatening to post) other people's personally identifying information ("doxing").
- Personal insults, especially those using racist or sexist terms.
- Unwelcome sexual attention.
- Advocating for, or encouraging, any of the above behavior.
- Repeated harassment of others. In general, if someone asks you to stop, then stop.

Moderation

These are the policies for upholding our community’s standards of conduct. If you feel that a thread needs moderation, please contact the community team at [[email protected]](mailto:[email protected]).

1. **Remarks that violate the Relayer Utils standards of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed.** (Cursing is allowed, but never targeting another user, and never in a hateful manner.)
2. **Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.**
3. **Moderators will first respond to such remarks with a warning.**
4. **If the warning is unheeded, the user will be “kicked,” i.e., temporarily banned from the community.**
5. **If the user comes back and continues to make trouble, they will be banned permanently from the community.**
6. **Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology.**
7. **If a moderator bans someone and you think it was unjustified, please take it up with that moderator, or with a different moderator, in a private discussion.**

**Please try to emulate these behaviors, especially when debating the merits of different options.**

Thank you for helping make this a welcoming, friendly community for all.

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html)


## 2. Getting Started
To start contributing, follow these steps:

1. Fork the repository.
2. Clone your fork to your local machine:
```bash
git clone https://github.com/zkemail/relayer-utils.git
```
3. Create a new branch for your feature or bugfix:
```bash
git checkout -b feat/your-feature-name
```
4. Install the necessary dependencies:
```bash
cargo build
```
5. Make your changes.

## 3. Coding Guidelines

Please follow the coding guidelines in [CODING_GUIDELINES.md](CODING_GUIDELINES.md) when contributing to this project.

## 4. Testing

Please write tests for your contributions. We aim for high test coverage.

• Unit Tests: Place unit tests in the same file as the code they are testing.
• Integration Tests: Place integration tests in the tests/ directory.

Run all tests before submitting your code with cargo test.

Run all tests before submitting your code with cargo test.

## 5. Commit Messages

Use conventional commit messages for your commits. This helps us automatically generate the changelog and follow semantic versioning.

• Format: `<type>: <description>`
• Example: `feat: add new feature`

For more information, see [Conventional Commits](https://www.conventionalcommits.org/).

## 6. Pull Request Process

1. Ensure your branch is up-to-date with the main branch:
• git fetch origin
• git checkout main
• git merge origin/main
2. Push your branch to your fork:
• git push origin feature/your-feature-name
3. Open a pull request from your branch to the main branch of the original repository.
4. Ensure that your pull request passes all checks (e.g., CI tests).
5. A reviewer will review your pull request. Be prepared to make adjustments based on feedback.

## 7. Contact

If you have any questions or need further assistance, feel free to open an issue or contact us at [[email protected]](mailto:[email protected]).

Thank you for your contributions!

0 comments on commit 304019a

Please sign in to comment.