# Deno Ecosystem Field Guide

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](https://docs.deno.com). It organizes migration routes, framework decisions, production boundaries, and project blueprints for working developers.

## Choose your task

<Cards>
  <Card title="Start with Deno" description="Install Deno, learn permissions, and build a tested HTTP service." href="/en/docs/getting-started/quickstart" />
  <Card title="Migrate from Node.js" description="Keep package.json, verify compatibility, and adopt tools incrementally." href="/en/docs/migration/from-node" />
  <Card title="Build full-stack with Fresh" description="Current Fresh 2 routing, islands, middleware, and deployment." href="/en/docs/web/fresh" />
  <Card title="Build APIs with Hono or Oak" description="Choose by portability and middleware model." href="/en/docs/web" />
  <Card title="Connect a database" description="PostgreSQL, Drizzle, SQLite, Redis, MongoDB, Supabase, and KV." href="/en/docs/database" />
  <Card title="Build MCP and agents" description="OpenAI Responses, MCP servers, tool permissions, and controlled loops." href="/en/docs/ai" />
  <Card title="Grant least privilege" description="Scope network, file, environment, and subprocess access separately." href="/en/docs/core/permissions" />
  <Card title="Use JSR and npm" description="Understand deno.json, deno.lock, the cache, and node_modules." href="/en/docs/core/dependencies" />
  <Card title="Deploy to production" description="Choose among Deno Deploy, containers, and general cloud platforms." href="/en/docs/deploy" />
  <Card title="Build an AI service" description="Streaming, secret permissions, tools, and observability." href="/en/docs/ai/building-ai-apps" />
  <Card title="Protect the supply chain" description="deno ci, audit, minimum age, script approval, and vendor." href="/en/docs/core/supply-chain" />
  <Card title="Build a desktop app" description="Deno 2.9 desktop packaging, cross-platform distribution, and updates." href="/en/docs/core/desktop" />
  <Card title="Look up commands" description="CLI, deno.json, and a deterministic troubleshooting order." href="/en/docs/reference/cli-and-config" />
  <Card title="Choose a project blueprint" description="Fresh blog, MCP server, cron service, and image API." href="/en/docs/projects" />
</Cards>

## Capability map

| Goal | First command | Guide |
| --- | --- | --- |
| Run TypeScript | `deno run main.ts` | [Runtime](/en/docs/core/runtime) |
| Restrict system access | `--allow-*` / `--deny-*` | [Permissions](/en/docs/core/permissions) |
| Add JSR or npm packages | `deno install <pkg>` | [Dependencies](/en/docs/core/dependencies) |
| Format, lint, and type-check | `deno fmt && deno lint && deno check` | [Built-in tools](/en/docs/core/tooling) |
| Run tests | `deno test` | [Testing](/en/docs/core/testing) |
| Reproduce installs and audit | `deno ci && deno audit` | [Supply chain](/en/docs/core/supply-chain) |
| Standardize project commands | `deno task <name>` | [CLI and configuration](/en/docs/reference/cli-and-config) |
| Build full-stack pages | Fresh 2 | [Fresh guide](/en/docs/web/fresh) |
| Build a cross-runtime API | Hono | [Hono guide](/en/docs/web/hono) |
| Connect PostgreSQL | postgres.js / Drizzle | [Databases](/en/docs/database/postgres-drizzle) |
| Expose AI tools | MCP TypeScript SDK | [MCP server](/en/docs/ai/mcp-server) |
| Ship a single-file binary | `deno compile` | [Compile & distribute](/en/docs/core/compile) |
| Set up a CI pipeline | `setup-deno` + `deno ci` | [CI/CD in practice](/en/docs/deploy/ci-cd) |
| Manage environment variables | `--env-file` / `--allow-env` | [Environment variables](/en/docs/core/env-variables) |
| Choose among three runtimes | criteria comparison | [Deno vs Node vs Bun](/en/docs/reference/deno-vs-node-bun) |

<Callout type="info" title="Version policy">
These docs use Deno 2.x as the stable baseline. For minor-version, preview API, or hosted-platform behavior, run `deno --version` and verify the matching official page and release notes.
</Callout>

Append `.md` to any page URL for Markdown. The site also exposes [`/en/llms.txt`](/en/llms.txt) and [`/en/llms-full.txt`](/en/llms-full.txt).
