๐ A modern CLI tool for scaffolding full-stack TypeScript applications on Cloudflare Workers with Hono, React, and Vite.
- ๐๏ธ Multiple Templates: Choose from 9 different configurations
- โก Lightning Fast: Powered by Bun for ultra-fast installation
- ๐ง Zero Config: Works out of the box with sensible defaults
- ๐ฆ TypeScript First: Full type safety from database to frontend
- ๐ Edge Native: Built for Cloudflare Workers
- ๐ฏ Interactive & Non-Interactive: Use prompts or flags
# Using npm
npm create vinoflare@latest my-app
# Using bun
bun create vinoflare my-app
# Using pnpm
pnpm create vinoflare my-app
# Using yarn
yarn create vinoflare my-appChoose from 9 pre-configured templates:
| Template | Frontend | Database | Auth | API Client | Description |
|---|---|---|---|---|---|
full-stack |
โ React + TanStack Router | โ Cloudflare D1 | โ Better Auth | Orval | Complete full-stack app with OpenAPI client |
full-stack --no-auth |
โ React + TanStack Router | โ Cloudflare D1 | โ | Orval | Full-stack app without auth |
full-stack --no-db |
โ React + TanStack Router | โ | โ | Orval | Frontend with API, no database |
| Template | Frontend | Database | Auth | API Client | Description |
|---|---|---|---|---|---|
full-stack --rpc |
โ React + TanStack Router | โ Cloudflare D1 | โ Better Auth | Hono RPC | Complete full-stack app with type-safe RPC |
full-stack --rpc --no-auth |
โ React + TanStack Router | โ Cloudflare D1 | โ | Hono RPC | Full-stack app with RPC, no auth |
full-stack --rpc --no-db |
โ React + TanStack Router | โ | โ | Hono RPC | Frontend with RPC API, no database |
| Template | Frontend | Database | Auth | Description |
|---|---|---|---|---|
api-only |
โ | โ Cloudflare D1 | โ Better Auth | REST API with auth and database |
api-only --no-auth |
โ | โ Cloudflare D1 | โ | REST API with database, no auth |
api-only --no-db |
โ | โ | โ | Stateless REST API |
Simply run the command without flags for an interactive experience:
npm create vinoflare@latestYou'll be prompted to:
- Enter your project name
- Choose between full-stack or API-only
- Select database preference
- Select auth preference (if database enabled)
- Choose API client type (Orval or Hono RPC, for full-stack only)
- Decide on git initialization
- Choose package manager
Perfect for automation and CI/CD:
# Full-stack with all features
npm create vinoflare@latest my-app --yes
# API-only without auth
npm create vinoflare@latest my-api --type=api-only --no-auth --yes
# Full-stack without database
npm create vinoflare@latest my-frontend --type=full-stack --no-db --yes
# With specific package manager
npm create vinoflare@latest my-app --pm=bun --yes
# Full-stack with Hono RPC
npm create vinoflare@latest my-rpc-app --type=full-stack --rpc --yes--type=<type>- Project type:full-stack(default) orapi-only--rpc- Use Hono RPC client instead of Orval (full-stack only)--no-auth- Exclude authentication--no-db- Exclude database--no-git- Skip git initialization--no-install- Skip dependency installation--pm=<pm>- Package manager:npm,yarn,pnpm, orbun-y, --yes- Accept all defaults (non-interactive mode)
- Frontend: React 19 + Vite + TanStack Router
- Styling: Tailwind CSS v4
- API Client: Choose between:
- Orval: OpenAPI-based client with auto-generated hooks
- Hono RPC: Type-safe RPC client with end-to-end type inference
- Type Safety: End-to-end from DB to UI
- Framework: Hono on Cloudflare Workers
- Database: Cloudflare D1 with Drizzle ORM
- Auth: Better Auth with Discord OAuth
- API Docs: Auto-generated OpenAPI with Scalar UI
- Hot Reload: Lightning-fast development
- Type Generation: Automatic types for routes, API, and DB
- Testing: Vitest with Cloudflare Workers support
- Linting: Biome for fast, opinionated formatting
- Module Generator: Scaffold CRUD modules instantly
After creating your project, you'll see tailored next steps:
cd my-app
npm run db:generate # Generate migrations
npm run db:push:local # Apply to local DB
npm run gen:types # Generate TypeScript types- Copy
.dev.vars.exampleto.dev.vars - Add your Discord OAuth credentials
- Set
BETTER_AUTH_SECRET
npm run gen:routes # Generate route types
# For Orval templates:
npm run gen:api # Generate OpenAPI client
# For RPC templates:
npm run gen:client # Generate RPC client# Start dev server
npm run dev
# Generate a new module
npm run gen:module posts
# Build for production
npm run build
# Run tests
npm run test
# Deploy to Cloudflare
npm run deployThe CLI includes comprehensive test suites:
# Run tests sequentially
npm run test
# Run tests in parallel (faster)
npm run test:parallelContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT ยฉ yansir
Built with and for the amazing Cloudflare Workers ecosystem:
- Hono - Ultrafast web framework
- Drizzle - TypeScript ORM
- Better Auth - Modern auth library
- TanStack Router - Type-safe routing
Made with โค๏ธ by the Vinoflare team