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.

소스 정보

저장소
opencoredev/email-sdk
최근 소스 활동
2026년 10월 5일 17:53
감지된 SKILL.md 언어
영어
스타
499
포크
26

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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.
GitHub에서 보기