Vue 3 SPA + Hono Backend on Cloudflare Workers
| Frontend | Vue 3, Vite, UnoCSS, HeadlessUI, TanStack Query |
| Backend | Hono, Cloudflare Workers |
| DB | Turso, Drizzle ORM |
| Auth | Clerk |
| Validation | Arktype, Drizzle-Arktype |
| Build | Turborepo, Bun |
| DevEnv | Nix |
- Bun 1.3.11+
- Node.js 24+ (Nix利用時)
- Cloudflare アカウント (デプロイ時)
- Turso アカウント (DB利用時)
- Clerk アカウント (認証利用時)
echo "use flake" > .envrc && direnv allowbun installローカル開発用のsqliteファイルを準備
cd apps/database/
cat migrations/20260331022512_certain_sunspot/migration.sql | sqlite3 record.db.env.exampleを参考に。
apps/server,apps/clientそれぞれに必要な変数を記述して配置
bun run devブラウザで http://localhost:5173 を開く
apps/
├── client/ # Vue 3 SPA (Vite)
├── server/ # Hono API (Cloudflare Workers)
└── share/ # 共有型・バリデーション
- Client → Server: Hono RPC (
hc<AppType>) を使用 - Server → DB: Drizzle ORM 経由で Turso にアクセス
- Auth: Clerk 認証を Hono ミドルウェアでガード
cd apps/client && bun run buildcd apps/server && bun run deploywrangler.jsonc の assets.not_found_handling: "single-page-application" により、API以外のリクエストはSPAとして配信されます。
| アプリ | テストタイプ |
|---|---|
apps/share |
Unit テスト |
apps/server |
API/Integration テスト |
apps/client |
Component テスト |
bun run test詳細な開発ルールは AGENTS.md を参照してください。