Name your remotes
tovio remote add, list, show, remove — and what a name is actually used for.
Written By Dustin
Last updated 19 minutes ago
tovio remote add <name> <url> <repo> [--cert <file.der>]tovio remote listtovio remote show <name>tovio remote remove <name>remove also answers to rm. A remote binds three things to a short name: the Forge or relay address, the repository id served there, and the pinned certificate if there is one.
The certificate rule is strict in both directions
Getting either wrong — a missing pin, a pin on a hosted remote, an unreadable file, an empty name — is TVO-CLI-020, and it names the specific gap.
What show prints
tovio remote show originThe name, the URL, the repository id, and how it is trusted: either public PKI (hosted) or pinned cert (N bytes). It reads the local record — it does not contact the remote, so it is not a reachability check.
What a name is used for today
This is worth being precise about, because it is easy to assume more.
clone, sync, push, and pull take an address positionally, not a remote name. tovio sync backup <repo> would try to resolve backup as a host. A bare tovio sync uses the origin recorded at clone time in .tovio/origin, which is separate from the named-remote table.
Where the name genuinely matters is the remote called origin. It is the default Forge for the operations that need one without being told:
- Lock arbitration.
tovio lockacquires the authoritative lock there, and the pre-land write guard consults it. - Policy publication and lookup.
So tovio remote add origin <url> <repo> --cert … is how you point those at a Forge in a repository that was not cloned from it. Adding other names records them for reference; treat the table as a local address book until a command documents that it resolves names.
It is local state
The table lives at .tovio/remotes.vex and is never synced. Each clone configures its own.