Skip to content
A template built entirely with keel — one tokens block is the whole theme, shared across a linked three-page docs site. All templates

Guide

Driftwood ships one binary. It builds a function, signs it, and puts it on the edge network closest to whoever calls it — no dashboard step required to go live.

Install

Pick a method. Driftwood is a single static binary with no runtime dependency.

terminal
curl -fsSL https://get.driftwood.dev | sh
driftwood --version
# driftwood 4.2.0 (darwin/arm64)

Package managers work too: brew install driftwood, scoop install driftwood, or download a release archive directly from the releases page.

Your first deploy

Driftwood deploys whatever's in the current directory. A function is just a folder with an entry file — no config is required for a first deploy, though you'll usually add one once you have more than one function.

terminal
mkdir hello && cd hello
echo 'export default () => new Response("hi")' > index.js
driftwood deploy

# ✓ built hello (1 route, 4.1kb)
# ✓ signed
# ✓ live at https://hello-7f2a.driftwood.app

A deploy is content-addressed — the URL above changes only when the code changes, so old links stay valid until you explicitly retire them with driftwood retire.

Attach a domain

Point a domain at the latest deploy, or pin it to a specific deploy hash for a slower rollout:

driftwood domains add app.example.com --project hello
driftwood domains add app.example.com --project hello --pin 7f2a91c

DNS is a single CNAME to edge.driftwood.app — Driftwood issues and renews the certificate automatically once the record resolves.

Next

The reference page documents every command and flag. The changelog tracks what shipped and when.