This guide gets you from zero to contributing code.
Install these before cloning:
| Tool | Install |
|---|---|
| Rust | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| Soroban CLI | cargo install soroban-cli |
| wasm32 target | rustup target add wasm32-unknown-unknown |
Verify:
rustc --version
cargo --version
soroban --version- Fork the repo on GitHub.
- Clone your fork:
git clone https://github.com/<your-username>/ProofOfHeart-stellar.git
cd ProofOfHeart-stellar- (Optional) Track upstream for syncing:
git remote add upstream https://github.com/Iris-IV/ProofOfHeart-stellar.git# Build WASM
cargo build --target wasm32-unknown-unknown --release
# Run tests
cargo test --features testutilsCI runs these checks on every PR. Run locally before pushing:
cargo fmt --check
cargo clippy --all-targets --features testutils -- -D warnings
cargo test --features testutils
cargo build --target wasm32-unknown-unknown --releaseAll four must pass.
Branch off main. Use a type prefix:
| Prefix | Use for |
|---|---|
docs/ |
Documentation |
feat/ |
New features |
fix/ |
Bug fixes |
chore/ |
Tooling, deps |
test/ |
Tests only |
Examples: docs/add-contributing-md, feat/campaign-ownership-transfer, fix/reentrancy-guard
Delete your branch after merge.
Conventional Commits format:
<type>(<scope>): <description>
Types: feat, fix, docs, test, chore, refactor, security
Examples:
docs: add CONTRIBUTING.md
fix: reentrancy guard on withdraw_funds
feat: campaign ownership transfer
test: deadline boundary coverage
- Reference the issue:
Closes #28 - Fill out the PR template (auto-applied from
.github/PULL_REQUEST_TEMPLATE.md) - Ensure CI is green — all four checks in the Code Style section must pass
- One issue per PR
| Label | What it means |
|---|---|
good first issue |
Beginner-friendly, good for first PR |
bug |
Something is broken |
enhancement |
New functionality request |
documentation |
Docs changes |
security |
Security vulnerability or hardening |
testing |
Test coverage or quality |
infrastructure |
CI/CD, tooling, repo setup |
Stellar Wave |
Part of the Stellar Wave program |
| Milestone | Focus |
|---|---|
| MVP Hardening | Core security, bug fixes |
| Testing & QA | Test coverage |
| DevOps & Infrastructure | CI/CD, tooling |
| Documentation | Docs, guides |
View the full board at the Issues page.
- Soroban Docs
- Stellar Developers
- Issues — search before opening new ones
By contributing, your work falls under the MIT License.