v1.0.0a1 — early access

The fullstack framework that flows async-first

WebFluid sits on top of FastAPI and ships a complete toolkit out of the box. Async everywhere with a sync counterpart for every battery, one CLI for everything, and a modular runtime that grows with your project.

WebFluid
Why WebFluid

Everything you reach for, already wired up

Most frameworks make you assemble the stack yourself. WebFluid ships the batteries, keeps them consistent across sync and async, and lets you bolt on features through a clean module system instead of a pile of cross-imports.

Async-first, sync-compatible

Every battery exposes an async API and a matching sync one, so you pick the model that fits the job instead of fighting the framework.

CLI-first bootstrapping

Spin up a project, add modules, run the dev server. The wf CLI takes you from empty folder to running app without glue code.

Modular Additives

Build features as self-contained sub apps that share one runtime. Version-pin them, pull them from the Hub, and keep modules from importing each other.

Batteries included

SQLAlchemy with sync and async binds, migrations, a mailer, a JWT manager with rotating secrets, runtime-cached i18n, events/queries and a cache that swaps between memory and Redis.

Vite and Tailwind, no setup

A single dev server drives SSR Jinja2, API-only modules, or parallel Svelte, React, and Vue frontends. Standalone Node and the Tailwind CLI come bundled.

Config-driven runtime

Configuration loads into the env at run time and the app starts as a subprocess. Toggle features and modules using flags, no code changes required.

Quickstart

From zero to running in a view commands

Scaffold a project, opt into the batteries you want, and start the (dev) server. Node and Tailwind are pulled in automatically the first time you need them.

terminal
wf create project myproject
cd myproject
wf create app myapp
wf run myapp [-d/--debug]
                    
Ocean — coming soon

A Hub for modular Additives

WebFluid is modular by design. Ocean will be the place to publish, discover, and pull version-pinned Additives straight into your runtime, so sharing a module is as simple as declaring it in your manifest.

Ready to build something fluid?

Dive into the docs and ship your first Additive in minutes.