Community
Small, considered, and welcoming.
Surp is developed in the open at tubox-labs/surp. The repository is the authoritative source of truth for issues, discussions, and contributions.
File an issue
Bug reports, feature requests, format clarifications — open an issue with a minimal reproduction.
Open a discussion
Design questions and RFC-001 feedback are easier to thread through GitHub Discussions.
Send a pull request
Read the local development loop in the README. Run cargo fmt, cargo test --workspace --all-features, and cargo clippy -D warnings before pushing.
Report a vulnerability
Follow the policy in SECURITY.md — please do not file public issues for security reports.
Contribution loop
The shape of a healthy patch
- 01Open an issue first if the change touches the v1 wire format, public Rust API, or Python public surface.
- 02Match the existing style — the codebase uses cargo fmt for Rust and ruff/pyright conventions for Python.
- 03Add or update tests in the affected crate. Workspace tests must pass with --all-features.
- 04Update CHANGELOG.md under the [Unreleased] section using Keep a Changelog conventions.
- 05Reference the issue in your pull request and describe the user-visible impact.