Thank you for your interest in contributing to the project. Issues, Bug reports or feature request can be made via GitHub issues. For detailed developer information please see the sections below.
In any case please also acknowledge our Code of Conduct
Where new behavior belongs, and the request and startup paths end to end, are described in REPO_STRUCTURE.md.
During local work, use focused checks for the changed behavior and run
just lint, which runs the style checker self-tests and checker together with
the same formatting and Clippy commands as CI. The lint recipe
pins nightly-2026-09-14; install it with
rustup toolchain install nightly-2026-09-14 -c rustfmt -c clippy if it is
missing. Builds use stable 1.97.1 from rust-toolchain.toml. Do not run the
general test suite per edit or commit; documentation-only changes need
reference and formatting checks.
After submitting a PR, run the full checks in parallel CI jobs against its final
revision. The same commands are available locally: just check compiles every
supported feature selection, and just test runs the nextest and doctest
commands (it requires cargo-nextest).
All required PR checks must pass before merge. A failed, partial, or earlier run is not a pass; rerun affected checks after corrections. Use the pinned Rust toolchain, independent CI workspaces and bounded aggregate concurrency.
CI is the upstream check reference. It also runs the S3 and Docker backend checks, dependency and shell checks, and deployment recipe checks. The local recipes are not the entire CI matrix.
Naming, folder, comment, and fixture rules are owned by root STYLE.md, not by this file; apply that policy directly instead of keeping a local copy. The root policy is the single owner of the folder threshold, the shared-prefix exception, term limits, and hoisting.
- Behavior homes. Bucket, object, multipart, and access operations belong
under
operations/src/s3/<family>/; routes underapi/src/routes/{execution,access,storage}/; records undercore/src/structs/{placement,identity,storage,execution}/; effect adapters underoperations/src/effect_adapters/. See REPO_STRUCTURE.md for the full map.
Please create an issue or a draft PR first so contributors can discuss the approach. Automated contributors must have permission before publishing one.