Skip to content

fix(web): Vercel SPA routing + docs/SEO sweep for all v1.0.0 features#15

Merged
faraa2m merged 1 commit into
mainfrom
feat/v1-rollout-wave-4
May 10, 2026
Merged

fix(web): Vercel SPA routing + docs/SEO sweep for all v1.0.0 features#15
faraa2m merged 1 commit into
mainfrom
feat/v1-rollout-wave-4

Conversation

@faraa2m
Copy link
Copy Markdown
Owner

@faraa2m faraa2m commented May 10, 2026

Summary

Two fixes bundled before the Phase I release-pipeline PR. Phase I (vsce publish, ovsx publish, smoke test job, Marketplace verify) lands separately.

What's in here

1. Vercel SPA routing fix (vercel.json)

Wave 3 added 11 new playground routes (/diff, /by-file, /sarif, /vision, /config-builder, /init, /models, /models/<id>, /editor, /claude-code). All returned 404 in production — Vercel's Vite preset serves the static dist/ literally and didn't know to fall through to index.html for client-side routes.

Added a rewrites rule with a negative lookahead so direct asset / robots.txt / sitemap.xml requests still resolve normally:

"rewrites": [
  { "source": "/:path((?!assets/|robots.txt|sitemap.xml).*)", "destination": "/index.html" }
]

Verified locally (the playground builds; the rewrite is server-side, kicks in once Vercel redeploys this PR).

2. Docs + SEO sweep (22 files)

Waves 2 + 3 added substantial surface area that the existing docs didn't reflect. Refreshed everything so v1.0.0 launch ships with consistent messaging.

  • Root README: hero refresh, comparison table now shows columns for Latency / VS Code / Claude Code / Mistral / Cohere / Vision / SARIF / Per-file. "Three-line use" expanded to five (added VS Code panel + Claude Code panel). Methodology table gains Mistral (split exact-for-SP / approximate-for-Tekken) and Cohere rows. Status bumped to "approaching v1.0.0".
  • packages/cli/README: flag table at top, sections per output format, --by-file, --image, --latency (TTFT, p50/p95), auto provider detection, .tokenometer.yml.
  • packages/core/README: full export list (parseConfig, loadConfig, toSarif, vision-tokens × 3, measureLatency); Providers section showing offline + empirical exactness for all 5.
  • packages/action/README: top-n-files input documented, sticky-comment example shows per-file Δ table.
  • packages/vscode/README: settings, commands, file gates, placeholder Marketplace install.
  • packages/claude-code-skill/README: install one-liner verified.
  • All package.json: refreshed description, extended keywords (mistral, cohere, latency, ttft, vision-tokens, vscode, cursor, claude-code, sarif, prompt-cost-regression, model-comparison, etc.).
  • .github/repo-metadata.md: 7 new GH topics (mistral, cohere, vscode-extension, claude-code, latency, vision-tokens, sarif).
  • .github/release-notes-v1.0.0.md: removed [planned] markers, added "v1.0.0 launch surface" section.
  • .github/awesome-list-prs/*.md (5 files): one-liner updated to cite full surface (CLI + Action + VS Code + Claude Code skill, 63 models, 5 providers).
  • .changeset/wave-4-docs-seo-sweep.md added.

Why now

  • Playground 404s break the README's "live demo" link for every feature shipped in Wave 3. Critical fix.
  • Docs lag breeds inconsistency — comparison table claimed VS Code / Claude Code as "(planned)" while the code shipped them. Aligning before any external promotion.

Test plan

  • npm run lint — clean (89 files, vercel.json reformatted by Biome compact-array rule)
  • npm run typecheck — clean
  • npm test227/227 across 20 files
  • npm run build — clean (root + per-package)
  • npm run build -w @tokenometer/web — clean
  • npm run benchmarks — drift-free (10 prompts × 63 models × 5 formats)
  • Post-merge: confirm Vercel preview redeploys with rewrites and /models, /vision, /sarif, /diff, /init all return 200
  • Post-merge: confirm gh repo edit topics from .github/repo-metadata.md are applied (7 new topics)

Out of scope

  • Phase I unified release pipelinevsce publish, ovsx publish, smoke-test CI job, Marketplace verify, Vercel deploy hook. Lands as the final v1.0.0 PR after this one merges.
  • Content posts (Phase G) — pre-staged in ~/Downloads/tokenometer-content-todo.md, manual posting after Phase I.

🤖 Generated with Claude Code

Two unrelated fixes bundled:

1. Vercel SPA routing — playground routes added in Wave 3 (/diff, /by-file,
   /sarif, /vision, /config-builder, /init, /models, /models/<id>, /editor,
   /claude-code) returned 404 in production. Vercel's Vite framework preset
   serves the static dist/ output literally; React Router's client-side
   paths weren't being rewritten to index.html. Added a `rewrites` rule in
   vercel.json that falls through to index.html for everything except
   assets/, robots.txt, and sitemap.xml.

2. Docs + SEO sweep — Waves 2 + 3 added significant feature surface that
   the existing READMEs and package.json metadata didn't reflect. Updated
   to land cleanly with the v1.0.0 launch:

   - Root README: refreshed hero, comparison table now shows Latency / VS
     Code / Claude Code / Mistral / Cohere / Vision / SARIF columns; added
     "five-line use" with VS Code + Claude Code panels; methodology table
     gains Mistral (split exact-for-SP / approximate-for-Tekken) and Cohere
     rows; status bumped to "approaching v1.0.0".
   - packages/cli/README: flag table at top; sections per output format,
     vision tokens, per-file attribution, latency mode (TTFT, p50/p95),
     auto provider detection, .tokenometer.yml config.
   - packages/core/README: full export list (parseConfig, loadConfig,
     toSarif, the three vision-tokens, measureLatency + types) plus
     Providers section listing all 5 with offline + empirical exactness.
   - packages/action/README: `top-n-files` input documented; example
     sticky-comment shape now shows the per-file Δ table + collapsible
     all-files block.
   - packages/vscode/README: settings, commands, supported file types,
     placeholder Marketplace install (coming in Phase I).
   - packages/claude-code-skill/README: install one-liner verified.
   - All package.json: refreshed `description`; extended `keywords`
     across CLI / core / action / vscode / claude-code-skill with mistral,
     cohere, latency, ttft, vision-tokens, vscode, cursor, claude-code,
     sarif, prompt-cost-regression, model-comparison, etc.
   - .github/repo-metadata.md: 7 new GH topics (mistral, cohere,
     vscode-extension, claude-code, latency, vision-tokens, sarif).
   - .github/release-notes-v1.0.0.md: removed [planned] markers for
     features now shipped; added "v1.0.0 launch surface" section.
   - .github/awesome-list-prs/*.md (5 files): updated one-liner to cite
     the full surface (CLI + Action + VS Code + Claude Code skill, 63
     models, 5 providers).
   - .changeset/wave-4-docs-seo-sweep.md added.

Phase I unified release pipeline (vsce publish, ovsx publish, smoke test
job, Marketplace verify) is intentionally NOT in this PR — it lands
separately so this docs/playground fix can ship immediately and the
Phase I work can take its time.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tokenometer Ready Ready Preview, Comment May 10, 2026 4:29am

@faraa2m faraa2m merged commit 3681ae3 into main May 10, 2026
7 checks passed
@faraa2m faraa2m deleted the feat/v1-rollout-wave-4 branch May 10, 2026 04:31
faraa2m added a commit that referenced this pull request May 11, 2026
…#15)

Two unrelated fixes bundled:

1. Vercel SPA routing — playground routes added in Wave 3 (/diff, /by-file,
   /sarif, /vision, /config-builder, /init, /models, /models/<id>, /editor,
   /claude-code) returned 404 in production. Vercel's Vite framework preset
   serves the static dist/ output literally; React Router's client-side
   paths weren't being rewritten to index.html. Added a `rewrites` rule in
   vercel.json that falls through to index.html for everything except
   assets/, robots.txt, and sitemap.xml.

2. Docs + SEO sweep — Waves 2 + 3 added significant feature surface that
   the existing READMEs and package.json metadata didn't reflect. Updated
   to land cleanly with the v1.0.0 launch:

   - Root README: refreshed hero, comparison table now shows Latency / VS
     Code / Claude Code / Mistral / Cohere / Vision / SARIF columns; added
     "five-line use" with VS Code + Claude Code panels; methodology table
     gains Mistral (split exact-for-SP / approximate-for-Tekken) and Cohere
     rows; status bumped to "approaching v1.0.0".
   - packages/cli/README: flag table at top; sections per output format,
     vision tokens, per-file attribution, latency mode (TTFT, p50/p95),
     auto provider detection, .tokenometer.yml config.
   - packages/core/README: full export list (parseConfig, loadConfig,
     toSarif, the three vision-tokens, measureLatency + types) plus
     Providers section listing all 5 with offline + empirical exactness.
   - packages/action/README: `top-n-files` input documented; example
     sticky-comment shape now shows the per-file Δ table + collapsible
     all-files block.
   - packages/vscode/README: settings, commands, supported file types,
     placeholder Marketplace install (coming in Phase I).
   - packages/claude-code-skill/README: install one-liner verified.
   - All package.json: refreshed `description`; extended `keywords`
     across CLI / core / action / vscode / claude-code-skill with mistral,
     cohere, latency, ttft, vision-tokens, vscode, cursor, claude-code,
     sarif, prompt-cost-regression, model-comparison, etc.
   - .github/repo-metadata.md: 7 new GH topics (mistral, cohere,
     vscode-extension, claude-code, latency, vision-tokens, sarif).
   - .github/release-notes-v1.0.0.md: removed [planned] markers for
     features now shipped; added "v1.0.0 launch surface" section.
   - .github/awesome-list-prs/*.md (5 files): updated one-liner to cite
     the full surface (CLI + Action + VS Code + Claude Code skill, 63
     models, 5 providers).
   - .changeset/wave-4-docs-seo-sweep.md added.

Phase I unified release pipeline (vsce publish, ovsx publish, smoke test
job, Marketplace verify) is intentionally NOT in this PR — it lands
separately so this docs/playground fix can ship immediately and the
Phase I work can take its time.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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