Skip to content

Commit

Permalink
Create CONTRIBUTING.md
Browse files Browse the repository at this point in the history
- add contribution guidelines
  • Loading branch information
david-hummingbot authored Jul 10, 2023
1 parent e0e47b2 commit 5f52346
Showing 1 changed file with 104 additions and 0 deletions.
104 changes: 104 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Contribution Guidelines

We appreciate and value your contribution to the Hummingbot Dashboard Repository. The following guidelines will help you contribute effectively and ensure consistency and quality across the project.

## General Workflow

1. Fork the `hummingbot/dashboard` repository.
2. Create a new branch from the `main` branch in your forked repository.
3. Commit your changes to your newly created branch.
4. Once your changes or features are complete:

- Rebase upstream changes into your branch.
- Submit a pull request to the `main` branch.
- Ensure to provide a detailed description of your changes in the pull request.
- Enable the `Allow edits by maintainers` option before submitting the pull request.

5. The Foundation QA team will review and test your code changes.
6. Address any changes requested by your reviewer, fix issues raised, and push your fixes as a single new commit.
7. A member of the Hummingbot Foundation team will merge your pull request once it has been reviewed and accepted.

## Detailed Workflow

### 1. Fork the Repository

Fork the repository using GitHub's interface. Add the Hummingbot repository as an upstream remote and fetch the upstream data:

```bash
git remote add upstream https://github.com/hummingbot/dashboard.git
git fetch upstream
```

### 2. Create Your Branch

Create a branch using the following naming conventions:

- feat/...
- fix/...
- refactor/...
- doc/...

Then, create and switch to a new local branch based on the `main` branch of the remote upstream:

```bash
git checkout -b feat/[branch_name] upstream/main
```

### 3. Commit Changes to Your Branch

Make commits to your branch. Use these prefixes for your commits:

- (feat) - for new features
- (fix) - for fixes
- (refactor) - for refactoring
- (doc) - for documentation
- (cleanup) - for cleanup

Commit messages should be in the present tense, e.g., "(feat) add candles graph", with a brief summary (around 70 characters max) of the changes made in the first line. For detailed explanations, provide more information after a blank line following the summary.

### 4. Rebase Upstream Changes

To rebase upstream changes into your branch, run this command:

```bash
git pull --rebase upstream main
```

In case of conflicting changes, git will pause rebasing to let you resolve conflicts. After fixing conflicts for a specific commit, run:

```bash
git rebase --continue
```

### 5. Create a Pull Request

Create a pull request from your fork and branch to the upstream `main` branch, detailing your changes. Remember to check 'Allow edits by maintainers' for the Foundation team to update your branch when needed.

If changes are requested by the Foundation team, make more commits to your branch to address these, then follow this process again from rebasing onwards. After addressing the requests, request further review.

## Backlog

For a list of currently outstanding tasks and owners, refer to the [Dashboard Backlog](https://github.com/orgs/hummingbot/projects/14).

## Meetings

If you can, please attend the dashboard bi-weekly meetings on [Discord](https://discord.gg/hummingbot) where the project's progress is discussed and tasks are outlined.

## Dashboard Wiki

Additional project documentation can be found on the [Dashboard Wiki](https://github.com/hummingbot/dashboard/wiki).

## Checklist

Before submitting your pull request, ensure that:

- You have created your branch from `main`.
- You have followed the correct naming convention for your branch.
- Your branch is focused on a single main change.
- All your changes directly relate to this main change.
- You have rebased the upstream `main` branch after finishing all your work.
- You have written a clear pull request message detailing what changes you made.
- You have requested a code review.
- You have made any requested changes from the code review.

Thank you for your contribution!

0 comments on commit 5f52346

Please sign in to comment.