🎉 First off, thank you for considering contributing to the Coinbase Wallet SDK! 🎉
The following is a set of guidelines for contributing to the Coinbase Wallet SDK. These are just guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Check the Issues to see if there's someone who has already suggested the same enhancement.
-
If it doesn't exist, create a new issue. Provide a clear and detailed explanation of the feature you want and why it's important to add.
-
Fork the repository and create your branch from
master
. -
Make your changes: Apply your changes, following the coding conventions described below.
-
Commit your changes: Commit your changes using a descriptive commit message.
-
Open a Pull Request: Describe what you did in the pull request description. Mention the issue number if your pull request is related to an existing issue.
-
Include Screenshots: If your pull request includes any visual changes to the project, please include before and after screenshots in your pull request description to help us better understand the changes.
-
Wait for review: Once your pull request is opened, it will be reviewed as soon as possible. Changes may be requested, and your responsiveness is appreciated.
First, ensure that the following are installed globally on your machine:
Then, from the root folder run:
yarn install
to install dependenciesyarn build
to build the packageyarn dev
to start the example app and build the package with hot reloadingyarn test
to ensure that the test suite runs correctly
The SDK is built using yarn workspaces.
packages/wallet-sdk
- The main package that exports the SDKexamples/test-app
- An example React app that is used to test the SDK in a real browser environment
Use yarn dev
to start the example app and build the package with hot reloading.
This project uses Biome for linting and formatting. See the Biome docs for more information on how to configure your editor to use Biome.
All commits need to be signed with a GPG key. This adds a second factor of authentication that proves that it came from you, and not someone who managed to compromise your GitHub account. You can enable signing by following the guide here.
We follow the Conventional Commits specification for our commit messages. This helps us generate changelogs and follow a standard format.