Deno Deploy
DevOps & Securitydeno-deployDeno 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.
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- 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
.deno-versionfile ormise.toml/.tool-versions- Defaults to 2
Build
Build Process
- Install Deno
- Cache dependencies:
deno cache - Start command derived from project config
Start Command
main.ts,main.js,main.mjs, ormain.mtsin project root- If none found, use first
.ts,.js,.mjs, or.mtsfile - 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.jsonclock.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"]