Contributions are welcome!
-
Check the ISSUES. Read every issue to understand what's needed and whether it's something you can help with.
-
Ask other contributors to see if no one has taken the issue yet. If you're interested in tackling such a feature and it's still available, we will assign you to the task.
-
Clone the repo and create your own branch using
git checkout -b your_branch_name
. Remember to use a branch name that describes WHAT you're doing/fixing. -
Setup your local development environment. Instructions here.
-
Once your work is done with the local copy of the repo, don't hesitate to open a pull request. We'll gladly revise and push as deemed fit.
-
Feel free to add new issues as you read the code and find inconsistencies and/or possible features that may add up to the website. Follow the labeling standards to make it easier to understand what you're proposing.
-
Document changes and/or issues clearly. Make it easy for everyone involved to understand your ideas/changes.
If you are developing on Windows see this page for help on getting your environment setup.
To setup your local dev environment:
# Install `yarn`, alternatives at https://yarnpkg.com/en/docs/install
curl -o- -L https://yarnpkg.com/install.sh | bash
# Clone the repo
git clone [email protected]:Developer-DAO/web3-ui.git
cd web3-ui
# web3-ui uses Node 16. We recommend using nvm to locally manage node versions.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
nvm install
# yarn install also runs `preconstruct dev`, which dynamically links all
# packages in the monorepo together.
yarn install
To verify setup, run the Storybook with yarn storybook
. You can develop new or existing components/hooks and verify functionality in the Storybook.
Run all unit tests with yarn test
. Run unit tests on only the package you're working on with yarn test packages/<PACKAGE_NAME_HERE>
.
We use husky
for pre-commit hooks to verify files are properly linted prior to committing. This will run automatically whenever adding or amending a commit.
When you create a pull request a changeset-bot
will tell you that you need to create a changeset, if your change has an effect on the published packages
all you need to do is run yarn changeset
at the root. This will ask you whether your change is a patch (fixes a bug), a minor (adds a feature) or a major (breaking change)
select the one that applies and describe the change you did. This is used to automate our changelogging.