Skip to content

Contributing

  1. Opening issues: Report bugs or request features in the issue tracker.
  2. Adding context: Provide screenshots, logs, and code snippets to existing issues.
  3. Resolving issues: Open pull requests that fix issues.
  • 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

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.

  1. Fork the repository and create your branch from main
  2. Follow the existing code style
  3. Add or update tests as appropriate
  4. Run all checks locally:
Terminal window
just ci

This runs: formatting checks, clippy, tests, dependency auditing, link checking, and no-std verification.

Terminal window
# Fix formatting and clippy issues
just fix
# Run checks (format, udeps, clippy, tests, deny)
just check
# Run tests
just test
# Build contracts (needed before tests)
just build-contracts

See the Development Workflow guide for more details.

  1. Link to the related issue
  2. Describe what your changes do and why
  3. Keep your PR up to date with the main branch
  4. Respond to feedback and requests for changes

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