Core Concepts
Shard is built around a few key concepts that make it different from other launchers.
The Flow
Profile (manifest) → Content Store (blobs) → Instance (game dir) → Launch- Profiles define what you want: Minecraft version, loader, mods
- The Content Store holds the actual files, deduplicated by hash
- Instances are materialized game directories, ready to run
- Launch starts Minecraft with the right arguments
Declarative vs Imperative
Traditional launchers are imperative: you click buttons to install mods, and the launcher modifies state directly. If something breaks, it’s hard to know what changed.
Shard is declarative: your profile is a manifest that describes the desired state. The launcher materializes instances from this manifest. If something breaks, you can inspect the manifest or reset to a known state.
Content-Addressed Storage
Every file in the content store is named by its SHA-256 hash:
~/.shard/store/mods/sha256/a3f2e1d4...This means:
- No duplicates: Same file = same hash = stored once
- Integrity: If the hash matches, the content is correct
- Easy cleanup: Remove unreferenced blobs safely
Separation of Concerns
Shard separates:
- Profiles: What you want (the manifest)
- Content: What exists (the blobs)
- Instances: What runs (the game dir)
- Minecraft data: Versions, libraries, assets (shared)
This separation makes Shard predictable and scriptable.
Learn More
- Profiles - Deep dive into profile manifests
- Content Store - How deduplication works
- Instances - How game directories are created
Last updated on