v0 Scope & Status
Routa is at a v0 implementation baseline. This page is the authoritative line between behavior that ships today and design work that does not exist yet. Everything documented elsewhere on this site is v0 behavior unless a page says otherwise.
Options
Section titled “Options”A pre-1.0 framework can present its scope in one of three ways.
Document the roadmap as if it shipped
Section titled “Document the roadmap as if it shipped”Reads well and wins evaluations. It also destroys trust the first time a reader follows a page and the feature is not there.
Document only what is stable
Section titled “Document only what is stable”Safe, but leaves working features undiscoverable and makes the project look smaller than it is.
Document what ships and name what does not
Section titled “Document what ships and name what does not”Requires maintaining an explicit deferred list, and it makes gaps visible in a way that looks worse in a feature comparison.
What Routa Does
Section titled “What Routa Does”Routa takes the third option. Every feature page states its status, and this page holds the complete list.
Implemented
Section titled “Implemented”| Area | v0 behavior |
|---|---|
| Runtime | Hono, served through @hono/node-server |
| Schemas | Zod for inputs, middleware context, rejects, and responses |
| Routing | Directory style, flat style, dynamic $ segments, and (group) folders |
| Methods | get, post, put, patch, delete, and explicit head; OPTIONS is automatic |
| Middleware | Typed requires / provides / rejects, folder inheritance, per-method chains |
| OpenAPI in | Scaffolding source from .yaml, .yml, and .json documents |
| OpenAPI out | Generation from route contracts, drift checks, and breaking-change checks |
| Generated files | .routa/routes.gen.ts, .routa/manifest.json, .routa/openapi-baseline.json |
| CLI | create, scaffold, dev, start, check, generate, build, routes, openapi check, openapi breaking |
| Logging | Backend-neutral RoutaLogger contract with a built-in console implementation |
| Lifecycle | Route deprecation metadata with optional Deprecation, Sunset, and Link headers |
| Query helpers | Sort and Fields parsers from @routa-ts/core/query/helpers |
Deferred
Section titled “Deferred”- Fastify, Express, or other runtime adapters
- Non-Zod schema adapters
- Client SDK generation
- A plugin system
- Built-in auth provider integrations; v0 makes security visible in OpenAPI but never implements authentication
- Response caching, rate limiting, and broad observability features
- A generated hosted API reference UI
- Content types other than JSON at the request and response boundary
Consequences
Section titled “Consequences”- Reading a v1 or design document in the repository tells you what contributors are considering, not what your project can call today.
- A feature absent from the implemented table above should be treated as absent from the framework, even if an internal spec describes it in detail.
- Deferred does not mean rejected. Most items are sequenced behind proving the contract model on a single runtime.
When This Changes
Section titled “When This Changes”Scope moves when a feature lands in @routa-ts/core, @routa-ts/cli, or
create-routa-ts with acceptance coverage. At that point it moves into the implemented
table and gets a page in Concepts, Guides, or Reference.