# Suprnova > A Laravel-inspired web framework for Rust. Eloquent-style models, the routes! macro, queues, scheduling, and type-checked Inertia frontends on a hyper / SeaORM / Tokio stack - one binary, async everywhere. - Source: https://github.com/eas4ai/suprnova - Version: 4.6.2 - License: MIT - Whole manual in one document: https://suprnova.app/llms-full.txt ## Manual ### Prologue - [Changelog](https://suprnova.app/docs/changelog.md) - [Upgrading to 4.6](https://suprnova.app/docs/upgrade-4-6.md) - [Upgrading to 4.5](https://suprnova.app/docs/upgrade-4-5.md) - [Upgrading to 4.4](https://suprnova.app/docs/upgrade-4-4.md) - [Upgrading to 4.3](https://suprnova.app/docs/upgrade-4-3.md) - [Upgrading to 4.2](https://suprnova.app/docs/upgrade-4-2.md) - [Upgrading to 4.1](https://suprnova.app/docs/upgrade-4-1.md) - [Upgrading to 4.0](https://suprnova.app/docs/upgrade-4-0.md) - [Contribution Guide](https://suprnova.app/docs/contributions.md) ### Getting Started - [Introduction](https://suprnova.app/docs/introduction.md) - [From Laravel](https://suprnova.app/docs/from-laravel.md) - [From Rust Web](https://suprnova.app/docs/from-rust-web.md) - [Installation](https://suprnova.app/docs/installation.md) - [Quickstart](https://suprnova.app/docs/quickstart.md) - [Development](https://suprnova.app/docs/development.md) - [AI-Assisted Development](https://suprnova.app/docs/ai-assisted-development.md) - [Configuration](https://suprnova.app/docs/configuration.md) - [Directory Structure](https://suprnova.app/docs/structure.md) - [Frontend Overview](https://suprnova.app/docs/frontend.md) - [Starter Kits](https://suprnova.app/docs/starter-kits.md) - [Deployment Overview](https://suprnova.app/docs/deployment.md) ### Architecture Concepts - [Request Lifecycle](https://suprnova.app/docs/lifecycle.md) - [Service Container](https://suprnova.app/docs/container.md) - [Application Bootstrap](https://suprnova.app/docs/bootstrap.md) - [Macros](https://suprnova.app/docs/macros.md) - [Error Model](https://suprnova.app/docs/error-model.md) - [Lock Policy](https://suprnova.app/docs/lock-policy.md) ### The Basics - [Routing](https://suprnova.app/docs/routing.md) - [Middleware](https://suprnova.app/docs/middleware.md) - [CSRF](https://suprnova.app/docs/csrf.md) - [CORS](https://suprnova.app/docs/cors.md) - [Security Headers](https://suprnova.app/docs/security-headers.md) - [Controllers](https://suprnova.app/docs/controllers.md) - [Requests](https://suprnova.app/docs/requests.md) - [Responses](https://suprnova.app/docs/responses.md) - [URL Generation](https://suprnova.app/docs/urls.md) - [Sessions](https://suprnova.app/docs/session.md) - [Validation](https://suprnova.app/docs/validation.md) - [Precognition](https://suprnova.app/docs/precognition.md) - [Error Handling](https://suprnova.app/docs/errors.md) - [Error Reporting](https://suprnova.app/docs/error-reporting.md) - [Logging](https://suprnova.app/docs/logging.md) - [Context](https://suprnova.app/docs/context.md) ### Digging Deeper - [Actions](https://suprnova.app/docs/actions.md) - [Console](https://suprnova.app/docs/console.md) - [Broadcasting](https://suprnova.app/docs/broadcasting.md) - [Cache](https://suprnova.app/docs/cache.md) - [Concurrency](https://suprnova.app/docs/concurrency.md) - [Data Objects](https://suprnova.app/docs/data.md) - [Events](https://suprnova.app/docs/events.md) - [Event sourcing](https://suprnova.app/docs/event-sourcing.md) - [Filesystem & Storage](https://suprnova.app/docs/filesystem.md) - [HTTP Client](https://suprnova.app/docs/http-client.md) - [Images](https://suprnova.app/docs/images.md) - [Localization](https://suprnova.app/docs/localization.md) - [Mail](https://suprnova.app/docs/mail.md) - [Notifications](https://suprnova.app/docs/notifications.md) - [Processes](https://suprnova.app/docs/processes.md) - [Web Push](https://suprnova.app/docs/web-push.md) - [Strings](https://suprnova.app/docs/strings.md) - [Dates](https://suprnova.app/docs/dates.md) - [Queue](https://suprnova.app/docs/queues.md) - [Bus](https://suprnova.app/docs/bus.md) - [Rate Limiting](https://suprnova.app/docs/rate-limiting.md) - [Redis](https://suprnova.app/docs/redis.md) - [Task Scheduling](https://suprnova.app/docs/scheduling.md) - [Workflows](https://suprnova.app/docs/workflows.md) - [Supervisors](https://suprnova.app/docs/supervisors.md) - [Server-Sent Events](https://suprnova.app/docs/sse.md) - [WebSockets](https://suprnova.app/docs/websockets.md) - [Live](https://suprnova.app/docs/live.md) - [Installing Live Components](https://suprnova.app/docs/live-add.md) - [Live Component Libraries](https://suprnova.app/docs/live-libraries.md) - [Static Publication](https://suprnova.app/docs/static-publication.md) - [RenderCache](https://suprnova.app/docs/render-cache.md) - [RenderCache Representations](https://suprnova.app/docs/render-cache-representations.md) - [RenderCache Generations](https://suprnova.app/docs/render-cache-generations.md) - [RenderCache Deployment](https://suprnova.app/docs/render-cache-deployment.md) - [RenderCache Operations](https://suprnova.app/docs/render-cache-operations.md) - [Idempotency](https://suprnova.app/docs/idempotency.md) - [Request Timeouts](https://suprnova.app/docs/timeout.md) - [Feature Flags](https://suprnova.app/docs/feature-flags.md) - [Observability](https://suprnova.app/docs/observability.md) - [Vector](https://suprnova.app/docs/vector.md) - [Search](https://suprnova.app/docs/search.md) - [Recommendations](https://suprnova.app/docs/recommendations.md) - [Agents](https://suprnova.app/docs/agents.md) ### Security - [Authentication](https://suprnova.app/docs/authentication.md) - [Auth Flows](https://suprnova.app/docs/auth-flows.md) - [OAuth, Apple, and magic-link login](https://suprnova.app/docs/oauth.md) - [Authorization](https://suprnova.app/docs/authorization.md) - [Encryption](https://suprnova.app/docs/encryption.md) - [Hashing](https://suprnova.app/docs/hashing.md) ### Database - [Database](https://suprnova.app/docs/database.md) - [Query Builder](https://suprnova.app/docs/queries.md) - [Pagination](https://suprnova.app/docs/pagination.md) - [Migrations](https://suprnova.app/docs/migrations.md) - [Seeding](https://suprnova.app/docs/seeding.md) - [Running on a Laravel Database](https://suprnova.app/docs/laravel-database.md) - [MongoDB](https://suprnova.app/docs/mongodb.md) ### Eloquent ORM - [Eloquent API](https://suprnova.app/docs/eloquent.md) - [Eloquent Relationships](https://suprnova.app/docs/eloquent-relationships.md) - [Eloquent collections](https://suprnova.app/docs/eloquent-collections.md) - [Eloquent Casts, Accessors & Mutators](https://suprnova.app/docs/eloquent-mutators.md) - [JSON:API resources](https://suprnova.app/docs/eloquent-resources.md) - [Eloquent Serialization](https://suprnova.app/docs/eloquent-serialization.md) - [Eloquent Factories](https://suprnova.app/docs/eloquent-factories.md) ### Testing - [Testing](https://suprnova.app/docs/testing.md) - [HTTP Tests](https://suprnova.app/docs/http-tests.md) - [Database Tests](https://suprnova.app/docs/database-testing.md) - [Mocking and Fakes](https://suprnova.app/docs/mocking.md) - [Page budget](https://suprnova.app/docs/page-budget.md) ### Payments - [Payments](https://suprnova.app/docs/payments.md) - [Payments - Stripe Adapter](https://suprnova.app/docs/payments-stripe.md) - [Payments - Paddle Adapter](https://suprnova.app/docs/payments-paddle.md) - [Payments - NOWPayments](https://suprnova.app/docs/payments-nowpayments.md) - [Payments - Frontend Integration](https://suprnova.app/docs/payments-frontend.md) - [Writing a Payment Provider Adapter](https://suprnova.app/docs/payments-provider-guide.md) ### Frontend - [Frontend Overview](https://suprnova.app/docs/frontend.md) - [Inertia Responses](https://suprnova.app/docs/frontend-inertia-responses.md) - [Inertia DevTools](https://suprnova.app/docs/frontend-inertia-devtools.md) - [Page Components](https://suprnova.app/docs/frontend-pages.md) - [TypeScript Types](https://suprnova.app/docs/frontend-typescript-types.md) ### CLI Reference - [CLI Overview](https://suprnova.app/docs/cli.md) - [suprnova new](https://suprnova.app/docs/cli-new.md) - [suprnova serve](https://suprnova.app/docs/cli-serve.md) - [Named HTTPS Dev URLs ( suprnova dev:tls)](https://suprnova.app/docs/dev-tls.md) - [Code Generators](https://suprnova.app/docs/cli-generators.md) - [CLI Migrations](https://suprnova.app/docs/cli-migrations.md) - [Scheduling Commands](https://suprnova.app/docs/cli-scheduling.md) - [Docker](https://suprnova.app/docs/cli-docker.md) ### Deployment Recipes - [Deployment Overview](https://suprnova.app/docs/deployment.md) - [Deploy to Railway](https://suprnova.app/docs/deployment-railway.md) - [Deploy to Digital Ocean](https://suprnova.app/docs/deployment-digital-ocean.md) - [Deploy to Hetzner VPS](https://suprnova.app/docs/deployment-hetzner.md) ### Tutorials - [Build a Todo JSON:API](https://suprnova.app/docs/tutorial-json-api.md) - [Build a Todo App with Inertia](https://suprnova.app/docs/tutorial-inertia-crud.md) ### Reference - [Laravel Parity Map](https://suprnova.app/docs/parity.md) - [Environment Variables](https://suprnova.app/docs/env-vars.md) - [Glossary](https://suprnova.app/docs/glossary.md) ## Blog - [Introducing RenderCache - a novel approach to caching](https://suprnova.app/blog/introducing-suprnova-rendercache.md): Caching a page is easy. Knowing whether you should cache it is harder. Knowing when that cached page stopped being true is harder still. Most response caches ultimately ask the application developer to answer both questions: decide which re... - [Introducing Suprnova Live - server-driven interactivity](https://suprnova.app/blog/introducing-suprnova-live.md): Suprnova Live is the framework's server-driven interaction engine. A Live component is a Rust struct whose state lives on the server, whose view is an Askama template, and whose actions run over a signed protocol from a small browser runtim... - [A complete guide to creating and installing an external GitHub OAuth plugin for Suprnova, configuring a GitHub OAuth App, registering the provider, and handling the callback safely.](https://suprnova.app/blog/github-oauth-plugin-tutorial.md): Build GitHub sign-in into a Suprnova application with a real external OAuth provider, verified primary email handling, PKCE, safe account linking, and application-grant revocation. GitHub sign-in looks like a small OAuth integration until y... - [Announcing Magnetar - Authentication to power your applications](https://suprnova.app/blog/introducing-magnetar-suprnova-authentication.md): Magnetar is the authentication engine inside Suprnova. It handles passwords, passkeys, two-factor codes, magic links, and sign-in with Google, Apple, Facebook, X, and TikTok, and it is built around one idea: auth doesn't have to be confusin... - [From Graph RAG to Budgeted Graph Walk](https://suprnova.app/blog/from-graph-rag-to-budgeted-graph-walk.md): An AST and ASG context engine for coding agents, revised for 2026 * Shawn McAllister. This is a revision of the March 2025 explainer that I created for a research repo davila7/ast-asg-graph-rag by Daniel Avila. In March 2025 I wrote an expl... - [Translating a 104-chapter manual into six languages with a fleet of agents](https://suprnova.app/blog/localization.md): How suprnova.app grew Fluent localization, why the translation process turned out to be the best defect detector the project has ever run, and what we learned about making AI agents check each other's work. Suprnova's manual is 104 chapters... - [The Branch That Became a Plugin - Ninety Lines and Four Defaults - by Claude Opus 5](https://suprnova.app/blog/markdown-twins-plugin.md): There is a moment in every piece of infrastructure work where the thing you built for one site starts to look like a thing that belongs to the framework. It usually arrives as a small irritation rather than a revelation. In this case the ir... - [Topcoat vs Suprnova - Full-Stack Reactive Web Frameworks for Rust](https://suprnova.app/blog/topcoat.md): When the Tokio team announced Topcoat on July 22, 2026, they weren't just adding another entry to the crowded list of web frameworks. They were making an argument. The argument is that Rust, a language most people still associate with syste... - [Introducing Suprnova](https://suprnova.app/blog/introducing-suprnova.md): Suprnova is a web framework for Rust that gives you Laravel's developer experience on top of Tokio. You write controllers and Eloquent-style models; the framework gives you concurrency, type safety, and a single-binary deploy. Today we're o... - [Type-safe props, from Rust to TypeScript](https://suprnova.app/blog/type-safe-props-rust-typescript.md): Suprnova's Inertia bridge has one rule: the props a handler sends and the props a component receives are the same type, and a machine checks it. On the Rust side, a page's props are a struct: #[derive(InertiaProps)] pub struct DocsPageProps... - [Suprnova v0.7.2: queue routing, hardened](https://suprnova.app/blog/suprnova-v0-7-2.md): v0.7.0 shipped queue routing - jobs declare a home queue, operators override it centrally with Queue::route, and workers drain specific queues with queue:work --queue=billing,default. The two releases since are the defect-fix pass from a fu... ## Optional - [Blog index](https://suprnova.app/blog) - [Resources](https://suprnova.app/resources) - [Members](https://suprnova.app/members)