Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 42 additions & 22 deletions docs/src/routes/docs/[...1]overview/[...2]contribution-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,74 @@
sidebar_title: "Contribution Guide"
---

## How can I contribute to web3-onboard?
# How can I contribute to web3-onboard?

### Reporting Bugs
[Report a Bug](#bug-reports-🐛)<br />
[Submit a Pull Request](#pull-requests-🗂️)<br />
[Add a Wallet](#how-can-i-add-a-new-wallet-💳)<br />
[Contribute to the Docs](#documentation-contributions-📄)<br />
[Share Feedback](#feedback-💬)<br />
[Get Support](#support-🤓)<br />

Before creating an issue for a bug, please do a search through the Web3 Onboard issues to make sure that one has not already been created. You may find that someone else has run in to that issue and there may be a fix that has been released in a newer update.
## Bug Reports 🐛

If an issue does not exist for the bug that you want to report, go ahead and create an issue, making sure to add as much detail as possible and following the issue template instructions.
Before creating an issue for a bug, please search through the existing [Web3 Onboard issues](https://github.com/blocknative/web3-onboard/issues). You may find that someone else ran into the same bug or a fix has been released in a newer update.

Once an issue has been created, one of the Web3 Onboard maintainers will take a look and will respond typically within a few days. The initial response will usually just acknowledge the issue and will indicate what will happen next.
If an issue does not already exist, follow the template instructions to create a new issue, adding as much detail as possible.

### Pull Requests
Once an issue is created, a Web3 Onboard maintainer will review and respond typically within a few days to share next steps.

If there is a feature or change that you would like to see in Web3 Onboard, you can fork the repo and make a pull request to have the changes merged in to the main repo and released as part of the official packages.
## [Pull Requests 🗂️](#pr)

Once a PR is created, one of the Web3 Onboard maintainers will acknowledge the PR and add it to our sprint planning to be reviewed as soon as possible.
To create a new feature or change in Web3 Onboard, fork the repo and make a pull request on the [develop branch](https://github.com/blocknative/web3-onboard/tree/develop) to have your changes merged in and released as part of the official packages.

Once a PR is created, a Web3 Onboard maintainer will acknowledge it and add to sprint planning for review as soon as possible.

### Package Versioning
### Package Versioning 📦

After making changes within a web3-onboard package you will want to bump the version of the specific package. For example if you were to add a new injected wallet to the injected package you will need to bump the version of the injected package within that module's [package.json](https://github.com/blocknative/web3-onboard/blob/8531a73d69365f7d584320f1c4b97a5d90f1c34e/packages/injected/package.json#L3).
We use both semantic and `alpha` versioning for publishing and testing packages prior to official release. If you do not see an `-alpha.x` tag on the version of the package you made changes in, you will need to bump the version AND add an alpha flag followed by an alpha version number starting at 1 (ex. `-alpha.1`).

We use both semantic and `alpha` versioning for publishing and testing packages prior to official release. This means if you do not see an `-alpha.x` tag on the version of the package you made changes in you will need to not only bump the version but also add an alpha flag followed by an alpha version number starting at 1 (ex. `-alpha.1`).
After making changes within a web3-onboard package, bump the version of the specific package:

Example : Adding a new injected wallet to the `injected` package -
[Injected Package.json](https://github.com/blocknative/web3-onboard/blob/develop/packages/injected/package.json#L3) changes : `"version": "2.2.4",` --> `"version": "2.3.0-alpha.1",`

Example 2 : Bug fix within the `core` package -
[Core package.json](https://github.com/blocknative/web3-onboard/blob/8531a73d69365f7d584320f1c4b97a5d90f1c34e/packages/core/package.json#L3) changes: `"version": "2.9.1-alpha.1",` --> `"version": "2.9.1-alpha.2",`

## [How can I add a new wallet? 💳](#new-wallet)

### How can I get a new wallet added?
To add a new wallet to the official Web3 Onboard packages and repo, create a [pull request](#pull-requests-🗂️). Web3 Onboard does not require a wallet to be a part of the main code, so a separate wallet module can be created without any changes to the Web3Onboard codebase. Your pull request must include a README for the package.

Web3 Onboard does not require a wallet to be a part of the main codebase to work, so a wallet module can be created and used for your project without needing anything to happen within the Web3Onboard codebase. If you would like the wallet to be part of the official Web3 Onboard packages and repo, then create a pull request, and make sure to add any documentation updates by creating a docs pull request.
Please also add documentation updates by creating a separate [docs pull request](#documentation-contributions-📄).

If the wallet you are adding is an “injected” wallet (browser extension, mobile dapp browser wallet), you can add a wallet to the injected wallets module. [See here for an example of an injected wallets pull request.](https://github.com/blocknative/web3-onboard/pull/1177/files) You should also add the wallet to the [natively supported injected wallets list](https://onboard.blocknative.com/docs/packages/injected#injected-wallets-supported-natively).
### Adding Injected Wallets
If the wallet you are adding is an “injected” wallet (browser extension, mobile dapp browser wallet), add a wallet to the injected wallets module. [See here for an example of an injected wallets pull request.](https://github.com/blocknative/web3-onboard/pull/1177/files) You should also add the wallet to the [natively supported injected wallets list](http://localhost:3000/docs/wallets/injected#injected-wallets-supported-natively).

Otherwise if the wallet you are adding requires adding dependencies and initialization (SDK), then you will need to create a new package in the Web3 Onboard monorepo. [See here for an example of a pull request.](https://github.com/blocknative/web3-onboard/pull/1238/files)
### Adding Wallet Modules
Otherwise, if the wallet you are adding requires dependencies and initialization (SDK), then you will need to create a new package in the Web3 Onboard monorepo. [See here for an example of a pull request.](https://github.com/blocknative/web3-onboard/pull/1238/files)
<br />
<br />

If you cannot write the code yourself to add a new wallet, then go ahead and create a feature request issue which may be considered by the maintainers or someone else in the community.
If you cannot write the code yourself to add a new wallet, create a new feature request issue to be considered by the maintainers and other contributors in the community.

### Documentation contributions
## [Documentation Contributions 📄](#docs)

In order to contribute to the docs, you'll have to create a PR on the [develop branch](https://github.com/blocknative/web3-onboard/tree/develop). If you contribute code, you should definitely document it appropriately. We highly encourage the community to improve web3-onboard docs, if you have any questions don't hesitate to reach out.
If you contribute to the code, you should definitely document appropriately.

## Feedback
In order to contribute to the docs, create a PR on the [develop branch](https://github.com/blocknative/web3-onboard/tree/develop). The PR description should include a screenshot of any changes.

Jump in to our discord server to provide any feedback you feel is worth sharing. Could the docs be improved? Did you have trouble integrating? Feature requests etc.
Docs PRs for adding/updating a wallet should include a README (new or updated) for the package (located in `docs/src/routes/docs/[...4]wallets`), and adding/updating the module in [docs demo](https://github.com/blocknative/web3-onboard/blob/develop/docs/src/lib/services/onboard.js) and docs package (`docs/package.json`). New injected wallets should also add the wallet to the [natively supported injected wallets list](https://github.com/blocknative/web3-onboard/blob/develop/docs/src/routes/docs/%5B...4%5Dwallets/injected.md).

## Support
[See here for an example of a docs pull request.](https://github.com/blocknative/web3-onboard/pull/1544/files)

For general questions about how to use Web3 Onboard you can first check out our [docs](https://onboard.blocknative.com/docs/overview/introduction#features) to see if there is an answer there, or you can head to our [Discord](https://discord.com/invite/KZaBVME) for support from the Blocknative team
We highly encourage the community to help us improve the web3-onboard docs! If you have any questions don't hesitate to reach out.

## [Feedback 💬](#feedback)

Did you have trouble integrating? Could the docs be improved? Have a new Feature request?
Jump in our [Discord](https://discord.com/invite/KZaBVME) and share your feedback.

## [Support 🤓](#support)

For general questions about how to use Web3 Onboard please first check out our [docs](https://onboard.blocknative.com/docs/overview/introduction#features), then head to our [Discord](https://discord.com/invite/KZaBVME) for support from the Blocknative team.
17 changes: 12 additions & 5 deletions pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,18 @@
<!-- Add a description of the fix or feature here -->

### Checklist
- [ ] The version field in `package.json` of the package you have made changes in is incremented following [semantic versioning](https://semver.org/) and using alpha release tagging
- [ ] The box that allows repo maintainers to update this PR is checked
- [ ] I tested locally to make sure this feature/fix works
- [ ] I have run `yarn file-check`, `yarn type-check` & `yarn build` to confirm there are not any associated errors
- [ ] This PR passes the Circle CI checks
- [ ] Increment the version field in `package.json` of the package you have made changes in following [semantic versioning](https://semver.org/) and using alpha release tagging
- [ ] Check the box that allows repo maintainers to update this PR
- [ ] Test locally to make sure this feature/fix works
- [ ] Run `yarn file-check`, `yarn type-check` & `yarn build` to confirm there are not any associated errors
- [ ] Confirm this PR passes Circle CI checks
- [ ] Add or update relevant information in the documentation

### Docs Checklist
- [ ] Include a screenshot of any changes ([see docs README on running locally](https://github.com/blocknative/web3-onboard/blob/develop/docs/README.md))
- [ ] Add/update the appropriate package README
- [ ] Add/update the related module in the [docs demo](https://github.com/blocknative/web3-onboard/blob/develop/docs/src/lib/services/onboard.js) (if applicable)
- [ ] Add/update the related package in the `docs/package.json` file (if applicable)

### If this PR includes changes to add an injected wallet or SDK wallet module:
Please complete the following using the internal demo package.
Expand Down