OpenParable
Skip to content
← Back to skills

Deno Deploy

DevOps & Security
deno-deploy

Deno Deploy is an Agent Skill for devops & security published in the nixopus/nixopus repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Build and deploy Deno applications — version detection, dependency caching, and Dockerfile patterns. Use when deploying a Deno project, or when deno.json or deno.jsonc is detected.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/nixopus/nixopus/blob/HEAD/api/skills/deno-deploy/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/deno-deploy, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Deno Deployment

Detection

Project is Deno if deno.json or deno.jsonc exists in the root.

Versions

  1. .deno-version file or mise.toml / .tool-versions
  2. Defaults to 2

Build

Build Process

  1. Install Deno
  2. Cache dependencies: deno cache
  3. Start command derived from project config

Start Command

  1. main.ts, main.js, main.mjs, or main.mts in project root
  2. If none found, use first .ts, .js, .mjs, or .mts file
  3. Run with: deno run --allow-all <entry>

deno.json / deno.jsonc may specify tasks or main; prefer those when present.

Install Stage Optimization

Copy in order:

  • deno.json, deno.jsonc
  • lock.json (if present)
  • *.ts, *.js, *.mjs, *.mts (or full source)

Dockerfile Patterns

Basic Deno App

FROM denoland/deno:2
WORKDIR /app
COPY deno.json deno.jsonc ./
COPY . .
RUN deno cache main.ts
EXPOSE 3000
CMD ["deno", "run", "--allow-all", "main.ts"]

With lock file

FROM denoland/deno:2
WORKDIR /app
COPY deno.json deno.jsonc lock.json ./
COPY src/ ./src/
RUN deno cache src/main.ts
COPY . .
EXPOSE 3000
CMD ["deno", "run", "--allow-all", "src/main.ts"]

deno.json tasks

FROM denoland/deno:2
WORKDIR /app
COPY deno.json deno.jsonc ./
COPY . .
RUN deno cache main.ts
EXPOSE 3000
CMD ["deno", "task", "start"]