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 small web stack for apps you can understand and keep: Bun, Hono, Zod, Drizzle, SQLite, Alpine, and Nanostores.
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 and shared state with Alpine and Nanostores.
SSR, API routes, SQLite, 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, and admin arrive as source files copied into your project instead of dependencies. You own them from the moment they land.
Run shi add auth and watch the terminal:
Every extension includes an agents.md fragment. Your coding agent reads it and understands how the code works without guessing or 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, shibumi-server has a signed receiver, resource guards, and a pinned v0.6.3 installer:
Once configured, deployment starts with a normal push:
The service verifies the push and keeps the current app running while the next version is checked and built. Once ready, it replaces the old container, confirms the new one is healthy, keeps the previous two images for quick rollbacks, and removes older ones. App-owned tests are optional. Secrets and machine configuration stay outside the public repository. See how it works →
bun create shibumi@latest