mcpField
D
devops

devops

github.com/iankikuCloud & DevOps1843 installsUpdated 13w ago
Repository

About devops

devops is a skill containing infrastructure and deployment guidance for software projects. It provides checklists and practices for CI/CD, Docker, monitoring, infrastructure choices, and incident response.

Key features

  1. 01Pre-deployment verification checklist
  2. 02CI/CD stages and failure actions
  3. 03Multi-stage Docker build guidance
  4. 04Monitoring and alerting practices
  5. 05Infrastructure defaults and incident response

Use cases

  1. 01Check readiness before deploying a release
  2. 02Plan CI/CD failure handling and rollback steps
  3. 03Set Docker build and monitoring conventions
  4. 04Structure response to a production incident

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/iankiku/forwward-teams --skill devops

After installing, type/devopsin Claude Code to confirm it loaded.

Details

From the project README

DevOps — Infrastructure & Deployment

Ship reliably. Monitor everything. Fix fast.

Deployment Checklist

Before any deploy:

  1. All tests pass in CI (not just locally)
  2. Environment variables set in target environment
  3. Database migrations tested against production-like data
  4. Rollback plan documented (even if it's "revert this commit")
  5. Health check endpoint exists and returns 200

CI/CD Pipeline

push → lint → typecheck → test → build → deploy staging → smoke test → deploy prod
StageFails?Action
Lint/TypesBlock mergeFix locally
TestsBlock mergeFix or update tests
BuildBlock mergeFix build errors
Staging deployBlock prodDebug in staging
Smoke testBlock prodRollback staging, investigate
Prod deployAlert on-callRollback immediately

Docker

Always use multi-stage builds to keep images small. Detect the stack and use the appropriate base image.

Node.js / TypeScript
FROM node:22-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --production=false
COPY . .
RUN npm run build

FROM node:22-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 3000
CMD ["node", "dist/server.js"]
Python
FROM python:3.12-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

FROM python:3.12-slim
WORKDIR /app
COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Go
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o server ./cmd/api

FROM alpine:3.19
WORKDIR /app
COPY --from=builder /app/server .
EXPOSE 8080
CMD ["./server"]
Ruby on Rails
FROM ruby:3.3-slim AS builder
WORKDIR /app
COPY Gemfile Gemfile.lock ./
RUN bundle install --without development test

FROM ruby:3.3-slim
WORKDIR /app
COPY --from=builder /usr/local/bundle /usr/local/bundle
COPY . .
EXPOSE 3000
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]

For other stacks (Java/JVM, .NET, Rust): same pattern — build stage compiles, final stage is minimal. Never copy the build toolchain into the final image.

Rules for all stacks:

  • Always pin base image versions (not latest)
  • Use .dockerignore — never ship build artifacts, .git, or .env files
  • One process per container
  • Add a health check: HEALTHCHECK CMD curl -f http://localhost:<PORT>/health || exit 1

Monitoring

WhatTool OptionsAlert When
UptimeUptimeRobot, ChecklyDown > 30 seconds
ErrorsSentry, DatadogError rate > 1%
LatencyGrafana, Datadogp95 > 2 seconds
ResourcesCloud provider metricsCPU > 80%, memory > 85%
LogsDatadog, Axiom, CloudWatchError patterns, keywords

Rules:

  • Every alert must have a runbook (even a one-liner)
  • If an alert fires and needs no action, delete it — alert fatigue kills
  • Log structured JSON, not printf strings
  • Include request ID in every log line for tracing

Infrastructure Defaults

DecisionDefaultWhy
HostingVercel / Railway / Fly.ioZero-config, scales
DatabaseManaged Postgres (Supabase, Neon, RDS)Don't manage your own DB
CacheUpstash RedisServerless, no ops
QueueInngest, Trigger.dev, or SQSManaged, retries built-in
StorageS3 / R2 / Supabase StorageCheap, reliable
DNSCloudflareFast, free tier
SecretsEnvironment variables via platformNever in code or git

Incident Response

  1. Detect — alert fires or user report
  2. Acknowledge — someone owns it (within 5 min)
  3. Mitigate — rollback, feature flag off, or scale up (fix the bleeding)
  4. Investigate — root cause after bleeding stops
  5. Fix — proper fix with tests
  6. Postmortem — blameless, focus on systems not people

Comments

Markdown supported