Files
quicproquo/CONTRIBUTING.md
Christian Nennemann 2e081ead8e chore: rename quicproquo → quicprochat in docs, Docker, CI, and packaging
Rename all project references from quicproquo/qpq to quicprochat/qpc
across documentation, Docker configuration, CI workflows, packaging
scripts, operational configs, and build tooling.

- Docker: crate paths, binary names, user/group, data dirs, env vars
- CI: workflow crate references, binary names, artifact names
- Docs: all markdown files under docs/, SDK READMEs, book.toml
- Packaging: OpenWrt Makefile, init script, UCI config (file renames)
- Scripts: justfile, dev-shell, screenshot, cross-compile, ai_team
- Operations: Prometheus config, alert rules, Grafana dashboard
- Config: .env.example (QPQ_* → QPC_*), CODEOWNERS paths
- Top-level: README, CONTRIBUTING, ROADMAP, CLAUDE.md
2026-03-21 19:14:06 +01:00

1.3 KiB

Contributing to quicprochat

Prerequisites

  • Rust toolchain (stable) via rustup
  • protoc is vendored via the protobuf-src crate -- no system installation needed
  • Git with GPG signing configured

Building and Testing

cargo build --workspace
cargo test --workspace

A justfile is also available for common tasks (just build, just test, just proto, etc.).

Code Standards

Commits

  • Conventional commits: feat:, fix:, docs:, chore:, test:, refactor:
  • Commits must be GPG-signed
  • Commit messages describe why, not just what
  • No Co-authored-by trailers

Rust

  • No .unwrap() on crypto or I/O operations outside of tests
  • Secrets must be zeroized on drop and never logged
  • No stubs, todo!(), or unimplemented!() in production code
  • Prefer clarity over cleverness; avoid unnecessary abstractions

Security Vulnerabilities

Do not open public issues for security bugs. See SECURITY.md for responsible disclosure instructions.

Licensing

The server crate (quicprochat-server) is licensed under AGPL-3.0. All other crates are dual-licensed under Apache-2.0 / MIT. By submitting a contribution, you agree to license your work under the applicable license(s).