# Guide These task-oriented guides walk through snapdir's day-to-day workflows, from turning a directory into a content-addressed snapshot to publishing it, restoring it elsewhere, replicating it between stores, and reviewing its history. Start with snapshotting and follow the links from there, or jump straight to the topic you need. - [Snapshotting](snapshotting.md) — describe a directory with `manifest`, derive its deterministic ID with `id`, and stage its objects into the local cache. - [Creating a manifest without snapdir](manifest-without-snapdir.md) — recreate every checksum in a manifest, and the snapshot ID itself, by hand with `b3sum` and standard shell tools. - [Pushing and pulling](pushing-pulling.md) — publish a staged snapshot to a store and restore it byte-for-byte verified anywhere. - [Stores](stores.md) — the `file://`, `s3://`, `gs://`, `b2://`, `ssh://`, and `sftp://` backends and how to configure them. - [Syncing](syncing.md) — copy a snapshot directly between two stores, including cross-cloud replication. - [History](history.md) — track where snapshots live with `locations`, `ancestors`, and `revisions`. See also the [Command reference](../reference/) for every subcommand and flag.