Skip to content

docs: VitePress docs site + Azure SWA deploy workflow#1676

Merged
mohnjiles merged 6 commits into
mainfrom
docs-site-scaffold
Jul 14, 2026
Merged

docs: VitePress docs site + Azure SWA deploy workflow#1676
mohnjiles merged 6 commits into
mainfrom
docs-site-scaffold

Conversation

@mohnjiles

@mohnjiles mohnjiles commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

What

VitePress static site scaffold for docs.lykos.ai, built from the docs/ tree (landed via #1685) with no content restructuring:

  • All URLs served under /stability-matrix/ from day one — per team discussion, so the planned move to a multi-product docs repo (SM + Chat + Bench) never breaks hotlinks or SEO. The bare site root 302s to /stability-matrix/ (replaced by a product landing page at migration). README.md serves as the section index via rewrites.
  • Built-in local search (Ctrl+K), "Edit this page on GitHub" links, sitemap.xml, and last-updated footers on every page. Dead-link checking stays ON so a future PR that breaks a relative link fails the build.
  • A markdown hook normalizes content links targeting README (e.g. ./../README) to directory-index form. VitePress emits relative hrefs verbatim, so those links pointed at a README.html that doesn't exist in the built output — a latent 404 that the dev server masked and the dead-link checker (which resolves in source space) never flagged. The content itself is correct on GitHub and in the in-app viewer (feat: in-app documentation viewer #1677); the mismatch is purely this site's README→index rewrite, so the fix lives in the site shell rather than the content.
  • docs/public/staticwebapp.config.json — root redirect + Azure SWA serves the VitePress 404 page instead of its default.
  • Site tooling (package.json, lockfile, .gitignore) contained inside docs/ so the repo root stays .NET-only.
  • .github/workflows/docs-site.yml — on docs/** pushes to main: npm ci + vitepress build + deploy to Azure Static Web Apps (AZURE_STATIC_WEB_APPS_API_TOKEN_DOCS secret). PRs touching docs/** get a build-check job only (no deploy). The deploy job checks out full history so last-updated dates are accurate.

Verified locally with the exact CI sequence (npm ci + vitepress build .): clean build, zero dead links, and browser-tested — search, edit links, section index at /stability-matrix/, and the README breadcrumbs all confirmed working against the built output.

Local preview: cd docs && npm install && npm run docs:dev (then open /stability-matrix/; the root redirect only exists on Azure)

Remaining runbook

  1. Merge Feat: Initial Documentation #1685 (docs content) ✅ merged; main merged back into this branch, PR diff is now scaffold-only (6 files).
  2. Apply infra — lykos-infra#23 (envs/docs-prod): terraform apply creates the Azure SWA (Free tier), the docs.lykos.ai Cloudflare CNAME (unproxied), and auto-wires the SWA deploy token into this repo's AZURE_STATIC_WEB_APPS_API_TOKEN_DOCS secret via ci.tf.
  3. Confirm the PR build check is green, undraft, and merge this PR.
  4. First deploy fires on the merge — watch the "Docs Site" workflow run, then check the SWA default hostname and https://docs.lykos.ai (custom-domain validation can lag DNS by a few minutes).
  5. Smoke test: / 302s to /stability-matrix/, home page renders, Ctrl+K search finds "rocm", a deep page (e.g. /stability-matrix/advanced/hardware-support), a section-overview "back to home" breadcrumb, a garbage URL shows the VitePress 404, /sitemap.xml resolves.
  6. Undraft feat: in-app documentation viewer #1677 (in-app docs viewer) — docs/ is on main now, so its "docs not available yet" state is already gone; it just needs the GUI smoke test.

Architecture note (2026-07-05, updated 2026-07-13)

Per team discussion: this site shell (.vitepress/ config + deploy workflow) is expected to migrate to a separate public multi-product docs repo (SM + Chat + Bench sections, path-prefixed: /stability-matrix/, /chat/, /crabbench/) once a second product has docs to publish — tracked on the roadmap board. With URLs prefixed from day one, that migration is a pure code move: no redirects, no SEO impact, no broken hotlinks. SM markdown content stays in this repo either way (community contributions + docs-with-code PRs); the docs repo will pull it at build time. At migration, the AZURE_STATIC_WEB_APPS_API_TOKEN_DOCS secret moves to the docs repo (one-variable change in lykos-infra envs/docs-prod), leaving no Azure secrets in this repo. Docs-only CI skip for the required build check is being handled separately.

🤖 Generated with Claude Code

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request establishes a comprehensive documentation suite for Stability Matrix using Vitepress, adding detailed guides on installation, package management, inference, advanced configuration, and terminology. The review feedback focuses on polishing the documentation by addressing minor typographical errors, grammatical slips, and formatting inconsistencies across several markdown files.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread docs/package-manager/installing-packages.md Outdated
Comment thread docs/package-manager/installing-packages.md Outdated
Comment thread docs/package-manager/installing-packages.md Outdated
Comment thread docs/package-manager/installing-packages.md Outdated
Comment thread docs/package-manager/supported-packages.md Outdated
Comment thread docs/tips/terminology.md Outdated
Comment thread docs/getting-started/overview.md Outdated
@mohnjiles mohnjiles force-pushed the docs-site-scaffold branch from 2c54e1a to 63de3f1 Compare July 5, 2026 19:32
Static docs site built from the existing docs/ tree, no restructuring:

- docs/.vitepress/config.mts: README.md rewritten to site index, sidebar
  for existing pages only, dead-link checking kept on so broken relative
  links fail the build
- Site tooling contained in docs/ (package.json, lockfile, gitignore) so
  the repo root stays .NET-only
- .github/workflows/docs-site.yml: build + deploy to Azure Static Web
  Apps (AZURE_STATIC_WEB_APPS_API_TOKEN_DOCS secret) on docs/** pushes
  to main; build-check only on PRs

Verified locally: npm ci + vitepress build passes with zero dead links.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mohnjiles mohnjiles force-pushed the docs-site-scaffold branch from 63de3f1 to be68753 Compare July 5, 2026 19:51
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mohnjiles and others added 2 commits July 13, 2026 19:30
- VitePress built-in local search (Ctrl+K)
- "Edit this page on GitHub" links for community contributions
- sitemap.xml generated for docs.lykos.ai
- lastUpdated page footers (deploy job now checks out full history)
- staticwebapp.config.json rewrites Azure SWA 404s to the VitePress 404 page

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mohnjiles mohnjiles marked this pull request as ready for review July 14, 2026 02:54
ionite34
ionite34 previously approved these changes Jul 14, 2026
Per team discussion: prefix all URLs from day one so the planned move to
a multi-product docs repo (SM + Chat + Bench) never breaks hotlinks or
SEO — the future migration becomes a pure code move.

- rewrites map every page under stability-matrix/, README.md as the
  section index
- bare site root 302s to /stability-matrix/ via staticwebapp.config.json
  (replaced by a product landing page at migration)
- markdown hook normalizes content links targeting README to
  directory-index form; VitePress emits relative hrefs verbatim, so
  ./../README rendered as a README.html that does not exist in the built
  output (latent 404 even at root config — dev middleware masked it, and
  the dead-link checker resolves in source space so it never flagged it)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ionite34
ionite34 previously approved these changes Jul 14, 2026
The default title link targets the bare site root, which only resolves
through the Azure SWA redirect — link straight to /stability-matrix/ so
it works in local preview too and skips the redirect hop in prod.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mohnjiles mohnjiles merged commit 1150f87 into main Jul 14, 2026
5 checks passed
@mohnjiles mohnjiles deleted the docs-site-scaffold branch July 14, 2026 04:04
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants