Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
vgi-cli
The vgi command for people who hold a repository in a VTC-governed git
namespace. (vgi on crates.io is an unrelated project, hence the crate name;
the binary is vgi.)
vgi repo init
Turns VGI commit trust on for one repository where no community bridge acts
on it — a namespace bound in manual mode, or a personal account the
community's GitHub App is not installed on. It is the step cnm git create
prints for such a namespace:
It runs the bridge's own bootstrap plan (from vgi-forge-github /
vgi-forge-forgejo), so the files, rulesets and protections are byte-for-byte
what the bridge would write — but as you:
- GitHub, through your
ghlogin (gh auth login; admin on the repository). Every request is onegh apiprocess with an argument vector and the body on stdin; nothing passes through a shell. It commits.github/workflows/verify-trust.yml(the DIDs as literals, the namespace asfallback-resource) and theweb-flowexempt keyring, removes staleTRUST_REGISTRY_DID/VTC_DIDvariables, and converges the "VGI commit trust" ruleset (pull request required, the check required and pinned to GitHub Actions, no force-push, no deletion, no bypass actors). The owners are you (on a personal repository, its account holder) plus each--code-owner <login>, each counted once. With two or more it also writes the managed.github/CODEOWNERSblock and requires a code owner's review; with one, only the check — which on an organisation repository it refuses unless you pass--solo, since any other member with write access could then edit the workflow in the pull request it judges. - Forgejo / Gitea, with
FORGEJO_TOKEN(write:repository,read:user). The token is sent only to the repository's own host, and only afterGET /api/v1/version, asked without it, answers as Forgejo or Gitea (--forge autotakes any host butgithub.comfor Forgejo; pass--forge githubfor GitHub Enterprise Server). It allows fast-forward-only merges, commits.forgejo/workflows/verify-trust.yml, and converges the default branch's protection (no pushes, the check's context required, the workflow directories protected, applying to admins; you are on the merge allow-list).
These are per-repository guards. Manual mode does not set an organisation's required workflow; that is the community bridge's job.
Every step is check-then-apply: a re-run changes nothing. --dry-run reads
the repository and prints each change, with the file or request body, and
makes none.
Inputs it finds when not given: the repository from the clone's origin
remote; the registry DID from the VTC DID document's TrustRegistry
referral (--registry); the verify-trust action pinned to the commit the
release tag matching this binary names, annotated tags dereferenced
(--verify-trust-action, --verify-trust-version); on Forgejo, the
release's published tarball SHA-256 (--verify-trust-sha256); on
github.com, the web-flow key (--platform-keyring). The report says where
each came from; the action commit and the SHA-256 are trust on first use, so
pass the flags to pin values you verified.
Upgrading to a new --verify-trust-version later: on GitHub, through a pull
request (the ruleset has no bypass); on Forgejo, lift the default branch's
protection and re-run, which writes the workflow and puts the protection
back. The runbook
has the steps.
It does not adopt the repository: git-ns/repo/adopt is a Trust Task signed
with a VTA session, which this tool does not hold. It prints the
cnm git adopt <resource> --owner <did> command to run instead (pass
--owner <did> to have it filled in).
See the runbook.