Contributing
Getting Started
git clone https://github.com/0xBloctopus/arbreth.git
cd arbreth
cargo check
cargo testRequirements: Rust 1.93+, clang, cmake
Development Workflow
- Fork the repository and create a feature branch
- Make your changes
- Run all checks:
cargo +nightly fmt --all # format
cargo clippy --workspace \
--all-targets -- -D warnings # lint
cargo test --workspace # test
cargo doc --workspace --no-deps # docs- Open a pull request against
master
Code Standards
- Use
alloy-primitivestypes (Address,B256,U256) - not raw[u8; 32] - Use
thiserrorfor error types - Use
#[derive(Debug, Clone)]on structs - No
unwrap()in library code - use?and proper error types - Document public APIs with doc comments
- Follow existing reth patterns for crate and module structure
Pull Requests
- Open an issue before starting work on larger changes
- Keep PRs focused - one logical change per PR
- Include a clear description of what changed and why
- Ensure CI passes before requesting review
Reporting Issues
- Bugs: Open a GitHub issue with reproduction steps
- Security vulnerabilities: See SECURITY.md - do not file a public issue
License
By contributing, you agree that your contributions will be licensed under the Business Source License 1.1.
