Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contributing

Contributions of every size are welcome. The repository guide — CONTRIBUTING.md — is the authoritative version; this page summarises the flow and the rewards.

ToolchainRust 1.91+ (stable)
Checksfmt · clippy · test · docs · cargo deny · budget baseline
Reviewtwo-way, within 14 days

Contribution flow

  1. Fork and clone

    Create your fork of stellar-crucible/soroban-testkit, then cargo test --workspace --locked to confirm a green baseline (153 tests run locally; two more are #[ignore]d and belong to CI).

  2. Claim an issue

    Every funded task carries both Stellar Wave and a complexity:* label. Comment on the issue before starting so two contributors do not collide — Wave issues are first-come, first-served.

  3. Branch, commit, check

    Run cargo fmt --all --check and cargo clippy --workspace --all-targets --locked -- -D warnings locally. main is protected: check, Docs build and Supply chain audit must all be green before a pull request can merge. A fourth job, Budget baseline, runs on any pull request that touches the counter example or the budget code — it re-measures the hot paths and comments the numbers on the pull request.

  4. Open a pull request

    Reference the issue, describe what changed and why, and include the test evidence for behaviour changes.

Stellar Wave rewards

This project participates in the Stellar Wave program on Drips Network. Every issue carries a complexity label, and rewards land when the pull request merges.

complexity:trivial

100 points

Docs, small type fixes, one-line helpers. Expected within a day or two.

complexity:medium

150 points

A new matcher, a generator family, or an API that touches one crate.

complexity:high

200 points

Cross-crate features, storage enumeration, or anything needing design discussion first.

Unresolved issues roll over

If an issue is not merged inside the monthly cycle it carries over with its label intact — picking it up late still pays.

Ready to start? The tracker lists every open task with its complexity label and acceptance criteria.

Browse issues