Create a new project
Scaffold the app
Start the dev server
What you just got
The scaffolded project is a full-stack app:Walk through the code
Schema — the source of truth
Opensrc/api/schema.ts. This defines the tasks table and model:
tsc shows errors everywhere that column is used.
Entity — schema to API endpoints
Opensrc/api/entities/tasks.entity.ts:
GET /api/tasks, GET /api/tasks/:id, POST /api/tasks, and more — with access control required for every operation.
UI — reactive task list
Opensrc/pages/home.tsx. This is where query() and form() connect the UI to your API:
query() fetches data reactively — when the data loads, only the list updates. The api client is fully typed from your schema, so task.title is a string and task.completed is a boolean without any manual type definitions.
Try it
With the dev server running:- Add a task — use the form in the UI to create a new task
- Check it off — mark a task as completed
- Edit the schema — try renaming
titletonameintasksTableand watchtscflag every place that references the old column — entity, client, and UI
Available commands
Next steps
Installation
Add Vertz to an existing project manually.
Components
Props, children, and component patterns.
Reactivity
Deep dive into signals, computed, and effects.
Routing
Set up pages with type-safe routing.