Docker ve container geliştirme için agent skill ve plugin olup Dockerfile optimizasyonu, docker-compose orkestrasyonu, multi-stage build'ler ve container güvenlik sağlamlaştırması sunur. Kullanıcı Dockerfile'ı optimize etmek, docker-compose konfigürasyonu oluşturmak veya iyileştirmek, multi-stage build'ler uygulamak, container güvenliğini denetlemek, image boyutunu azaltmak veya container best practice'lerini takip etmek istediğinde kullanılır. Build performansını kapsar.
cd ~/.claude/skills
git clone https://github.com/alirezarezvani/claude-skills.git claude-skills mkdir -p ~/.claude/skills/docker-development
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/claude-skills/HEAD/.gemini/skills/docker-development/SKILL.md \
-o ~/.claude/skills/docker-development/SKILL.md Daha küçük imajlar. Daha hızlı derlemeler. Güvenli konteynerler. Tahmin yok.
Şişkin Dockerfile'ları production-grade konteynerlerine dönüştüren fikri belirlenmiş Docker iş akışı. Optimizasyon, çok aşamalı derlemeler, compose orkestrasyonu ve güvenlik sağlamlaştırmasını kapsar.
Docker öğreticisi değil — zamanı, alanı veya saldırı yüzeyini boşa harcamayan konteynerler oluşturma hakkında somut kararlar seti.
| Komut | Ne yapar |
|---|---|
/docker:optimize |
Bir Dockerfile'ı boyut, hız ve katman önbelleği için analiz eder ve optimize eder |
/docker:compose |
En iyi uygulamalarla docker-compose.yml oluşturur veya iyileştirir |
/docker:security |
Bir Dockerfile veya çalışan konteyner için güvenlik sorunlarını denetler |
Kullanıcıdan gelen bu desenleri tanıyın:
Kullanıcının bir Dockerfile'ı varsa veya birşeyi konteynerleştirmek istiyorsa → bu beceri uygulanır.
/docker:optimize — Dockerfile OptimizasyonuMevcut durumu analiz et
Optimizasyon kontrol listesini uygula
BASE IMAGE
├── Belirli etiketler kullan, production'da asla :latest
├── slim/alpine varyantlarını tercih et (debian-slim > ubuntu > debian)
├── CI'de yeniden üretilebilirlik için özeti sabitle: image@sha256:...
└── Base'i çalışma zamanı ihtiyaçlarına eşle (derlenmiş ikili için python:3.12 kullanma)
LAYER OPTIMIZATION
├── İlişkili RUN komutlarını && \ ile birleştir
├── Katman sıraı: değişmeyen ilk (bağımlılıklar kaynak kodundan önce)
├── Paket yöneticisi önbelleğini aynı RUN katmanında temizle
├── .dockerignore kullanarak gereksiz dosyaları hariç tut
└── Derleme bağımlılıklarını çalışma zamanı bağımlılıklarından ayır
BUILD CACHE
├── Kaynak kodundan önce bağımlılık dosyalarını COPY et (package.json, requirements.txt, go.mod)
├── Bağımlılıkları kod kopyasından ayrı bir katmanda kur
├── BuildKit önbellek bağlantılarını kullan: --mount=type=cache,target=/root/.cache
└── Bağımlılık yüklemesinden önce COPY . . kullanmaktan kaçın
MULTI-STAGE BUILDS
├── Aşama 1: derleme (tam SDK, derleme araçları, geliştirme bağımlılıkları)
├── Aşama 2: çalışma zamanı (minimal base, yalnızca üretim yapıtları)
├── COPY --from=builder yalnızca gerekli olanları
└── Son imaj hiçbir derleme aracı, kaynak kod veya geliştirme bağımlılığı içermemeli
Optimize edilmiş Dockerfile oluştur
Doğrula
python3 scripts/dockerfile_analyzer.py Dockerfile
/docker:compose — Docker Compose KonfigürasyonuHizmetleri tanımla
Compose en iyi uygulamalarını uygula
SERVICES
├── depends_on'u condition: service_healthy ile kullan
├── Her hizmet için healthcheck ekle
├── Kaynak sınırlarını ayarla (mem_limit, cpus)
├── Kalıcı veriler için adlandırılmış volume'ler kullan
└── İmaj sürümlerini sabitle
NETWORKING
├── Açık networkler oluştur (varsayılana güvenme)
├── Frontend ve backend networklerini ayır
├── Yalnızca dış erişim gerektiren portları expose et
└── Sadece backend networkler için internal: true kullan
ENVIRONMENT
├── Gizli bilgiler için env_file kullan, satır içinde değil
├── Asla .env dosyalarını commit etme (.gitignore'a ekle)
├── Değişken ikamesini kullan: ${VAR:-default}
└── Tüm gerekli ortam değişkenlerini belgelendir
DEVELOPMENT vs PRODUCTION
├── Compose profilleri veya override dosyaları kullan
├── Geliştirme: sıcak yükleme için bind mount'lar, debug portları açık
├── Production: adlandırılmış volume'ler, debug portları kapalı, restart: unless-stopped
└── docker-compose.override.yml geliştirme-yalnızca konfigürasyonu için
Compose dosyası oluştur
/docker:security — Konteyner Güvenlik DenetimiDockerfile denetimi
| Kontrol | Önem Derecesi | Çözüm |
|---|---|---|
| Root olarak çalışıyor | Kritik | Kullanıcı oluşturduktan sonra USER nonroot ekle |
| :latest etiketi kullanıyor | Yüksek | Belirli bir sürüme sabitle |
| ENV/ARG'da gizli bilgiler | Kritik | BuildKit gizli bağlantılarını kullan: --mount=type=secret |
| Geniş glob ile COPY | Orta | Belirli yollar kullan, .dockerignore ekle |
| Gereksiz EXPOSE | Düşük | Yalnızca uygulamanın kullandığı portları expose et |
| Healthcheck yok | Orta | Uygun aralıkla HEALTHCHECK ekle |
| Ayrıcalıklı talimatlar | Yüksek | --privileged kullanmaktan kaçın, yetenekleri düşür |
| Paket yöneticisi önbelleği kaldı | Düşük | Aynı RUN katmanında temizle |
Çalışma zamanı güvenlik kontrolleri
| Kontrol | Önem Derecesi | Çözüm |
|---|---|---|
| Konteyner root olarak çalışıyor | Kritik | Dockerfile'da veya compose'da kullanıcı ayarla |
| Yazılabilir root dosya sistemi | Orta | Compose'da read_only: true kullan |
| Tüm yetenekler korundu | Yüksek | Tümünü düşür, yalnızca gerekli olanları ekle: cap_drop: [ALL] |
| Kaynak sınırı yok | Orta | mem_limit ve cpus ayarla |
| Host network modu | Yüksek | Bridge veya custom network kullan |
| Hassas mount'lar | Kritik | Asla /etc, /var/run/docker.sock production'da mount etme |
| Günlük sürücü yapılandırılmadı | Düşük | Boyut sınırlarıyla logging: ayarla |
Güvenlik raporu oluştur
SECURITY AUDIT — [Dockerfile/Image adı]
Date: [timestamp]
CRITICAL: [count]
HIGH: [count]
MEDIUM: [count]
LOW: [count]
[Ayrıntılı bulguların ve çözüm önerileri]
scripts/dockerfile_analyzer.pyDockerfile'ların statik analizi için CLI yardımcı programı.
Özellikler:
Kullanım:
# Bir Dockerfile'ı analiz et
python3 scripts/dockerfile_analyzer.py Dockerfile
# JSON çıktısı
python3 scripts/dockerfile_analyzer.py Dockerfile --output json
# Güvenlik odağıyla analiz et
python3 scripts/dockerfile_analyzer.py Dockerfile --security
# Belirli bir dizini kontrol et
python3 scripts/dockerfile_analyzer.py path/to/Dockerfile
scripts/compose_validator.pyDocker-compose dosyalarını doğrulamak için CLI yardımcı programı.
Özellikler:
Kullanım:
# Bir compose dosyasını doğrula
python3 scripts/compose_validator.py docker-compose.yml
# JSON çıktısı
python3 scripts/compose_validator.py docker-compose.yml --output json
# Katı mod (uyarılarda başarısız ol)
python3 scripts/compose_validator.py docker-compose.yml --strict
# Derleme aşaması
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o /app/server ./cmd/server
# Çalışma zamanı aşaması
FROM gcr.io/distroless/static-debian12
COPY --from=builder /app/server /server
USER nonroot:nonroot
ENTRYPOINT ["/server"]
# Bağımlılıklar aşaması
FROM node:20-alpine AS deps
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --production=false
# Derleme aşaması
FROM deps AS builder
COPY . .
RUN npm run build
# Çalışma zamanı aşaması
FROM node:20-alpine
WORKDIR /app
RUN addgroup -g 1001 -S appgroup && adduser -S appuser -u 1001
COPY --from=builder /app/dist ./dist
COPY --from=deps /app/node_modules ./node_modules
COPY package.json ./
USER appuser
EXPOSE 3000
CMD ["node", "dist/index.js"]
# Derleme aşaması
FROM python:3.12-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
# Çalışma zamanı aşaması
FROM python:3.12-slim
WORKDIR /app
RUN groupadd -r appgroup && useradd -r -g appgroup appuser
COPY --from=builder /install /usr/local
COPY . .
USER appuser
EXPOSE 8000
CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Derlenmiş bir ikili mi (Go, Rust, C)?
├── Evet → distroless/static veya scratch
└── Hayır
├── Hata ayıklama için shell gerekli mi?
│ ├── Evet → alpine varyantı (örn. node:20-alpine)
│ └── Hayır → distroless varyantı
├── glibc gerekli mi (musl değil)?
│ ├── Evet → slim varyantı (örn. python:3.12-slim)
│ └── Hayır → alpine varyantı
└── Belirli OS paketleri gerekli mi?
├── Çok sayıda → debian-slim
└── Az sayıda → alpine + apk add
Sorulmadan bunları işaretle:
.git, node_modules, __pycache__, .env.rm -rf /var/lib/apt/lists/* aynı RUN'da.git clone https://github.com/alirezarezvani/claude-skills.git
cp -r claude-skills/engineering/docker-development ~/.claude/skills/
./scripts/convert.sh --skill docker-development --tool codex|gemini|cursor|windsurf|openclaw
clawhub install cs-docker-development
.png ve .pdf dosyalarında tasarım felsefesini kullanarak güzel görseller oluşturun. Poster, sanat eseri, tasarım veya diğer statik içerikler için bu özelliği kullanabilirsiniz. Telif hakkı ihlallerinden kaçınmak için her zaman orijinal tasarımlar yaratın, mevcut sanatçıların çalışmalarını kopya etmeyin.
Kullanıcıları belgelendirme konusunda işbirlikçi yazım için yapılandırılmış bir workflow içinde rehber etmek için kullanılır. Kullanıcı belgelendirme, teknik özellikler, karar dokümanları veya benzer yapılandırılmış içerik yazma istediğinde harekete geçer. Bu workflow, bağlamı verimli bir şekilde aktarmaya, içeriği yinelemelerle geliştirmeye ve dokümanın okuyucular için işe yaradığını doğrulamaya yardımcı olur.
Bu skill'i kullanıcı Word belgesi (.docx dosyası) oluşturmak, okumak, düzenlemek veya manipüle etmek istediğinde kullanın. İçindekiler tablosu, başlık, sayfa numarası veya mektup başlığı gibi formatlı profesyonel belge talepleri, "Word doc", "word document" veya ".docx" ifadeleri geçtiğinde tetiklenir. .docx dosyalarından içerik çıkarma veya yeniden düzenleme, görsel ekleme veya değiştirme işlemleri için de kullanılır.
Kullanıcı PDF dosyaları ile herhangi bir işlem yapmak istediğinde bu skill'i kullanın. Buna PDF'lerden metin/tablo okuma ve çıkarma, birden fazla PDF'yi birleştirme, PDF'leri bölme, sayfaları döndürme, filigran ekleme, yeni PDF oluşturma, PDF formlarını doldurma, PDF şifreleme/şifre açma, görüntü çıkarma ve taranmış PDF'lerde OCR uygulaması dahildir. Kullanıcı bir .pdf dosyasından bahsettiğinde veya
Bu skill'i .pptx dosyalarıyla çalışmanız gereken her durumda kullanın — giriş, çıkış veya her ikisi için de. Sunum oluşturma, slayt destesi hazırlama, metnini okuma ve çıkarma, düzenleme veya güncelleme, dosyaları birleştirme ve bölme gibi tüm işlemleri kapsar.
Artifaktları tema ile stilize etmek için toolkit. Slaytlar, dokümanlar, raporlar, HTML landing page'ler gibi çeşitli artifaktlara uygulanabilir. 10 hazır tema ile renkler ve fontları seçebilir ya da anında yeni tema oluşturabilirsiniz.