Themes, not boilerplate
Choose a theme for the thing you are building. Minimal, Blog, Landing, SPA, Fullstack, AI app... Shibumi writes the minimal amount of code for you.
shibumistack.dev
A tech stack to keep
A lean, opinionated web stack for building calm, durable apps with Bun, Hono, Drizzle, Alpine, and Zod.
Coming soon
You install a small and elegant new framework. Then, one day you realize you're debugging 600MB of dependencies you never wanted.
Shibumi is a frameworkless framework. Every file is something you can open, read, and understand. Extensions ship with an agents.md so your coding agent knows how they work. Nothing runs unless you can own it.
Choose a theme for the thing you are building. Minimal, Blog, Landing, SPA, Fullstack, AI app... Shibumi writes the minimal amount of code for you.
Auth, email, uploads, payments, or admin. Add and source code is added. For humans and agents.
Static, edge, or self-hosted deploys with clear config and little ceremony. Just the necessary bits.
Smallest useful app. Routes, layout, styles, and tests.
Markdown-driven content, RSS, and permalinks.
Marketing page with waitlist or signup form.
Client-side routing with Alpine. No server required.
SSR, API routes, Drizzle, Zod, and Alpine.
Streaming responses, prompt templates, model integration.
Every Shibumi project ships with an agents.md file. It tells your coding agent the rules: where routes live, how data flows, what tests exist, and where the boundaries are.
Extensions add their own fragments. Install auth, and the agent learns the session model. Add payments, and it knows the webhook flow. The more you build, the smarter it gets.
Auth, email, uploads, payments, admin — not dependencies, but source files copied into your project. You own them from the moment they land.
Run shi add auth and watch the terminal:
created src/auth/index.ts
created src/auth/session.ts
created src/auth/agents.md
✓ 3 files written to ./my-app/src/auth/
Every extension includes an agents.md fragment. Your coding agent reads it and knows how the code works — no guessing, no hidden behavior.
Extensions are plain TypeScript. Read them, change them, or delete them. They're yours now.
Cloudflare, Vercel, Railway, Fly.io, a static CDN, or your own VPS. Shibumi generates the config for the path you choose.
For self-hosted deploys, set up shibumi-server once:
$ shi server install user@your-vps
installed shibumi-server (container)
running Caddy + build service
✓ ready to deploy
Then deploy with one command:
$ shi deploy vps
sending 12 files
building bun run build
deployed https://myapp.com
✓ live
shibumi-server runs as a container with Caddy. It builds your app, routes the domain, and provisions HTTPS. The files are yours — read them, modify them, or remove the server entirely.
bun create shibumi@latest