refs(registry): point canonical domain to ui.vllnt.com#485
Merged
Conversation
Sweep every ui.vllnt.ai reference to ui.vllnt.com across the registry app: SITE_URL fallbacks, sitemap/robots/llms/rss/atom/mcp routes, JSON-LD, oEmbed, shadcn install commands, MDX docs, registry.json and the shadcn directory entry. Also storybook.vllnt.ai to storybook.vllnt.com in footer and landing. Completes the ui domain migration whose host 301 landed in #480. The legacy-host-redirect LEGACY_HOST stays ui.vllnt.ai (the host to redirect from). Deploy note: NEXT_PUBLIC_SITE_URL must be unset or set to https://ui.vllnt.com, else the env value overrides the new fallback and emitted URLs stay .ai. Closes #484 Claude-Session: https://claude.ai/code/session_01FBHjr7nmFexc8nkN4WJJXH
|
ntk preview
Built from |
This was referenced Jul 10, 2026
bntvllnt
added a commit
that referenced
this pull request
Jul 10, 2026
## What PR #485 swept `ui.vllnt.ai → ui.vllnt.com` only in `apps/registry`. This covers everywhere else — **268 files, pure domain swap (325/325 lines)**. ## Changes - **232 generated component `.mdx`** install commands (`packages/ui/src/components/*/*.mdx`) **and** `packages/ui/scripts/generate-docs.ts:773` (the template that emits them) — swept together so they stay consistent; no docs-drift check exists, and a full regen would only add noise. - **Markdown**: README, AGENTS, ROADMAP, CONTRIBUTING, SECURITY, DESIGN, `docs/*.md`, `apps/registry/README.md` + `SEO-AI-POSITIONING.md`, template READMEs, `skills/vllnt-ui/SKILL.md`. - **Config/other**: root `llms.txt` / `llms-full.txt`, `package.json` + `packages/ui/package.json` homepages, `templates/*/template.json`, Dockerfile + `nginx.conf` comments, `.github/ISSUE_TEMPLATE/config.yml`, two `copy-button` story/visual files. ## Deliberately left `.ai` - `apps/registry/lib/legacy-host-redirect.ts` `LEGACY_HOST = "ui.vllnt.ai"` — the host the #480 middleware redirects **from**. - Every `storybook.vllnt.ai` (14 files) — its own domain, redirected by #483. - `*.vllnt.ai` wildcard-cert notes in `ntk.yaml`. ## Excluded — needs an infra decision (not in this PR) `ntk.yaml:30` `production: ui.vllnt.ai` is the **live deploy domain**. Flipping it to `ui.vllnt.com` is a deployment/routing change coupled to the 301 (the app must still receive `.ai` traffic to redirect it). Left for a deliberate infra call. ## Validation - Diff is 100% `ui.vllnt.ai → ui.vllnt.com` (zero non-domain lines). - All touched JSON re-parses; generator updated to emit `.com`. Closes #488 Co-authored-by: bntvllnt <bntvllnt@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Completes the
ui.vllnt.ai → ui.vllnt.comdomain migration. The host-level 301 landed in #480; this updates every URL the registry app emits so canonical, sitemap, structured data and install commands all point at the new canonical domain.Changes (45 files, pure domain swap — 78/78 lines)
SITE_URLfallbacks across routes/pages/libssitemap.ts,robots.ts,llms.txt,llms-full.txt,rss.xml,atom.xml,mcproutelib/jsonld.ts), oEmbed, OG (lib/og.ts), share/templates/changelogregistry.jsonhomepage+shadcn-directory-entry.jsonstorybook.vllnt.ai → storybook.vllnt.comin footer + landing (its nginx 301 is handled in a separate storybook PR)Deliberately unchanged
lib/legacy-host-redirect.tsLEGACY_HOST = "ui.vllnt.ai"— that is the host to redirect from (the feat(registry): 301 ui.vllnt.ai to canonical ui.vllnt.com #480 mechanism); changing it would loop.Deploy requirement (blocking)
NEXT_PUBLIC_SITE_URLmust be unset orhttps://ui.vllnt.com. The live.comsite currently resolves it to.ai, which would override this code fallback and keep emitting.aiURLs.Follow-up (post-deploy, not in this PR)
https://ui.vllnt.com/sitemap.xmlto thesc-domain:vllnt.comGSC propertyui.vllnt.ai → ui.vllnt.com(UI-only) after verifying the 301ui.vllnt.aiGSC property (history + Change-of-Address source)Validation
ui.vllnt.aileft outside the intentional 301 filetheme-serialize,legacy-host-redirect) on the identical changeCloses #484