bueno Svelte Themes

Bueno

A small full stack starter. Hono + Bun/Deno + Drizzle + Next.js + SvelteKit.

Bueno

A small full stack starter. See AGENT.md for the philosophy.

Layout

apps/
  api/         Hono API, Bun and Deno entry points
  web-next/    Next.js app (port 3001)
  web-svelte/  SvelteKit app (port 3002)
packages/
  db/          Drizzle schema, migrations, client
  shared/      env loader and shared types
tooling/
  tsconfig/    base TS configs

Requirements

  • Bun 1.1+
  • Docker (for Postgres)
  • Deno (optional, only if you want to run the Deno entry)
  • Node must match your machine arch. On Apple Silicon, use an arm64 Node. An x86_64 Node under Rosetta breaks tools that ship native binaries (esbuild, rollup).

First run

cp .env.example .env
bun install
docker compose up -d postgres
bun run db:generate
bun run db:migrate
bun run dev

That starts the API on 3000, Next on 3001, Svelte on 3002.

Useful commands

bun run dev          # all apps
bun run build        # build all apps
bun run typecheck    # typecheck all
bun run db:generate  # create a new migration from schema changes
bun run db:migrate   # apply migrations
bun run db:studio    # open Drizzle Studio

API quick check

curl http://localhost:3000/health
curl -X POST http://localhost:3000/users \
  -H 'content-type: application/json' \
  -d '{"email":"[email protected]","name":"A"}'
curl http://localhost:3000/users

Running the API on Deno

From apps/api:

bun run start:deno

Same routes, same behavior, different runtime.

Full Docker

docker compose up --build

Brings up Postgres, runs the migration job, then starts the API. Frontends still run on the host.

Deleting what you do not use

Each top level folder is independent. Examples:

  • Drop the Next app: rm -rf apps/web-next
  • Drop the Svelte app: rm -rf apps/web-svelte
  • Drop Deno support: delete apps/api/deno.ts and the start:deno script
  • Drop Docker: delete docker-compose.yml and apps/api/Dockerfile

Top categories

Loading Svelte Themes