Deno Ecosystem Field Guide
A practical guide from Node.js migration and full-stack development to edge and AI agents
Deno is a JavaScript, TypeScript, and WebAssembly runtime. It runs TypeScript directly, denies file, network, environment, and subprocess access by default, and ships dependency management, formatting, linting, testing, documentation, and compilation in one CLI.
This site does not mirror the official Deno documentation. It organizes migration routes, framework decisions, production boundaries, and project blueprints for working developers.
Choose your task
Start with DenoInstall Deno, learn permissions, and build a tested HTTP service.Migrate from Node.jsKeep package.json, verify compatibility, and adopt tools incrementally.Build full-stack with FreshCurrent Fresh 2 routing, islands, middleware, and deployment.Build APIs with Hono or OakChoose by portability and middleware model.Connect a databasePostgreSQL, Drizzle, SQLite, Redis, MongoDB, Supabase, and KV.Build MCP and agentsOpenAI Responses, MCP servers, tool permissions, and controlled loops.Grant least privilegeScope network, file, environment, and subprocess access separately.Use JSR and npmUnderstand deno.json, deno.lock, the cache, and node_modules.Deploy to productionChoose among Deno Deploy, containers, and general cloud platforms.Build an AI serviceStreaming, secret permissions, tools, and observability.Protect the supply chaindeno ci, audit, minimum age, script approval, and vendor.Build a desktop appDeno 2.9 desktop packaging, cross-platform distribution, and updates.Look up commandsCLI, deno.json, and a deterministic troubleshooting order.Choose a project blueprintFresh blog, MCP server, cron service, and image API.
Capability map
| Goal | First command | Guide |
|---|---|---|
| Run TypeScript | deno run main.ts | Runtime |
| Restrict system access | --allow-* / --deny-* | Permissions |
| Add JSR or npm packages | deno install <pkg> | Dependencies |
| Format, lint, and type-check | deno fmt && deno lint && deno check | Built-in tools |
| Run tests | deno test | Testing |
| Reproduce installs and audit | deno ci && deno audit | Supply chain |
| Standardize project commands | deno task <name> | CLI and configuration |
| Build full-stack pages | Fresh 2 | Fresh guide |
| Build a cross-runtime API | Hono | Hono guide |
| Connect PostgreSQL | postgres.js / Drizzle | Databases |
| Expose AI tools | MCP TypeScript SDK | MCP server |
| Ship a single-file binary | deno compile | Compile & distribute |
| Set up a CI pipeline | setup-deno + deno ci | CI/CD in practice |
| Manage environment variables | --env-file / --allow-env | Environment variables |
| Choose among three runtimes | criteria comparison | Deno vs Node vs Bun |
Append .md to any page URL for Markdown. The site also exposes /en/llms.txt and /en/llms-full.txt.