1
Install Fymo
2
Create a project
3
Run it
http://127.0.0.1:8000 in your browser.What you’re looking at
The home page says It’s alive. and it’s not decoration, it’s a proof board. Three cards, each demonstrating one piece of the machinery live, each footed with a mono chip naming the file that produced it:- Server: a render timestamp that traveled from
getContext()inapp/controllers/home.pyinto the HTML before any JavaScript ran. - Client: a click counter. If it counts, Svelte hydrated the server-rendered page and owns it now.
- Identity: the live value of the
$authidentity store,anonymousuntil you sign in, resolved by your own code inapp/auth/.
fymo dev runs and the page rebuilds itself. The styling comes from app/assets/app.css, a small design-token stylesheet the app owns outright, and the favicon at app/static/favicon.svg is wired through svelte:head in the root layout.
Sign in works already
Openhttp://127.0.0.1:8000/signin. Sign up with any email and password, nothing to configure first. Back on the home page, the Identity card now shows your uid instead of anonymous.
Generate a resource
Now the money path. One command gives you a full CRUD slice:/posts. A seeded row renders through the typed $remote client, and once you’re signed in there’s a create form. Titles click through to /posts/1, where edit and delete appear only for rows you own. The generated test file proves the authorization rules with nine passing tests, run them with the command the generator printed.
Everything it wrote is plain app code, yours to edit, and Fymo will never touch it again. The Generators page covers the whole family: pages, remote modules, components, layouts, broadcasts, and the fymo destroy inverse.
Project structure
Here’s whatfymo new set up for you:
app/jobs/ and app/broadcasts/ aren’t part of the scaffold, you add them the first time you write a background task or generate a broadcast channel. See Jobs and broadcasts.
See the app/ directory to learn what belongs in each folder.
A minimal page
Every page in Fymo pairs a Python controller with a Svelte template. Here’s the smallest one you can write.fymo generate page hello writes both and wires the route.