Skip to content
Back to skills

003 Name Skill 5b9cb481

ASecurity

Scaffold a full-stack Cloudflare app from vite-flare-starter — React 19, Hono, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui, TanStack Query, R2, Workers AI. Run setup.sh to clone, configure, and deploy.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
databasesrustgobashsqlreactgitapidatabasefrontendbackend

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 003-name-skill_5b9cb481 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 003 Name Skill 5b9cb481?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 003 Name Skill 5b9cb481
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-003-name-skill-5b9cb481/badge)](https://www.skillsdirectory.com/skills/tools-only-003-name-skill-5b9cb481)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: vite-flare-starter
description: "Scaffold a full-stack Cloudflare app from vite-flare-starter — React 19, Hono, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui, TanStack Query, R2, Workers AI. Run setup.sh to clone, configure, and deploy."
compatibility: claude-code-only
---

# Vite Flare Starter

Clone and configure Jez's batteries-included Cloudflare starter into a standalone project. Produces a fully rebranded, deployable full-stack app.

## What You Get

| Layer | Technology |
|-------|-----------|
| Frontend | React 19, Vite, Tailwind v4, shadcn/ui |
| Backend | Hono (on Cloudflare Workers) |
| Database | D1 (SQLite at edge) + Drizzle ORM |
| Auth | better-auth (Google OAuth + optional email/password) |
| Storage | R2 (S3-compatible object storage) |
| AI | Workers AI binding |
| Data Fetching | TanStack Query |
| Deployment | Cloudflare Workers with Static Assets |

See `references/tech-stack.md` for the full dependency list.

## Workflow

### Step 1: Gather Project Info

Ask for:

| Required | Optional |
|----------|----------|
| Project name (kebab-case) | Admin email |
| Description (1 sentence) | Google OAuth credentials |
| Cloudflare account (Jezweb Team or Personal) | Custom domain |

### Step 2: Run Setup Script

```bash
bash skills/vite-flare-starter/scripts/setup.sh
```

The script will:
1. Clone the repo and remove `.git`
2. Find-replace `vite-flare-starter` with project name (7 locations)
3. Generate `BETTER_AUTH_SECRET`
4. Create `.dev.vars` from template
5. Optionally create Cloudflare D1 + R2 resources
6. Run `pnpm install`
7. Run local database migration
8. Report remaining manual steps

### Step 3: Manual Configuration

After the script completes:

1. **Google OAuth** (if using):
   - Go to [Google Cloud Console](https://console.cloud.google.com/)
   - Create OAuth 2.0 Client ID
   - Add redirect URI: `http://localhost:5173/api/auth/callback/google`
   - Copy Client ID and Secret to `.dev.vars`

2. **Favicon**: Replace `public/favicon.svg` with your own

3. **CLAUDE.md**: Update project description and remove vite-flare-starter references

4. **index.html**: Update `<title>` and meta description

### Step 4: Verify Locally

```bash
pnpm dev
```

Check:
- [ ] http://localhost:5173 loads
- [ ] Shows YOUR app name, not "Vite Flare Starter"
- [ ] Sign-up/sign-in works (if Google OAuth configured)

### Step 5: Deploy to Production

```bash
# Set production secrets
openssl rand -base64 32 | npx wrangler secret put BETTER_AUTH_SECRET
echo "https://PROJECT_NAME.SUBDOMAIN.workers.dev" | npx wrangler secret put BETTER_AUTH_URL
echo "http://localhost:5173,https://PROJECT_NAME.SUBDOMAIN.workers.dev" | npx wrangler secret put TRUSTED_ORIGINS

# If using Google OAuth
echo "your-client-id" | npx wrangler secret put GOOGLE_CLIENT_ID
echo "your-client-secret" | npx wrangler secret put GOOGLE_CLIENT_SECRET

# Migrate remote database
pnpm run db:migrate:remote

# Build and deploy
pnpm run build && pnpm run deploy
```

**Critical**: After first deploy, update BETTER_AUTH_URL with your actual Worker URL. Also add the production URL to Google OAuth redirect URIs.

## Common Issues

| Symptom | Cause | Fix |
|---------|-------|-----|
| Auth silently fails (redirect to homepage) | Missing TRUSTED_ORIGINS | Set TRUSTED_ORIGINS secret with all valid URLs |
| "Not authorized" on deploy | Wrong account_id | Remove account_id from wrangler.jsonc or set yours |
| Database operations fail | Using original database_id | Create YOUR database, use YOUR database_id |
| localStorage shows "vite-flare-starter" | Missing VITE_APP_ID | Set `VITE_APP_ID=yourapp` in .dev.vars |
| Auth fails in production | BETTER_AUTH_URL mismatch | Must match actual Worker URL exactly |

## What Gets Rebranded

The setup script handles these automatically:

| File | What Changes |
|------|-------------|
| `wrangler.jsonc` | Worker name, database name, bucket names |
| `package.json` | Package name, database references in scripts |
| `.dev.vars` | App name, secret, URL |
| `index.html` | Title, meta tags |

These need manual attention:
- `CLAUDE.md` — project description
- `public/favicon.svg` — your favicon
- Google OAuth — redirect URIs
- Production secrets — via `wrangler secret put`

See `references/customization-guide.md` for the complete rebranding checklist.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.