This guide walks you through creating and publishing your first volume — a versioned package of agent components that any compatible runtime can install. You’ll write aDocumentation Index
Fetch the complete documentation index at: https://agentvolumes.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
volume.toml manifest, declare components, specify compatibility requirements, and publish using the shelf CLI.
The
shelf CLI and the Alexandria bibliotheca are Windlass-maintained reference implementation
projects in development. They are downstream implementation projects, not governance artifacts,
and the canonical standard remains the Agent Volumes v0.1.0-rc.1 specification plus its
companion schemas and conformance fixtures.Create a volume.toml manifest
Every volume starts with a The required fields are:
The
volume.toml file at the root of your project. This file is the authoritative manifest — it declares your package metadata, components, dependencies, and compatibility requirements.Create volume.toml in your project root with the required fields:volume.toml
| Field | Description |
|---|---|
schema | Always 1 for the current specification version. |
name | Your volume’s name. Lowercase letters, digits, and hyphens only. Scopeless (my-pack) or scoped (@org/my-pack) per your bibliotheca’s policy. |
version | A valid SemVer version string. |
description | A summary up to 256 characters. |
license | An SPDX license expression, e.g. Apache-2.0 or MIT. |
role | One of component, plugin, provider, or meta. Use plugin for most volumes that extend a runtime. |
[publisher] table identifies who owns this volume name. For scoped volumes, the id matches your scope.Declare your components
Components are the actual agent capabilities your volume exports. Declare each one as an Then create the entrypoint files at the declared paths:Each component name must be unique within the volume across all component types. Component names use lowercase letters, digits, and hyphens only; unlike volume names, component names are never scoped.
[[components]] entry with a type, a unique name, and an entrypoint path relative to your volume root.Add a skill and a tool to your manifest:volume.toml
Add compatibility metadata
Tell runtimes and users what environments your volume supports. Compatibility metadata is optional but strongly recommended for discoverability.
volume.toml
- Runtimes
- Protocols
- Permissions
The
[[runtimes]] array declares which agent runtimes this volume targets and what version expression it reports for each runtime. If you omit this array entirely, the volume makes no runtime-specific compatibility claim.Publish using the shelf CLI
Once your manifest and entrypoint files are in place, publish your volume to a bibliotheca using the
shelf CLI.shelf publish reads your volume.toml, validates the manifest and all declared entrypoints, constructs the content integrity digest, and uploads the package to the configured bibliotheca.Verify content integrity
After publishing, every release is identified by two identities that work together:The verification process reconstructs the normalized file tree digest from your local files and compares it against the digest recorded at publish time. Any modification to any file in the volume — including the manifest — changes the digest and fails verification.
- Logical identity:
pkg:volume/my-research-pack@0.1.0— the package-facing release identifier you reference in dependencies and tool calls. - Immutable content identity: a
sha256:...digest of the normalized file tree — the cryptographic anchor that lets anyone verify they received exactly what was published.
Complete example
Here is the fullvolume.toml from the specification, showing all major sections together:
volume.toml
pkg:volume/research-agent-pack@1.4.0. Its literature-reviewer agent component is addressable as pkg:volume/research-agent-pack@1.4.0#agent/literature-reviewer.
Next steps
Core concepts
Deep-dive into the vocabulary: volumes, bibliothecas, identity, trust, and package roles.
Implementers guide
Turn the canonical artifacts into a baseline client, bibliotheca, validator, or exporter.
Manifest reference
Full reference for every field in
volume.toml, including validation rules and defaults.Component types
Entrypoint formats, invocation semantics, and conventions for all seven component types.
Supply chain security
Content integrity, publisher identity, SLSA provenance, and the trust model.