Introduction
JED is a reusable base for branded client sites: auth, admin, content, and a versioned API with MCP. It runs on TanStack Start (React 19 and Vite), stores data and handles sign-in with Supabase, and deploys to Vercel. Each client gets their own copy of the starter, their own Supabase project, and their own Vercel project.
These pages explain how the starter works and how to run it for a real site.
Start here
- Getting started: clone the starter, apply the database schema, create the first admin, and run the dev server.
- Environment variables: every variable the app reads, where to find each value, and which ones Vercel needs.
- Deploying to Vercel: import the project, set the environment, and point Supabase at your domain.
Running the site
- Authentication and MFA: sign-in, password reset, Google sign-in, and the authenticator policy.
- Roles and permissions: the member and admin roles and what each permission allows.
- Admin panel: a tour of every admin screen.
- Blog: writing, previewing, and publishing posts, plus the RSS feed.
- Search: how public search finds pages and posts.
- Contact form: how messages reach you.
- SQL templates: the migration catalog inside the admin panel.
API and MCP
- REST API: read and write endpoints under
/api/v1, idempotency keys, user management, and the OpenAPI spec. - MCP server: connect an MCP client to
/api/mcp, and howconfirmandidempotencyKeywork. - Tokens and safety: personal access tokens, scopes, API usage, rate limits, and the audit log.