Contributing
Building from Source
Section titled “Building from Source”git clone https://github.com/jmsingleton/chattor.gitcd chattorcargo buildRunning Tests
Section titled “Running Tests”# All testscargo test
# Specific modulecargo test protocol::message
# Integration tests onlycargo test --test integration
# E2E crypto/messaging testscargo test --test e2e_messaging
# With outputcargo test -- --nocaptureCode Quality
Section titled “Code Quality”# Formatcargo fmt
# Lintcargo clippy -- -D warningsProject Structure
Section titled “Project Structure”See the Architecture Overview for a guide to the codebase.
Testing Strategy
Section titled “Testing Strategy”- Unit tests: Per-module in
#[cfg(test)]blocks - Integration tests:
tests/integration/for cross-module interaction - E2E tests:
tests/e2e_messaging.rsfor full Signal Protocol pipeline - Database tests: Use
tempfilecrate for isolated test databases
Submitting Changes
Section titled “Submitting Changes”- Fork the repository
- Create a feature branch from
main - Make your changes with tests
- Run
cargo fmtandcargo clippy -- -D warnings - Run
cargo testand ensure all tests pass - Submit a pull request
License
Section titled “License”chattor is dual-licensed under MIT and Apache-2.0.