From role-devops
Expert-level Docker guidance covering multi-stage builds, image optimization, Docker Compose orchestration, networking, volume management, security scanning, and container registry operations.
npx claudepluginhub rnavarych/alpha-engineer --plugin role-devopsThis skill is limited to using the following tools:
- Separate build and runtime stages to minimize final image size. The build stage installs compilers, dev dependencies, and produces artifacts; the runtime stage copies only the compiled output.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
FROM node:20 AS builder) for clarity and to enable targeted builds with --target.FROM node:20-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --production=false
COPY . .
RUN npm run build
FROM gcr.io/distroless/nodejs20-debian12
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
USER nonroot
EXPOSE 3000
CMD ["dist/main.js"]
distroless images for production (no shell, no package manager, minimal attack surface). Use Alpine when you need a shell for debugging..dockerignore aggressively to exclude .git, node_modules, IDE configs, and local env files.FROM node:20-alpine@sha256:abc123....RUN commands with && to reduce layers, and clean up package manager caches in the same layer.docker-compose.yml for local development with service dependencies, shared networks, and volume mounts.profiles to group services (e.g., debug, monitoring) that are not needed in every run.docker-compose.override.yml) for local-specific settings; keep the base file production-like.docker run --volumes-from or volume driver plugins that support snapshots.USER nonroot or a dedicated UID in the Dockerfile.--cap-drop=ALL --cap-add=NET_BIND_SERVICE.read-only root filesystems where possible and mount tmpfs for directories that need writes.--mount=type=secret) or runtime injection.HEALTHCHECK in every Dockerfile: an HTTP endpoint for web services, a TCP check for databases, or a command for CLI tools..dockerignore is present and comprehensive