Choose a starting point¶
For a first application, use Ticket Desk. It starts from the basic scaffold and grows one tested application through relations, permissions, tenancy, background reports, durable actions, and an optional MCP client.
| Your goal | Start here |
|---|---|
| Learn the basic application lifecycle | First project and project layout. |
| Study posts, comments, and state-changing actions | Blog example, with its documented authentication limitations. |
| Study customer/deal relationships and pipeline actions | CRM example, an application demonstration. |
| Build tenant-isolated data access | Ticket Desk tenancy, not the historical multitenant template. |
| Run a production-oriented reference | Example tiers and production deployment. |
| Explore optional model providers | Bring your own LLM, explicitly experimental. |
Generate a basic shell¶
The default template provides the application layout and commented model/API examples. It does not create a finished domain application or automatically start a durable worker. Studio and MCP are optional and disabled by default. Follow the generated README and the first-project tutorial for dependency, database, migration, and test instructions.
Inspect a domain template¶
The available names are basic, blog, crm, and multitenant. The three domain
templates copy bundled example modules into a flat directory, rather than
producing the basic template's app/ package and pyproject.toml. Their settings
also differ. Follow each pattern page's checked commands instead of assuming
that all templates share one install/startup flow.
The blog copy contains Post and Comment. CRM contains Customer, Deal,
and Activity; it does not contain separate Pipeline and Stage models.
The historical multitenant copy contains Tenant, User, and Project and has
a known resolver defect. It is retained for study,
not recommended as a SaaS security foundation.
The provider-adapter example is a separate experimental example, not another
--template choice. Consult the example catalog for the purpose,
execution coverage, and limitations of every repository example.