Thank you for your interest in contributing to Tokamak-zk-EVM! This document provides guidelines and instructions for contributing.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/tokamak-zk-evm.git
- Add the upstream remote:
git remote add upstream https://github.com/tokamak-network/tokamak-zk-evm.git
-
Create a new branch from
dev
:git checkout dev git pull upstream dev git checkout -b feature/your-feature
-
Make your changes following our coding conventions
-
Commit your changes:
git commit -m "feat: add new feature"
We use conventional commits with the following types:
feat
: New featurefix
: Bug fixdocs
: Documentation changeschore
: Maintenance taskstest
: Adding or updating testsrefactor
: Code refactoring
-
Push to your fork:
git push origin feature/your-feature
-
Open a Pull Request
- PRs should be made against the
dev
branch - Include a clear description of the changes
- Update relevant documentation
- Add or update tests as needed
- Ensure all tests pass
- Follow existing code style
- Use consistent naming conventions
- Write clear comments and documentation
- Follow language-specific conventions:
- Rust: Follow
rustfmt
guidelines - Solidity: Follow Solidity style guide
- TypeScript: Use prettier and eslint configurations
- Rust: Follow
- Write unit tests for new features
- Ensure all tests pass before submitting PR
- Include integration tests where appropriate
- Open an issue for bugs
- Join our Discord for questions
- Check existing issues and PRs before creating new ones
By contributing, you agree that your contributions will be licensed under the project's MPL-2.0 License.