Contributing
Ways to Contribute
Section titled “Ways to Contribute”- Opening issues: Report bugs or request features in the issue tracker.
- Adding context: Provide screenshots, logs, and code snippets to existing issues.
- Resolving issues: Open pull requests that fix issues.
What We Accept from External Contributors
Section titled “What We Accept from External Contributors”- Small, focused changes: One-liner fixes, typo corrections, small bug fixes
- Issues labeled
help wanted: Look for unassigned issues with this label - Bug reports: Well-documented bug reports with reproduction steps
Before Starting Work
Section titled “Before Starting Work”If you’re considering a larger contribution (new features, refactors, architectural changes), open an issue first to discuss your proposal. This ensures alignment with project goals and prevents wasted effort.
Only work on issues that are assigned to you. Comment on an issue to request assignment.
Making Changes
Section titled “Making Changes”- Fork the repository and create your branch from
main - Follow the existing code style
- Add or update tests as appropriate
- Run all checks locally:
just ciThis runs: formatting checks, clippy, tests, dependency auditing, link checking, and no-std verification.
Development Commands
Section titled “Development Commands”# Fix formatting and clippy issuesjust fix
# Run checks (format, udeps, clippy, tests, deny)just check
# Run testsjust test
# Build contracts (needed before tests)just build-contractsSee the Development Workflow guide for more details.
Opening a Pull Request
Section titled “Opening a Pull Request”- Link to the related issue
- Describe what your changes do and why
- Keep your PR up to date with the
mainbranch - Respond to feedback and requests for changes
Submitting a Bug Report
Section titled “Submitting a Bug Report”Include:
- The Base version you are on (and that it is up to date)
- Relevant logs and error messages
- Concrete steps to reproduce the bug
- Any relevant configuration
Getting Help
Section titled “Getting Help”- Open a discussion in the repository
- Comment on the relevant issue
- Check existing documentation and issues first