hub.byterover.dev. Add private registries to distribute internal skills and bundles across your team. All registries are fetched in parallel with graceful degradation — if a private registry is unreachable, others continue to work normally.
The official registry is always included and cannot be removed.
Quick Start
CLI Commands
brv hub registry list
List all configured registries with their connection status and entry counts.
| Flag | Description | Default |
|---|---|---|
-f, --format <format> | Output format: text or json | text |
brv hub registry add <name>
Add a new private registry.
| Argument / Flag | Description | Required |
|---|---|---|
name | Registry name (used in --registry flag) | Yes |
-u, --url <url> | Registry URL | Yes |
-t, --token <token> | Auth token for private registry | No |
-s, --auth-scheme <scheme> | Authentication scheme | No |
--header-name <name> | Custom header name (for custom-header scheme) | No |
-f, --format <format> | Output format: text or json | No |
brv hub registry remove <name>
Remove a private registry and its stored credentials.
Authentication Schemes
| Scheme | HTTP Header Sent | Use Case |
|---|---|---|
bearer | Authorization: Bearer <token> | Most APIs (default when --token is provided) |
token | Authorization: token <token> | GitHub personal access tokens |
basic | Authorization: Basic <base64> | HTTP basic auth |
custom-header | <header-name>: <token> | GitLab, custom APIs |
none | (no header) | Public registries |
Token Storage
Authentication tokens are stored using file-based AES-256-GCM encryption with the following storage locations:- macOS —
~/Library/Application Support/brv/ - Linux —
$XDG_DATA_HOME/brv/(defaults to~/.local/share/brv/) - Windows —
%LOCALAPPDATA%/brv/
0600 permissions (owner read/write only).
The encryption key is regenerated on every write operation.
Registry configurations (name, URL, auth scheme — but not tokens) are stored in hub-registries.json within the same data directory.
Registry Format
A registry is a JSON file containing aversion string and an entries array. Each entry describes a skill or bundle with its metadata and downloadable files.
Multi-Registry Behavior
When multiple registries are configured:- Entries from all registries are merged and displayed together in
brv hub listand the/hubTUI. - If the same entry ID exists in multiple registries, the
installcommand requires the--registry <name>flag to disambiguate. - Failed registries are silently skipped — one unreachable registry does not block access to others.
- Registry data is cached for 5 minutes per registry to reduce network requests.
Troubleshooting
Registry validation fails when adding
Registry validation fails when adding
The registry URL must be reachable and return valid JSON during
brv hub registry add. Verify that:- The URL points to a valid registry JSON file
- Authentication credentials are correct (if the registry is private)
- The server is reachable from your network
Entry exists in multiple registries
Entry exists in multiple registries
When an entry ID appears in more than one registry, use the
--registry flag to specify which one to install from:Authentication failed (HTTP 401/403)
Authentication failed (HTTP 401/403)
Verify that:
- The token is correct and not expired
- The
--auth-schemematches what the server expects - For
custom-header, the--header-nameis correct (e.g.,PRIVATE-TOKENfor GitLab)
Cannot use reserved registry name
Cannot use reserved registry name
The names
brv, byterover, campfire, campfirein, and official are reserved. Choose a different name for your registry.