Quickstart
Drash ships no server. You build an application — a chain of handlers under the hood — and pass a request into it from whatever server your runtime already gives you (Deno.serve(), Bun.serve(), etc.) — so the setup differs only in how your runtime hands you that request.
Pick your runtime below, or walk through the build one step at a time.
First Drash Application? Start Here.
Learn it step by step:
Or hand this to your coding agent:
Read https://drash.crookse.com/agents.md and set up a Drash project.Your coding agent should ask you if you want to set up a Drash project for Node, Deno, Bun, or Cloudflare.
Choose a Quickstart Guide
View the quickstart that applies to you.
Each page has a complete, runnable application and notes specific to that runtime.
| Runtime | URLPattern | Request shape | Entry point |
|---|---|---|---|
| Deno | Global — used directly | Web Request / Response | http.native.js |
| Node | Varies by version — polyfilled | Context object you build | http.polyfill.js |
| Bun | Not dependable — polyfilled | Web Request / Response | http.polyfill.js |
| Cloudflare Workers | Global — used directly | Web Request / Response | http.native.js |
The two entry points differ only in which URLPattern implementation they use — see Concepts > Native vs. Polyfill to learn more.
Before You Get Started
Read the Prerequisites first if:
- You do not have a runtime installed yet
- You have never stood up an HTTP server in it