Extras Guides
Extras Overview
Choose optional GoLazy guides for browser interaction, background jobs, mailers, storage, assets, and media.
Extras are capabilities you add when the application needs them. The core app can stay server-rendered and small, then adopt each extra in the place where it pays for itself.
Browser interaction
Use the interaction guides when a page needs richer browser behavior:
- Hotwire Turbo covers Turbo navigation and frames.
- Turbo Frames covers named partial page updates.
- Stimulus Controllers covers small browser controllers attached to server-rendered markup.
- Server-Rendered Updates covers HTML fragments and Turbo responses from controller actions.
Start with Turbo when ordinary links and forms should feel faster. Add Stimulus when a page needs small client-side behavior that should stay attached to server-rendered markup.
Background work and mail
Use the service guides when the app needs work outside a request:
- Background Jobs covers typed jobs, backends, enqueueing, and inspection.
- Mailers covers mailer templates, delivery configuration, and app-owned mail services.
Jobs and mailers are app services. Controllers should call application
operations such as SendWelcomeEmail or ImportDocument, not assemble job
payloads or SMTP messages inline.
Files and media
Use the storage and media guide when the app needs durable files or generated outputs:
- Storage, Assets, And Media covers object storage, asset export, file catalogs, and generated media variants.
Keep the optional layers separate: lazystorage stores bytes, lazyfiles
catalogs stored files, lazyassets exports application assets, and
lazymedia records generated variants.