Thank you for helping improve LineProof. This document explains the expected development workflow and review standards.
This project follows CODE_OF_CONDUCT.md. By participating, you agree to uphold it.
Prerequisites:
- Node.js 18 or newer.
- pnpm 8 or newer.
- Rust 1.75 or newer with the
wasm32-unknown-unknowntarget. - Docker and Docker Compose.
- Soroban CLI.
Bootstrap:
git clone https://github.com/lineproof/lineproof.git
cd lineproof
make install
make install-toolchain
make buildRun checks:
make test
make lintFor a fuller walkthrough, see docs/developer-onboarding.md.
contracts/: Soroban contracts and Rust tests.sdk/: TypeScript SDK.frontend/: Reference React/Vite application.backend/: Reference Express API.examples/: Domain-specific sample apps.docs/: Architecture, security, testing, deployment, and integration docs.research/: Domain research and product notes.scripts/: Local deployment helpers.
- Keep changes focused and reviewable.
- Add or update tests for code changes.
- Update docs for public behavior changes.
- Update
CHANGELOG.mdfor user-visible changes. - Explain any checks you could not run.
- Do not include generated build output unless the repo explicitly tracks it.
Use conventional prefixes when practical:
docs:feat:fix:test:refactor:chore:
Call out security implications when changing:
- Queue ordering or lifecycle transitions.
- Identity binding or duplicate prevention.
- Escrow deposit, release, refund, or expiry behavior.
- Contract authorization or upgrade authority.
- SDK signing or transaction construction.
- Any field that could contain personal data.
Security vulnerabilities should be reported through SECURITY.md, not public issues.