- Install Rust: https://rustup.rs
- Add Wasm target:
rustup target add wasm32-unknown-unknown
- Install Soroban CLI:
cargo install --locked soroban-cli --features opt
- Copy env file:
cp .env.example .env
cargo test- Every PR must include unit tests for new functionality
- All PRs must pass
cargo clippy -- -D warnings - Use conventional commit messages:
feat:,fix:,chore:,docs:,test: - One issue per PR — never combine multiple issues
- Never commit private keys or secret values
- Always use
require_authfor privileged operations - Follow the CEI pattern (Checks-Effects-Interactions)
- Validate all inputs before state changes