Tutorials are guided, end-to-end builds — pick one and follow it through. They are for a developer mapping prior framework knowledge onto Chirp, or one who has the basics and wants to ship a real feature.
Complete the learning path first unless the table below points you here directly.
When to use which tutorial
| Tutorial | Use when |
|---|---|
| Coming from Flask | You know Flask and want a concept map to Chirp |
| Login walkthrough | You need auth, sessions, andapp.check()on a login loop |
| htmx Patterns | You want copy-paste recipes after tier 1 examples |
| Alpine + htmx | You combine chirp-ui / Alpine with htmx |
| View Transitions + OOB | You animate multi-target swaps |
| Lucky Cat trade panel | You finished tier 2 and want one capstone feature dissected |
| Full-application journey | You want the tested path from SQLite through forms, shell swaps, Suspense, SSE, checks, and deployment |
| Passkeys walkthrough | You add WebAuthn on top of the secure stack |
The whole login → gated page → logout loop in one file, with secure-by-default sessions, CSRF, and password hashing — and app.check() catching the one wire you forgot
Enroll and authenticate WebAuthn passkeys with Chirp's ceremony verbs, BYO credential store, window.chirp.passkeys bridge, and app.check() passkeys category
Translate your Flask knowledge to Chirp
A from-scratch build-along — markets grid Page, then ValidationError vs FormAction on POST /trade/order
Add crossfade animations to boosted navigation without OOB or SSE updates wiping the page — by extending Chirp's boost layout
The fast mapping from raw hx-* attributes to Chirp's return types — live search, click-to-edit, infinite scroll, delete, and reorder, each a copy-paste template-plus-handler pair.
Combine Alpine.js for local state with htmx for server round-trips
A tested path from a SQLite page to a secure, live Chirp application