- 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 atitle and clear description, as much relevant information as possible, and acode sample or anexecutable test case demonstrating the expected behavior that is not occurring.
- Open a new GitHub pull request with the patch.
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
- Make sure your patch applies cleanly to the
main
branch. It's a good idea togit rebase main
before opening the Pull Request. - The commit style used by Starknet React follows this pattern:
<package>: <commit message>
. For example,core: change useAccount hook to...
.
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability of Starknet React will generally not be accepted.
- Ask any question about how to use Starknet React in the Discord community.
- For small changes feel free to open a GitHub pull request with the patch.
- For larger changes, please discuss the changes with the team before working on it.
NOTICE: there's an issue with vocs on Windows. Please use the Windows Linux Subsystem (WSL) for now.
The project is a standard turbo repo, you will find all starknet-react
packages in the packages
directory.
Clone this repository
git clone [email protected]:apibara/starknet-react.git
Install the dependencies
pnpm install
We use vitest for writing tests.
For running tests you need to setup a local testnet with docker by running the below command.
docker run --rm -p 5050:5050 shardlabs/starknet-devnet-rs:0.0.6-seed0
Then start tests
pnpm test
If you want to test something in browser, you can create a demo or experiment with existing demos in documentation. You can find demo components inside docs/components/demo
directory.
For documentation we are using Vocs
To start docs website you can run
pnpm dev
The project is preconfigured with Biome for formatting and linting. So you should install biome extension for your code editor and make it default formatter for the project.
Before opening a PR make sure to run the following commands.
pnpm lint:fix
pnpm format
Thanks! ❤️ ❤️ ❤️
The Starknet React team