|
2 | 2 | sidebar_title: "Contribution Guide"
|
3 | 3 | ---
|
4 | 4 |
|
5 |
| -## How can I contribute to web3-onboard? |
| 5 | +# How can I contribute to web3-onboard? |
6 | 6 |
|
7 |
| -### Reporting Bugs |
| 7 | +[Report a Bug](#bug-reports-🐛)<br /> |
| 8 | +[Submit a Pull Request](#pull-requests-🗂️)<br /> |
| 9 | +[Add a Wallet](#how-can-i-add-a-new-wallet-💳)<br /> |
| 10 | +[Contribute to the Docs](#documentation-contributions-📄)<br /> |
| 11 | +[Share Feedback](#feedback-💬)<br /> |
| 12 | +[Get Support](#support-🤓)<br /> |
8 | 13 |
|
9 |
| -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. |
| 14 | +## Bug Reports 🐛 |
10 | 15 |
|
11 |
| -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. |
| 16 | +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. |
12 | 17 |
|
13 |
| -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. |
| 18 | +If an issue does not already exist, follow the template instructions to create a new issue, adding as much detail as possible. |
14 | 19 |
|
15 |
| -### Pull Requests |
| 20 | +Once an issue is created, a Web3 Onboard maintainer will review and respond typically within a few days to share next steps. |
16 | 21 |
|
17 |
| -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. |
| 22 | +## [Pull Requests 🗂️](#pr) |
18 | 23 |
|
19 |
| -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. |
| 24 | +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. |
20 | 25 |
|
| 26 | +Once a PR is created, a Web3 Onboard maintainer will acknowledge it and add to sprint planning for review as soon as possible. |
21 | 27 |
|
22 |
| -### Package Versioning |
| 28 | +**Important Note: The PR template checklist must be complete before review can take place.** |
23 | 29 |
|
24 |
| -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). |
| 30 | +### Package Versioning 📦 |
25 | 31 |
|
26 |
| -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`). |
| 32 | +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`). |
| 33 | + |
| 34 | +After making changes within a web3-onboard package, bump the version of the specific package: |
27 | 35 |
|
28 | 36 | Example : Adding a new injected wallet to the `injected` package -
|
29 | 37 | [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",`
|
30 | 38 |
|
31 | 39 | Example 2 : Bug fix within the `core` package -
|
32 | 40 | [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",`
|
33 | 41 |
|
| 42 | +## [How can I add a new wallet? 💳](#new-wallet) |
| 43 | + |
| 44 | +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 PR must include a detailed README for the package, keeping in mind that this README is the the first point of contact for dapp devs looking to implement your wallet. |
| 45 | + |
| 46 | +Please also include updates to documentation in your PR. Refer to the [docs contributions section](#documentation-contributions-📄) and the PR template docs checklist. |
| 47 | + |
| 48 | +### Adding Injected Wallets |
| 49 | +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). |
| 50 | + |
| 51 | +### Adding Wallet Modules |
| 52 | +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) |
| 53 | +<br /> |
| 54 | +<br /> |
| 55 | + |
| 56 | +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. |
34 | 57 |
|
35 |
| -### How can I get a new wallet added? |
| 58 | +## [Documentation Contributions 📄](#docs) |
36 | 59 |
|
37 |
| -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. |
| 60 | +If you contribute to the code, you should definitely document appropriately. |
38 | 61 |
|
39 |
| -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). |
| 62 | +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. |
40 | 63 |
|
41 |
| -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) |
| 64 | +**Important note: The PR template docs checklist must be complete before review can take place.** |
42 | 65 |
|
43 |
| -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. |
| 66 | +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). |
44 | 67 |
|
45 |
| -### Documentation contributions |
| 68 | +[See here for an example of a docs pull request.](https://github.com/blocknative/web3-onboard/pull/1544/files) |
46 | 69 |
|
47 |
| -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. |
| 70 | +We highly encourage the community to help us improve the web3-onboard docs! If you have any questions don't hesitate to reach out. |
48 | 71 |
|
49 |
| -## Feedback |
| 72 | +## [Feedback 💬](#feedback) |
50 | 73 |
|
51 |
| -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. |
| 74 | +Did you have trouble integrating? Could the docs be improved? Have a new Feature request? |
| 75 | +Jump in our [Discord](https://discord.com/invite/KZaBVME) and share your feedback. |
52 | 76 |
|
53 |
| -## Support |
| 77 | +## [Support 🤓](#support) |
54 | 78 |
|
55 |
| -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 |
| 79 | +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. |
0 commit comments