deno-deploy
The deno-deploy skill automates building and deploying Deno applications by detecting deno.json or deno.jsonc files, managing version resolution from .deno-version or configuration files, and generating optimized Dockerfiles. Use this skill when deploying Deno projects to containerized environments or when establishing repeatable build patterns for TypeScript and JavaScript Deno applications.
git clone --depth 1 https://github.com/nixopus/nixopus /tmp/deno-deploy && cp -r /tmp/deno-deploy/api/skills/deno-deploy ~/.claude/skills/deno-deploySKILL.md
# 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 ```dockerfile 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 ```dockerfile 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 ```dockerfile FROM denoland/deno:2 WORKDIR /app COPY deno.json deno.jsonc ./ COPY . . RUN deno cache main.ts EXPOSE 3000 CMD ["deno", "task", "start"] ```
Reference for all Nixopus API operations callable via nixopus_api(method, path, body)
Generate Caddyfile configurations for static sites and reverse proxies — SPA fallback routing, cache headers, compression, redirects, and error pages. Use when deploying a static site that needs custom Caddy configuration, or when the user needs SPA routing, caching, or redirect rules.
Generate docker-compose.yml for multi-service setups including databases, caches, and service dependencies. Use when the app needs a database, cache, message broker, or has multiple independently deployable services.
Size container memory and CPU limits, diagnose OOM kills and CPU throttling, and recommend resource adjustments by ecosystem. Use when containers are being OOM-killed, running slowly, or when setting initial resource limits for a deployment.
Build and deploy C/C++ applications — CMake, Meson, Ninja, and Dockerfile patterns. Use when deploying a C or C++ project, or when CMakeLists.txt or meson.build is detected.
Run database migrations safely during deployment — framework-specific commands, pre-deploy vs post-deploy timing, health gates, and rollback strategies. Use when the app has a database migration system and needs migrations run during deployment.
Sub-agent routing table — which agent handles diagnostics, machine health, infrastructure, GitHub, billing, and notifications. Load when the current task is not a direct deployment.
Full deploy pipeline — source detection, hints-driven analysis, project creation, deployment monitoring, and live URL delivery. Load when the user wants to deploy an application.