Build the product.
Reuse the plumbing.
revojs gives AI agents and developers a stable set of modules for routing, rendering, data, authentication, AI and deployment.
The ecosystem
One foundation, focused modules
Every package solves one infrastructure problem and composes through the same module graph.
A Vite-native framework that turns routes, middleware, hooks, context and modules into a small set of predictable primitives.
Connect browser entry points, generated assets and HTML tags to the revojs module graph without application-specific bundler plumbing.
Build HTTP routes, middleware, scheduled jobs and WebSockets around Request, Response and a request-scoped context.
Bring Vue rendering, nested layouts, client navigation and server-aware data loading into the revojs route system.
A compact Vue component library with semantic themes, Iconify integration and accessible primitives designed to be composed.
Localize copy and route paths together, with locale detection and generated types shared across server and client rendering.
Manage signed sessions, password and passkey methods, OAuth providers and lifecycle hooks without surrendering your application model.
Take one-time payments and subscriptions through hosted checkouts, hand customers the provider portal and react to verified webhooks with typed hooks. Providers are declared like databases, Stripe ships as one of them.
Define schemas, infer models, compose queries and generate migrations through a typed storage layer that stays close to the database.
The workflow module establishes the extension point for long-running, resumable work while keeping orchestration inside the revojs module graph.
Use provider-neutral contracts for language, embedding, image, speech, transcription and reranking models, including streaming and tools.
Adapt the revojs server to Workers with native request handling, environment bindings, scheduled events and WebSocket upgrades.
Serve the revojs request pipeline with Bun's native server, WebSocket implementation, environment variables and cron scheduler.
Share the same modern compiler defaults across applications and packages while keeping project-specific overrides small.
Modules own infrastructure boundaries and work together without duplicating setup.
Requests, responses, URLs and streams remain familiar across every runtime.
Stable conventions reduce boilerplate and keep generated work focused on business logic.
import vue from "@revojs/vue/module";
import ui from "@revojs/ui/module";
import { revojs } from "revojs/module";
export default defineConfig({
plugins: [
revojs({
modules: [vue, ui],
}),
],
});Start with the core. Add what matters.
Explore each module, understand its boundary and assemble the stack your application actually needs.
Get started