Registry

Packages

This is the official Hover package index. It maps short names to archive URLs and content hashes — and that is all it holds. No package code is stored or served here. The bytes always come from wherever the author published them.

Using it

It is the default index, so there is nothing to configure:

$ hover hpm install hvr-rc
$ hover hpm install hvr-rc@^0.1.0

The index itself is one file, rebuilt from the entries below on every request: /packages/index.tar.gz. Point a mirror or an air-gapped build at it with HOVER_INDEX_URL.

2 packages 3 versions
Publishing a package

Tag a release. GitHub, GitLab and Codeberg all generate a .tar.gz for every tag at a stable URL, and that URL is already a complete, working package — nothing is uploaded to anyone, and that step alone counts as published.

A short name here is the optional second step: install your package once by URL, read the hash out of hover.lock, and submit one file to the index repository.

# packages/your-parts.toml
name = "your-parts"
description = "What it is"
repository = "https://github.com/you/your-parts"

[[version]]
version = "0.1.0"
url = "https://github.com/you/your-parts/archive/refs/tags/v0.1.0.tar.gz"
hash = "sha256:..."

Review is the trust anchor: an entry is read before it is merged, so what you are submitting is a pointer, and you keep hosting your own bytes. Retiring a version sets yanked = true rather than deleting it — yanked versions are skipped for new resolutions but keep working for anyone already locked to them.

Full details are in the documentation, and the repository is where entries are submitted.