Thank you for your interest in contributing to Prism! This document outlines how to get started.
- Rust (stable, via
rustup) - Node.js ≥ 20
- pnpm ≥ 9
- wasm-pack (for WASM builds)
# Clone the repository
git clone https://github.com/prism-soroban/prism.git
cd prism
# Build Rust crates
cargo build --workspace
# Install JS dependencies
pnpm install
# Build web app
pnpm build:web# Run all Rust tests
cargo test --workspace
# Run with specific test
cargo test -p prism-core -- test_nameThe error taxonomy database is the easiest way to contribute. See docs/contributing-taxonomy.md for the full guide.
TL;DR:
- Find the TOML file for the error category in
crates/core/src/taxonomy/data/ - Add or improve an entry
- Submit a PR
No Rust knowledge required — it's just TOML.
- Rust: Run
cargo fmtandcargo clippybefore submitting - TypeScript: Run
pnpm lintbefore submitting - All PRs require tests for new functionality
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes with tests
- Run all checks (
cargo test,cargo clippy,pnpm lint) - Submit a PR with a clear description
Be kind, be respectful, help each other learn.