Authenticating with pub.vyuh.tech
All Vyuh CDX packages are published to pub.vyuh.tech — a private Dart pub registry operated by Vyuh Technologies. To install or update any CDX package, your local machine (and every CI runner that builds your project) must present a Bearer token tied to your subscription.
The site at pub.vyuh.tech is also a browsable catalog: once you have a token, sign in to explore exactly which packages (and which versions) your plan entitles you to. It is the quickest way to answer "what versions can I pin to?" without digging through pubspec.yaml files.
Obtain your token from Vyuh Technologies
Tokens are issued per customer based on your chosen plan (Free, Pro, Enterprise). They are not self-service. Contact Vyuh Technologies to request a token for your team.
- Email: ask@vyuh.tech
- Website: https://vyuh.tech
- Registry: https://pub.vyuh.tech (browse packages assigned to your token)
Treat the token like a password — do not commit it to source control, paste it into chat, or share it publicly.
This page explains how to add the token to your local Dart/Flutter toolchain, how to rotate and remove it, how to wire it into CI pipelines, and how to use the pub.vyuh.tech web UI to browse your plan's packages.
Browsing packages on pub.vyuh.tech
pub.vyuh.tech is not just an API endpoint — it is also a web UI for your plan. Once Vyuh Technologies has issued your token, you can sign in on the website to:
- See the list of packages your plan grants access to (Free, Pro, Enterprise tiers differ in what they include).
- Browse version history for each package, with changelogs and upload dates — useful when deciding whether to pin to
^1.3.0or track the latest patch. - Read per-package documentation links, homepage URLs, and repository links in one place.
- Verify that your token is still valid — if your subscription has lapsed, the site will tell you directly.
Use the site alongside this page: the site tells you which versions exist; this page tells you how to install them.
How Dart stores pub tokens
Dart and Flutter share a single pub-tokens file that the CLI reads whenever it resolves a dependency hosted on a private registry:
| Platform | Path |
|---|---|
| macOS / Linux | ~/.config/dart/pub-tokens.json |
| Windows | %APPDATA%\dart\pub-tokens.json |
Each entry binds a hosted-url (scheme + host, no trailing slash) to a literal token. Flutter's bundled Dart SDK reads from the same file, so you do not need to add the token twice.
One-time local setup
1. Add the token
Run this once on your development machine. The CLI will prompt you to paste the token:
dart pub token add https://pub.vyuh.techOr, if you prefer Flutter's bundled Dart:
flutter pub token add https://pub.vyuh.techPaste the token you received from the Vyuh Technologies Admin and press Enter. The token is stored in your pub-tokens file and is automatically sent as Authorization: Bearer <token> on every request to pub.vyuh.tech.
2. Verify it is registered
List the hosted URLs that currently have a token registered:
dart pub token listYou should see:
https://pub.vyuh.tech3. Resolve dependencies
You can now run dart pub get or flutter pub get in any project whose pubspec.yaml depends on CDX packages hosted at pub.vyuh.tech.
Referencing CDX packages in pubspec.yaml
Once the token is in place, use the hosted: key to pull any CDX package from the private registry:
dependencies:
vyuh_entity_system:
hosted: https://pub.vyuh.tech
version: ^1.3.0
vyuh_entity_system_ui:
hosted: https://pub.vyuh.tech
version: ^1.3.0
vyuh_cdx_ui:
hosted: https://pub.vyuh.tech
version: ^1.2.1Each package's installation page lists the current version and shows the exact snippet to copy. See the Packages section below for a list.
Rotating and removing tokens
If your token is rotated (new plan, compromised key, team change), remove the old entry and add the new one:
# Remove the old token for this host
dart pub token remove https://pub.vyuh.tech
# Add the new one
dart pub token add https://pub.vyuh.techYou can inspect the raw entries (without revealing the token value) by opening ~/.config/dart/pub-tokens.json in any editor. Do not commit this file.
Using the token in CI
CI runners start from a clean environment on every build, so dart pub token add cannot prompt interactively. Store the token as a repository secret and pipe it to the same command over stdin — no environment-variable indirection required.
GitHub Actions
Store the token as a repository secret named PUB_TOKEN, then:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
- name: Configure pub.vyuh.tech credentials
run: echo "${{ secrets.PUB_TOKEN }}" | dart pub token add https://pub.vyuh.tech
- name: Install dependencies
run: flutter pub getFor pure Dart projects (no Flutter), swap flutter pub get for dart pub get.
Docker
When building a Dart server image, forward the token as a build arg and feed it to dart pub token add over stdin. The token only lives in the build stage — copy only the compiled binary into the final (distroless) runtime image so the token never ships with the image:
FROM dart:stable AS build
ARG PUB_TOKEN
RUN test -n "${PUB_TOKEN}" || { echo "ERROR: PUB_TOKEN build arg is required"; exit 1; }
WORKDIR /workspace
COPY . .
# Authenticate with pub.vyuh.tech and resolve dependencies
RUN echo "${PUB_TOKEN}" | dart pub token add https://pub.vyuh.tech
RUN dart pub get --no-precompile
RUN dart compile exe bin/server.dart -o /app/server
# Runtime stage — distroless, no SDK, no token
FROM gcr.io/distroless/base-debian12 AS runtime
WORKDIR /app
COPY --from=build /app/server ./server
CMD ["./server"]Build with:
docker build --build-arg PUB_TOKEN="$PUB_TOKEN" -t my-server .Other CI providers
The pattern is the same on any CI provider (GitLab CI, CircleCI, Bitbucket, Jenkins, etc.):
- Store the token as a protected secret (
PUB_TOKEN). - Before the resolution step, run:bash
echo "$PUB_TOKEN" | dart pub token add https://pub.vyuh.tech - Run
dart pub get(orflutter pub get) normally — the token is now stored in the runner's pub-tokens file for the rest of the job.
Troubleshooting
401 Unauthorized from pub.vyuh.tech Your token is missing, expired, or typed incorrectly. Run dart pub token list to confirm the host is registered, then re-add with dart pub token add https://pub.vyuh.tech.
403 Forbidden on a specific package The package exists but is not included in your plan tier. Sign in to pub.vyuh.tech to confirm exactly which packages your token has access to, and contact ask@vyuh.tech if you need to upgrade your plan (Free vs Pro vs Enterprise).
CI token not picked up Confirm the piped value in CI is non-empty — if the secret is blank the stored token will also be blank and every request will 401. A quick dart pub token list step after dart pub token add will confirm the host is registered without leaking the value.
Different Dart/Flutter toolchains disagree If you run dart pub token add with a standalone Dart SDK and then run flutter pub get, Flutter's bundled Dart reads the same file — they should agree. If they do not, verify both SDKs point at the same ~/.config/dart/pub-tokens.json (check DART_CONFIG_HOME or XDG_CONFIG_HOME overrides in your shell profile).
Linking from package docs
Every CDX package installation page links back to this document. If you arrived here from one of those pages, continue with your package-specific setup after completing the token steps above:
Further reading
- pub.vyuh.tech — browse the packages assigned to your token, view version history, and verify your plan.
- Dart pub package layout — how pub resolves dependencies.
dart pub token— official CLI reference.- Private pub repositories — background on the hosted authentication scheme.