Zerotal Documentation
Zerotal is a Bun-native, full-stack TypeScript framework. You write plain classes, drop them in convention-named folders, and the framework wires them together at boot — no build step, no manual registration.
New here?
Three pages, in order, and you'll be productive:
- Getting Started — scaffold a project, run it, add a route, a model, and a service provider. Fifteen minutes.
- About Zerotal — the whole framework on one screen: the four ideas it rests on, and a runnable example of every major feature.
- Conventions — what gets auto-discovered, and the naming rules that make it happen. This is the page that stops the surprises.
# in your project's parent directory
bun create zerotal my-app
cd my-app && bun dev
Find your way around
| If you want to… | Read |
|---|---|
| Handle a request | Routing · Controllers · Middleware · Requests Context |
| Talk to a database | Database · ORM · Migrations · Query Builder |
| Build a UI | Views · Flow · Inertia · Assets |
| Sign users in | Authentication · Authorization · Roles & 2FA · Social Login |
| Do work in the background | Queue · Scheduler · Broadcasting |
| Understand how the framework boots | The Application · Lifecycle · Container · Providers |
| Test what you built | Testing · HTTP Tests · Database Tests |
| See what's running in production | Logger · Monitor · Telemetry · Health |
| Debug what it just did | DevTools · Errors |
| Work with a coding agent | Agent Surface |
| Ship it | Deployment · Commands |
Choosing a frontend
Zerotal doesn't pick for you, and the choice is per project rather than per framework:
- Views — server-rendered JSX. No client runtime at all. Right for content sites, forms, and anything that doesn't need live updates.
- Flow — reactive components rendered on the server, updated over a WebSocket. You write TypeScript classes, not client state. Right when you want interactivity without a separate frontend codebase.
- Inertia — a React or Vue SPA that talks to your controllers directly, with no API layer to maintain. Right when you already know React or Vue and want the full client-side experience.
Reference
- API Reference — generated from source, every exported symbol.
- Commands — every
bun ztcommand. - Release Notes · Upgrade Guide
- Package Development — build your own
@zerotal-style package. - Contribution Guide · Inspirations