Contributing to Crux Daemon
July 29, 2026 · View on GitHub
Thank you for your interest in contributing to Crux Daemon.
Building from Source
git clone https://github.com/CueCrux/Crux.git
cd Crux
cargo build --release
The binaries are at target/release/corecruxd and target/release/corecruxctl.
Prerequisites
- Rust stable (see
rust-toolchain.toml) protoc(Protocol Buffers compiler) — required bycorecrux-proto
Running Tests
cargo test --workspace # All unit tests
./scripts/run-integration-tests.sh # HTTP + gRPC + MCP integration tests
The helper builds corecruxd, exports CORECRUXD_BINARY, and then runs the
integration crate. You can still invoke Cargo directly if you want, but then
you need to build the daemon binary first:
cargo build --bin corecruxd
CORECRUXD_BINARY=target/debug/corecruxd cargo test -p crux-integration-tests
Code Style
- Run
cargo fmtbefore committing - Run
cargo clippy --workspace -- -D warningsand fix all warnings - Follow existing patterns in the codebase
Contribution Types
We welcome:
- Bug fixes with a clear description of the issue and how you verified the fix
- Corrections to documentation or code comments
- Performance improvements with benchmark evidence
- Test coverage improvements
Pull Request Process
- Fork the repository
- Create a feature branch from
main - Make your changes with clear, descriptive commits
- Ensure
cargo fmt,cargo clippy, andcargo testall pass - Open a pull request with a description of what changed and why
Changelog
When making user-facing changes, add an entry to the [Unreleased] section of CHANGELOG.md:
### Added— new features### Fixed— bug fixes### Changed— behavior changes### Security— vulnerability fixes
Licence
Crux Daemon is licensed under the Apache License, Version 2.0. Contributions are inbound=outbound: by submitting a contribution you agree it is licensed under Apache-2.0, per section 5 of the licence ("Submission of Contributions"), and you confirm you have the right to submit it. There is no separate CLA to sign, and you keep your own copyright. See LICENSE for details.
New source files should carry the standard header:
// Copyright (c) 2026 CueCrux Ltd.
// SPDX-License-Identifier: Apache-2.0
// Licensed under the Apache License, Version 2.0.
// See LICENSE in the repository root.
./scripts/check-licence-headers.sh enforces this on every .rs under crates/
and runs in CI.