Skip to content

docs(site): scaffold VitePress at docs/ with placeholder content#20

Merged
joelshejar merged 1 commit into
mainfrom
docs/vitepress-site-scaffold
May 10, 2026
Merged

docs(site): scaffold VitePress at docs/ with placeholder content#20
joelshejar merged 1 commit into
mainfrom
docs/vitepress-site-scaffold

Conversation

@joelshejar
Copy link
Copy Markdown
Member

Summary

First execution PR for the docs site work agreed during the grilling pass. Stands up VitePress at `docs/` with the structure from ADR-0004. Real content migration is the next PR — this one is about getting every route to render so we can deploy to Vercel.

What's in the site

  • Landing (`/`) — VitePress home layout, hero + feature grid.
  • Guide (`/guide/*`) — what-is, getting-started, architecture, gotchas, react. Stubs that link out to the canonical README sections.
  • Reference (`/reference/*`) — tabmesh-class, config, system-events, types. Stubs that link to the relevant `types.ts` for now.
  • Recipes (`/recipes/*`) — index + 3 stubs (auth-and-logout, custom-transport, service-worker-handoff). Each carries the minimum viable explanation so it's useful as a landing page.
  • ADR (`/adr/*`) — picks up the four existing ADRs verbatim. Public-facing.
  • Roadmap (`/roadmap`) — placeholder with the agreed tier-list shape.
  • Playground (`/playground`) — iframe-wrapper page; iframe target gets wired up in the Vercel-deploy PR.

Why this shape

  • `docs/` is VitePress's default content root, and ADRs already live at `docs/adr/`. Single content root, no duplication, no symlinks.
  • Sidebar nav is per-section so `/guide/` shows the guide sidebar, `/reference/` shows the reference sidebar, etc.
  • Local search via VitePress's built-in indexer (no Algolia dependency for a small site).
  • Edit links wired to GitHub.

Test plan

  • `pnpm docs:build` produces a clean site
  • Every sidebar link renders without 404
  • `pnpm exec vitest --run` — 122/122 still pass
  • Biome clean (added `docs/.vitepress/{cache,dist}` to ignores)

Next

First execution PR for the docs-site work. Sets up VitePress at
`docs/` with the structure agreed during the grilling pass:

- `docs/.vitepress/config.ts` — theme config, sidebar nav across
  guide/reference/recipes/adr, top nav, search, edit links, footer.
- Landing page `docs/index.md` — VitePress home layout, hero +
  feature grid pulled from the README's framing.
- Guide stubs: what-is-tabmesh, getting-started, architecture,
  gotchas, react. Each page carries a "migrating from README"
  notice with a link to the canonical content. Real migration is
  the next PR.
- Reference stubs: tabmesh-class, config, system-events, types.
  Same migrating notice; canonical source is the relevant types.ts.
- Recipes index + 3 placeholder recipes (auth-and-logout,
  custom-transport, service-worker-handoff). Marked "coming soon"
  but contain the minimum viable explanation so they're useful as
  landing pages from the sidebar.
- ADR index that links to the existing ADRs (0001 through 0004).
  ADRs are now public, accessible at /adr/* on the site.
- Roadmap stub with the agreed tier-list shape (Next/Considering/
  Out of scope) and a pointer to GitHub Releases for shipped work.
- Playground page that iframes /playground/index.html — the
  iframe target gets wired up to the actual playground build in
  a later PR (Vercel deploy config step).

Wires `docs:dev`, `docs:build`, `docs:preview` into the root
package.json. Ignores `.vitepress/cache` and `.vitepress/dist`
in git and biome.

Verified: `pnpm docs:build` produces a clean site, every route
renders, no broken sidebar links. 122 unit tests still pass.
@joelshejar joelshejar merged commit 1a16b01 into main May 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant