Skip to content

Latest commit

 

History

History
25 lines (20 loc) · 1.43 KB

File metadata and controls

25 lines (20 loc) · 1.43 KB

CONTRIBUTING

This project follows the Conventional Commits specification for commit messages. All commits must use English language for messages.

Code Contribution Guidelines

  • Integration seam stability: librtmp2-server does not implement the RTMP/E-RTMP protocol itself — that lives in the separate librtmp2 crate. Changes to the RtmpEventHandler trait are a breaking change for that integration and should be coordinated
  • Testing: All new features must be covered by unit tests alongside the module they touch (#[cfg(test)] mod tests in the relevant src/*.rs file)
  • Security: Input validation on all HTTP entry points; sanitize all user-provided data before database operations
  • Lints: cargo fmt --check and cargo clippy --all-targets -- -D warnings must pass clean — this is enforced in CI

Build Guidelines

cargo build           # Debug build
cargo build --release # Release build with optimizations
cargo test             # Run unit tests
cargo fmt              # Format code
cargo clippy --all-targets -- -D warnings  # Lint (same as CI)

Dependencies

  • Rust stable toolchain
  • SQLite: vendored via rusqlite's bundled feature — no system SQLite3 needed

License

Source code is under Apache 2.0 license. Additional assets have their own license information.