Rust / Cargo is the current production stack and the reference implementation for the Basecamp environment model.
Keep the normal Rust project
Cargo.toml Cargo.lock rust-toolchain.toml .cargo/config.toml # optional basecamp.lock
Basecamp does not replace Cargo.toml or Cargo.lock.basecamp.lock records their digests and locks the wider development environment. Native Cargo configuration is fingerprinted as well when present.
First setup
basecamp init
If the project has not pinned Rust, Basecamp can offer to createrust-toolchain.toml. If Cargo.lock is missing, Basecamp uses the prepared Cargo binary to run cargo generate-lockfile and writes Cargo.lock to the project root.
Reproduce the environment
basecamp sync
The Rust toolchain is downloaded directly from the official Rust distribution service and verified by SHA-256. Cargo packages are materialized by native cargo vendor from the project's configured registries or Git sources, and Cargo's generated source configuration is preserved. Shared layers are reused across projects.
Build with Cargo, not Basecamp
basecamp shell cargo build cargo test cargo run
The shell activates Basecamp's Rust toolchain and an isolated Cargo configuration. The application build remains a normal Cargo operation.
When Cargo.toml, Cargo.lock, or the toolchain changes
basecamp update
sync refuses to rewrite a stale lock. update is the explicit command that re-resolves the environment and writes a new basecamp.lock.
Air-gapped sandbox
basecamp bundle pack # copy the resulting .basecamp archive into the isolated environment basecamp bundle unpack project.basecamp
After import, the Rust toolchain and Cargo package layer can be used without network access.