Thanks for your interest in contributing. Mara is an AI-native telemetry shipper for AI agent runtimes, distributed under the Apache License 2.0.
git clone https://github.com/ArdurAI/mara.git
cd mara
cargo check --workspace
cargo test --workspace
bash scripts/captured/verify_open_verification.shFor the full checklist (format, clippy, schema gate, optional Hugo build), see INSTALL.md.
The Rust toolchain is pinned in rust-toolchain.toml. rustup will install it automatically.
- Open an issue describing the change before any non-trivial PR.
- Fork, branch off
main, keep commits focused. - Run
cargo fmt --all,cargo clippy --workspace --all-targets -- -D warnings,cargo test --workspacebefore pushing. - Sign your commits with
git commit -s(Developer Certificate of Origin) — seehttps://developercertificate.org. - Open the PR against
main. CI must be green before review.
- Conventional Commits style is encouraged:
feat:,fix:,docs:,refactor:,perf:,test:,chore:. - One logical change per PR. Split mechanical refactors from behavioral changes.
- Include tests with every behavior change. Performance changes require a
criterionbenchmark inbenches/.
Material design decisions are captured as Architecture Decision Records in docs/adr/. If your change touches an existing decision, update the ADR or supersede it with a new one.
The canonical event schema lives in crates/mara-schema/ and is aligned with the OpenTelemetry gen_ai.* semantic conventions. Schema changes require:
- An ADR or amendment in
docs/adr/. - CI passes the semconv drift check.
- Golden-file tests in
crates/mara-runtimes/<runtime>/tests/are regenerated and reviewed.
Do not open public issues for security vulnerabilities. See SECURITY.md.
This project follows the Contributor Covenant.