Thanks for wanting to make a contribution and wanting to improve this library for everyone! This repository uses Typescript so please continue to do so, you can always reach out in the repo or the discord. This is a guideline, use your initiative, if you don't think it makes sense to do a step in here, don't bother it's normally okay. we're chill.
- Fork and clone the repo
- Run
corepack enable && yarn install
to install dependencies - Create a branch for your PR with
git checkout -b pr-type/issue-number-your-branch-name
- Let's get cooking! 👨🏻🍳🥓
You'll find a sample Example.tsx
component and its associated Example.stories.tsx
to start with, as well as its documentation in the README
Be sure your commit messages follow this specification: https://www.conventionalcommits.org/en/v1.0.0-beta.4/
If you're adding a brand new feature, you need to make sure you add a storybook entry, here's a few tips:
- Make use of
@storybook/addon-controls
to show component variants & configuration - Keep the story simple & show the essence of the component, remember some people may be looking at using drei for the first time & it's important the stories are clear and concise.
- Keep assets minimal (3D Models, textures) to avoid bloating the repository
- If you think a more involved example is necessary, you can always add a codesandbox to the main README while keeping the story minimalistic
We use semantic-release-action
to deploy the package. Because of this only certain commits will trigger the action of creating a release:
fix:
will create a0.0.x
versionfeat:
will create a0.x.0
versionBREAKING CHANGE:
will create ax.0.0
version
We release on master
, beta
& alpha
. beta
& alpha
are configured to be prerelease. Any other commits will not fire a release.