Thanks for your interest in contributing! This file covers the essentials for
building, testing, and submitting changes. For architecture and design
background, see the documentation site and
docs/.
- Rust (stable) — the analysis engine and CLI are a Cargo workspace
- protoc (
protobuf-compiler+libprotobuf-dev) — required by a transitive dependency (lance-encoding via lancedb) - Docker + Docker Compose — for the per-language scanner and sandbox sidecars
cargo build -j2 --workspace
cargo test -j2 --workspace --all-targets
cargo clippy -j2 --workspace --all-targets -- -D warningsPlease run clippy with -D warnings before opening a PR — CI enforces it.
This repository is the open-source core (engine + CLI) under Apache-2.0. The multi-tenant client portal is a separate enterprise offering and is not part of this tree; PRs should target the core.
The extension points are documented in the docs:
A new language sandbox reproducer follows the pattern in scanners/<lang>-sandbox/
(Dockerfile + entrypoint.sh + Python run-reproducer.py); the PHP and Java
sandboxes are the reference implementations.
- Fork and branch from
main. - Keep the change focused; add or update tests covering it.
- Update
docs/if you change the CLI surface, features, or APIs. - Add a
CHANGELOG.mdentry under## [Unreleased]for user-visible changes. - Open a PR and fill out the template.
Do not open public issues for vulnerabilities. Follow the coordinated disclosure process in SECURITY.md.