Skip to content

Usage:

Terminal
$ vlt publish

Create a tarball from a package and publish it to the configured registry. This command will pack the package in the current directory or specified folder, and then upload it to the configured registry.

Options

tag

Publish the package with the given tag

Terminal
$ vlt publish --tag=<tag>

access

Set access level (public or restricted)

Terminal
$ vlt publish --access=<level>

otp

Provide an OTP to use when publishing a package.

Terminal
$ vlt publish --otp=<otp>

publish-directory

Directory to use for pack and publish operations instead of the current directory. The directory must exist and nothing will be copied to it.

Terminal
$ vlt publish --publish-directory=<path>

Publishing in CI

If your CI provider supports OpenID Connect, vlt can publish without any stored tokens. On GitHub Actions, add id-token: write to your job’s permissions and vlt handles authentication automatically.

See Authentication — OIDC for full details on supported providers and configuration.

github-actions.yml
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: vltpkg/setup-vlt@v1
- run: vlt publish

VLT_TOKEN

For registries that don’t support OIDC, set the VLT_TOKEN environment variable with a valid auth token. See Authentication — CI for details on configuring tokens for default and custom registries.