Extending Dune

Dune is designed to be extended. The hook system lets you intercept and modify behavior at every stage of the request lifecycle. Custom format handlers let you add new content types. Plugins bundle both into distributable packages.

Extension points

Extension What it does Complexity
Hooks Intercept lifecycle events (request, render, cache) Low
Format handlers Add new content formats (beyond .md and .tsx) Medium
Plugins Bundle hooks + config into reusable packages Medium
Theme components Custom templates, layouts, islands Low-Medium
Email Send transactional email from plugins via email.send() Low
Payments Stripe checkout, webhooks, and billing portal via PaymentProvider Medium