> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usegandalf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Export and import portable .gandalf bundles

> Package your Gandalf snapshot into a portable .gandalf bundle, verify it, inspect it, and import on another machine with dry-run and quarantine safeguards.

A `.gandalf` bundle is a portable archive of a snapshot. Use bundles to move your reviewed setup between machines, share a baseline with a teammate, or hand off state to a fresh install. Every step of the bundle workflow supports verification and preview before any file is written.

<Steps>
  <Step title="Export a snapshot">
    Export requires the snapshot name and an output path. Add `--metadata-only` to skip file content.

    ```bash theme={null}
    gandalf bundle export --name baseline --out daily.gandalf --project .
    gandalf bundle export --name baseline --out daily.gandalf --metadata-only --project .
    ```

    The output prints the bundle path and checksum.
  </Step>

  <Step title="Verify the bundle">
    Check format, checksums, and signature. Verify exits non-zero if anything fails.

    ```bash theme={null}
    gandalf bundle verify daily.gandalf
    ```
  </Step>

  <Step title="Inspect metadata">
    Print bundle format version, snapshot name, content flag, and checksum.

    ```bash theme={null}
    gandalf bundle inspect daily.gandalf
    ```
  </Step>

  <Step title="Dry-run import">
    Preview the import without writing anything.

    ```bash theme={null}
    gandalf bundle import daily.gandalf --dry-run --project .
    ```

    The output shows the target snapshot name, evidence count, and any warnings.
  </Step>

  <Step title="Apply content on another machine">
    Applying bundled file content requires `--experimental`. Quarantine known sensitive prefixes on first import.

    ```bash theme={null}
    gandalf bundle import daily.gandalf --apply-content --quarantine --experimental --project .
    ```

    Drop `--quarantine` once you have reviewed the quarantined items:

    ```bash theme={null}
    gandalf bundle import daily.gandalf --apply-content --experimental --project .
    ```
  </Step>
</Steps>

<Warning>
  Bundle content apply refuses known sensitive prefixes and requires `--experimental` or `GANDALF_EXPERIMENTAL=1`. Preview with `--dry-run` or `--quarantine` first.
</Warning>

## Readiness

Run `gandalf doctor --project .` on the target machine to surface missing tools or env keys before importing. Doctor reports what is missing without installing anything.

## Related

* [`gandalf bundle` reference](/cli/bundle)
* [`gandalf doctor` reference](/cli/doctor)
* [Trust contract](/trust-contract)
