Minimal React + Vite + Supabase Auth starter from @open-templates. Pairs with cf-hono-supabase-api-template.
- Use this template on GitHub, then clone your repo.
- Personalize from
templates/:
./scripts/init-from-template.sh- Install and run:
bun install
cp .env.example .env.local
bun run devSee templates/ABOUT_TEMPLATES.md and docs/INIT_TEMPLATE.md.
| Feature | Description |
|---|---|
| Google OAuth | Sign in / sign up via Supabase signInWithOAuth({ provider: 'google' }) |
| Email auth | Login, signup, password recovery and reset |
| API health indicator | Header polls GET /health every 30s |
| Protected home page | Calls GET /me with the Supabase JWT |
See index.md for routes, API contracts, and extension notes.
Agent docs: INSTRUCTIONS.md · .agents/skills/
- React 19, TypeScript, Vite 7
- Supabase Auth (
@supabase/supabase-js) - Tailwind CSS, shadcn-style UI primitives
- Bun (package manager)
bun install
cp .env.example .env.local
# set VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY, VITE_API_BASE_URL
bun run devStart the API worker first (cf-hono-supabase-api-template on port 8787) so health and /me work locally.
Supabase + Google OAuth setup: docs/SUPABASE_SETUP.md
| Variable | Required | Purpose |
|---|---|---|
VITE_SUPABASE_URL |
Yes | Supabase project URL |
VITE_SUPABASE_PUBLISHABLE_KEY |
Yes | Supabase anon/publishable key |
VITE_API_BASE_URL |
No | Worker URL (default http://localhost:8787) |
bun run dev— development serverbun run build/bun run ci— production buildbun run lint/bun run typecheck— quality checks
Target: Cloudflare Pages. Build command bun run build, output directory dist. Set the same VITE_* variables in the Pages project settings.
Maintained by xarlizard.
MIT