Documentation

Quickstart

Initialize once, synchronize everywhere, then keep using your project's native tools.

1. Install Basecamp

curl -fsSL https://basecamp.sh/install.sh | sh

2. Initialize the project once

From the root of an existing Rust project:

basecamp init

Basecamp detects Cargo.toml, Cargo.lock,rust-toolchain.toml, and native .cargo/config.toml when present. It asks only for choices it cannot infer safely, creates basecamp.lock, and synchronizes the environment.

3. Use the native tool

For an interactive developer shell:

basecamp shell
cargo build

Basecamp supplies Rust, Cargo packages, and the isolated Cargo configuration. Cargo still performs the build.

After cloning an existing project

basecamp sync
basecamp shell
cargo build

sync reproduces the existing basecamp.lock. It will not silently rewrite the environment definition.

When the project changes

basecamp update

Use update after changing project inputs, runtime requirements, or native environment requirements. It resolves a new lock and then synchronizes it.

Inspect or diagnose

basecamp status
basecamp doctor

Fully offline environments

basecamp bundle pack
basecamp bundle unpack project.basecamp

Read the Rust / Cargo guide →