The landing page for usewraith.xyz. A minimal, dark, developer-focused single-page site that explains what Wraith Protocol is and links to docs, demo, and console.
- Vite + React + TypeScript
- Tailwind CSS v4
- Deployed to Vercel
pnpm install
pnpm devpnpm buildThe build pipeline performs the following steps:
- Compiles TypeScript and builds the client production assets via Vite.
- Runs the Open Graph image generator (
scripts/og.ts) to pre-render cards for all routes and patches the output HTML files with page-specific titles, descriptions, and JSON-LD breadcrumb schemas. - Runs the sitemap generator (
scripts/gen-sitemap.mjs) to generate a freshsitemap.xmlcovering all static and dynamic routes.
vite preview only serves the static build, so the API routes (/api/subscribe in
api/subscribe.ts and /api/og in src/api/og.tsx) are unavailable locally and on
CI runners. pnpm preview:functions serves the same dist/ output with those routes
mounted on port 4174:
pnpm build
pnpm preview:functionspnpm test:smokeSmoke tests run against scripts/preview-server.ts over HTTP: the subscribe proxy
(including invalid input, provider conflicts, outages and the unconfigured case) and
the OG image endpoint (rendering, query escaping, cache headers and the failure
response). Buttondown is stubbed, so no mail is sent and no test touches the network.
The suite runs on every pull request in CI.
robots.txt: Located inpublic/robots.txtand copied to the build root. It allows search engine crawling while excluding staging, preview, admin, and 404 routes, and points crawlers to the sitemap location.sitemap.xml: Dynamically compiled during build time intodist/sitemap.xmlandpublic/sitemap.xml.- JSON-LD: Embedded in the site's
<head>:- Global
Organizationschema representing Wraith Protocol. - Global
SoftwareApplicationschema representing the Wraith SDK. - Page-specific
BreadcrumbListschema dynamically injected for each static route slug (e.g./stellar,/faq, etc.) at build time.
- Global
pnpm format # write
pnpm format:check # check only