Thanks for your interest in contributing! π
This project is open to bug fixes, features, documentation, and examples.
-
Fork & clone this repo
git clone git@github.com:YOURNAME/zksync-js.git cd zksync-js -
Install dependencies
bun install
-
Run tests to verify everything works
bun run test
- Bug reports β open a GitHub issue with clear steps to reproduce.
- Fixes / features β open a pull request. Keep changes focused.
- Docs / examples β improvements are always welcome!
Before submitting a PR, please make sure:
-
Commits are small and meaningful.
-
bun run testpasses locally. -
Run code checks to ensure style and types are correct:
bun run lint bun run format:check bun run typecheck
-
Update or add docs/examples if needed. For docs, make sure to import any code examples from tests inside
docs/snippets. UseANCHORcomments with unique tags to specify a code block within a test to import into a markdown file. For more information, check out the mdbook docs. -
Link the related issue (if any).
If you're using AI tools (Claude, ChatGPT, Cursor, etc.) to contribute:
- Start with
AGENTS.mdfor rules and workflow - See
llm/README.mdfor detailed guidance
- Open a GitHub Discussion
- Or join the ZKsync community for general questions.
Thanks again for helping improve zksync-js! π