Skip to content

Contributing

Terminal window
git clone https://github.com/jmsingleton/chattor.git
cd chattor
cargo build
Terminal window
# All tests
cargo test
# Specific module
cargo test protocol::message
# Integration tests only
cargo test --test integration
# E2E crypto/messaging tests
cargo test --test e2e_messaging
# With output
cargo test -- --nocapture
Terminal window
# Format
cargo fmt
# Lint
cargo clippy -- -D warnings

See the Architecture Overview for a guide to the codebase.

  • Unit tests: Per-module in #[cfg(test)] blocks
  • Integration tests: tests/integration/ for cross-module interaction
  • E2E tests: tests/e2e_messaging.rs for full Signal Protocol pipeline
  • Database tests: Use tempfile crate for isolated test databases
  1. Fork the repository
  2. Create a feature branch from main
  3. Make your changes with tests
  4. Run cargo fmt and cargo clippy -- -D warnings
  5. Run cargo test and ensure all tests pass
  6. Submit a pull request

chattor is dual-licensed under MIT and Apache-2.0.