Skip to main content

test-email-sdk-docs

Launch, preview, or verify the Email SDK docs and marketing site in apps/fumadocs (TanStack Start + Fumadocs). Use for docs content, layout, blog, OG image, or docs build changes, and whenever a preview link is needed.

Informations de source

Dépôt
opencoredev/email-sdk
Dernière activité de la source
5 octobre 2026 à 17:53
Langue détectée de SKILL.md
anglais
Étoiles
513
Forks
28

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
test-email-sdk-docs
description
Launch, preview, or verify the Email SDK docs and marketing site in apps/fumadocs (TanStack Start + Fumadocs). Use for docs content, layout, blog, OG image, or docs build changes, and whenever a preview link is needed.
# Test the Email SDK docs site The site lives in `apps/fumadocs` and deploys to Vercel. Most pages are prerendered. `/blog`, `/blog/$slug`, and `/og/blog/*` render on request from Notra (`src/lib/notra-runtime.ts`). ## Static checks From `apps/fumadocs`: ```bash bun run types:check # fumadocs-mdx + tsc bun run build # registry check, module-identity check, Vite build, client-bundle check ``` Run both for any docs-site change. A green build does not prove pages hydrate. The module-identity check exists because a duplicated `fumadocs-core` once built cleanly and then crashed every page in production. From the repo root, `bun run docs:check` also verifies adapter support tables and CLI docs consistency. Without `NOTRA_API_KEY` (read from `apps/fumadocs/.env.local`), the Notra fetch is skipped. Blog routes then show only the local posts from `localBlogPosts`, which is expected. ## Launch 1. Check for a reusable server first: `ss -ltnp | grep -E ':4000|vite'`. Reuse one only if its working directory is this checkout (`readlink /proc/<pid>/cwd`). Never stop a server another worktree owns. 2. For local-only checks: `bun run dev` (port 4000). If 4000 is taken, pass `--port <free port>`. 3. For a link Leo can open on another device, bind to the Tailscale IPv4 address instead of `0.0.0.0`: ```bash HOST=$(tailscale ip -4); bun run dev --host "$HOST" --port <free port> ``` Then confirm `curl -sI http://$HOST:<port>/docs` returns 200 from the server before sharing the link. Say which devices were actually tested. Start it as a tracked background process, wait for Vite's `Local:` or `Network:` line, and stop only the process you started. If `dev` dies with `EMFILE: too many open files, watch`, the host has run out of inotify instances, which other worktrees share. Don't change sysctl settings. Instead, serve the production build, which needs no watchers: `bun run build`, then `bunx vite preview --host "$HOST" --port <free port>`. You get no hot reload, so rebuild after each edit. This preview serves `.md` routes as `application/octet-stream`; production sets the markdown type through Vercel. ## Drive and verify Use `agent-browser` with a named headless session, for example `agent-browser --session email-sdk-docs ...`. Driving a browser needs that permission in the current task. Without it, finish the static checks and report the browser proof as NOT CHECKED. For each change: - Load the changed route and one neighboring route. Confirm the page hydrated (sidebar and search respond) and the console has no `FrameworkProvider` or hydration errors. - Check desktop (1280px) and mobile (390px) widths for any layout change. - For content changes, confirm the raw markdown endpoint (`/docs/<path>.md`) serves the same content. Agents consume that endpoint. - Capture screenshots as evidence. ## Cleanup Kill only the dev server PID you started and close your browser session. Leave `.output/` and other build artifacts alone unless you created them for this task.
Voir sur GitHub