Vibe
Vibe is a vibecoding tool that lets users vibecode apps and deploy directly to their Appwrite account.
Tech Stack
- Cloudflare Workers
- Cloudflare Durable Objects
- Cloudflare Sandbox (built on top of cloudflare containers)
- Next.js
- React
- TypeScript
- shadcn
- tailwindcss
- Make sure you refer to latest docs with context7 mcp server. IT IS CRUCIAL FOR STAYING UP-TO-DATE.
- use context7 mcp server to get latest docs for any library
- use https://raw.githubusercontent.com/cloudflare/sandbox-sdk/refs/heads/main/packages/sandbox/README.md for cloudflare sandbox docs
- Build: root
pnpm build(Turbo), devpnpm dev. - Dash app:
pnpm -C apps/dash dev|build|start. - Server (Cloudflare Workers):
pnpm -C apps/server dev|build|deploy. - Type-check: root
pnpm check-types; serverpnpm -C apps/server check-types. - Lint/format: root
pnpm check(Biome write); dashpnpm -C apps/dash lint|format. - Imports: ESM only; prefer
import typefor types (server usesverbatimModuleSyntax). - Import order: Node/stdlib, third‑party,
@/*aliases, then relative. - Paths: use
@/*alias in both apps pertsconfig.json. - Formatting: Biome enforces double quotes and semicolons; run
pnpm check. - Types: strict TS; avoid
any; preferunknown; annotate exports. - Zod: validate inputs; infer types or narrow from schemas.
- Naming: Components PascalCase; hooks
use*; files kebab-case; constants SCREAMING_SNAKE_CASE. - React/Next: add
"use client"for client components; no default React import. - Error handling (server): throw
TRPCErrorwith propercode/message; never return null on failure. - Error handling (client): surface errors via
toast; keep logs minimal (consoleallowed by Biome). - Env: client via
@/env; server viacloudflare:workersenv; avoidprocess.envon client.