Contributing
Contributions to the engine (mq-bridge) — bug reports, feature requests, docs, and
code — are welcome. The engine repo holds the authoritative
CONTRIBUTING.md; this
page is a short orientation.
Getting started
- Fork and clone the engine repo.
- Install Rust (stable, via rustup).
- The
tests/folder ships Docker-Compose files for each broker, so you don’t need to install Kafka/NATS/AMQP/etc. natively. - Verify your environment:
cargo test -p mq-bridge-app --features full.
Code style
cargo fmt --allbefore submitting a PR.cargo clippy -p mq-bridge-app --all-targets -- -D warningsmust pass (whatapp.ymlruns). Not--all-features: it turns on the engine’slink-dynamic, which needs a system librdkafka via pkg-config.- Follow idiomatic Rust and existing conventions.
Adding an endpoint or middleware
- Add files under
src/endpoints/orsrc/middleware/. - Update the factory functions in the relevant
mod.rs. - Add configuration models to
src/models.rs. - Add/adjust unit tests in the module, and integration tests under
tests/integration/where applicable. - Keep the
REFERENCE.mdsnippets valid — they are parsed bytests/reference_docs_test.rs.
Building this book
The documentation lives in the repository under docs/book/. To build it locally,
see docs/book/README.md.
See also
- Engine
CONTRIBUTING.md— the full, authoritative guide. - Custom endpoints and Custom middleware — extend without forking.