Command-line interface for Quilt data packages.
Thin wrapper around quilt-rs — see
docs/architecture.md for what each command does
under the hood.
The binary is named quilt.
Recommended (downloads a prebuilt binary):
cargo binstall quilt-cliPrebuilt binaries are currently published for macOS (x86_64, aarch64)
and Linux (x86_64-gnu). On other platforms, or if cargo-binstall is
not installed, build from source:
cargo install quilt-cli| Command | Purpose |
|---|---|
browse |
Fetch and inspect a remote manifest |
create |
Create a new local-only package |
install |
Install a remote package locally |
status |
Show working-directory changes |
commit |
Commit a new package revision |
push |
Upload a local revision to the remote |
pull |
Fetch the latest remote revision |
list |
List installed packages |
uninstall |
Remove a package from local tracking |
login |
Authenticate against a Quilt stack |
Run quilt <command> --help for arguments.
--domain <path>— local domain directory (stores credentials and package metadata). Defaults to~/.local/share/com.quiltdata.quilt-rs/.--home <path>— directory where packages keep their working files. Required on the first invocation against a domain (every command validates that a home is set); afterward it is persisted in the domain lineage and may be omitted.
quilt --home ~/QuiltHome login --host open.quiltdata.com
quilt install quilt+s3://quilt-example#package=akarve/cord19 \
--namespace akarve/cord19
quilt status --namespace akarve/cord19--home is needed once to initialize the domain; the later commands pick
it up from the saved lineage.
URIs follow the Quilt+ URI format.
No login or remote is required to create, edit, and version a package entirely on disk:
# --home is only needed on the first invocation against a domain
quilt --home ~/QuiltHome create --namespace me/local-pkg \
--message "Initial revision"
# Package files live under <home>/<namespace>; add/edit them directly
mkdir -p ~/QuiltHome/me/local-pkg
echo "a,b,c" > ~/QuiltHome/me/local-pkg/data.csv
quilt status --namespace me/local-pkg
quilt commit --namespace me/local-pkg --message "Add data.csv" --no-workflow
quilt listAdd --source <dir> to create to populate the package from an existing
directory instead of starting empty. The package stays local-only — usable
with status, commit, and uninstall — until a push (which then
requires --bucket/--origin for the first push) sends a revision to a
remote.