skills/infrastructure/dockerfile-generator/SKILL.md
Skill para gerar Dockerfiles, entrypoints, Makefiles e .dockerignore automaticamente seguindo melhores práticas.
npx skillsauth add lucasbiason/cursor-multiagent-system dockerfile-generatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Geração automática de Dockerfiles multi-stage, entrypoints, Makefiles e .dockerignore seguindo as melhores práticas do cursor-multiagent-system.
Aplicar esta skill quando:
Templates disponíveis em core/templates/:
core/templates/django/Dockerfilecore/templates/fastapi-project/basic/Dockerfile e with-framework/Dockerfilecore/templates/entrypoint/nodejs-entrypoint.sh (entrypoint)core/templates/entrypoint/react-entrypoint.sh (entrypoint)Uso:
# Copiar template Django
cp core/templates/django/Dockerfile ./Dockerfile
cp core/templates/django/.dockerignore ./.dockerignore
cp core/templates/django/Makefile ./Makefile
cp core/templates/django/entrypoint.sh ./entrypoint.sh
Quando implementado, usar API HTTP para geração dinâmica:
# Exemplo de chamada à API
curl -X POST http://localhost:4000/generate \
-H "Content-Type: application/json" \
-d '{
"framework": "django",
"package_manager": "poetry",
"python_version": "3.11",
"project_name": "myapp",
"tests": true,
"artifacts": ["dockerfile", "entrypoint", "makefile", "dockerignore"]
}'
django - Django com gunicornfastapi - FastAPI com uvicorn/gunicornnode - Node.js/Expressreact - React (Vite) com nginxpoetry - Poetry (pyproject.toml)pip - pip (requirements.txt)python_version: 3.11, 3.12 (padrão: 3.11)node_version: 18, 20 (padrão: 18)tests: true/false - Incluir stage de testeshealthcheck: true/false - Incluir healthchecknon_root: true/false - Usar usuário não-root (padrão: true)# Stage 1: Builder
FROM python:3.11-slim AS builder
# Instala dependências, roda testes, coleta static files
# Stage 2: Test (opcional)
FROM builder AS test
# Roda testes isoladamente
# Stage 3: Runtime
FROM python:3.11-slim AS runtime
# Imagem final minimalista
set -euo pipefailwait_for_db(), check_dependencies()dev, prod, test, migrate, shell, healthexec "$@" para forward de sinaisbuild, build-test, test, run, run-dev, scan, cleanmake helpIMAGE_NAME, TAG, REGISTRY__pycache__, venv, .git, .env, tests/, *.logMulti-stage build obrigatório:
builder: Dependências e buildruntime: Imagem final minimalistaOtimização de cache:
requirements.txt/pyproject.toml primeiroSegurança:
appuser)Healthcheck:
/health/ endpointLabels OCI:
org.opencontainers.image.titleorg.opencontainers.image.descriptionorg.opencontainers.image.vendorSempre usar:
set -euo pipefailexec "$@" no finalFunções obrigatórias:
wait_for_db() - Aguardar banco (opcional)check_dependencies() - Verificar dependênciasComandos padrão:
dev - Desenvolvimentoprod - Produçãotest - Testesmigrate - Migrationshealth - Health checkTargets obrigatórios:
build - Build da imagemtest - Rodar testesrun - Executar containerhelp - Mostrar ajudaDocumentação:
##Variáveis:
IMAGE_NAME - Nome da imagemTAG - Tag da imagem (padrão: latest)# Opção 1: Copiar template
cp core/templates/django/Dockerfile ./Dockerfile
# Opção 2: Gerar via API (quando disponível)
curl -X POST http://localhost:4000/generate \
-H "Content-Type: application/json" \
-d '{
"framework": "django",
"package_manager": "poetry",
"python_version": "3.11",
"project_name": "myapp",
"tests": true
}'
# Copiar template
cp core/templates/entrypoint/fastapi-entrypoint.sh ./entrypoint.sh
# Ajustar para projeto específico
# - Ajustar WSGI_MODULE se necessário
# - Ajustar comandos de migration (alembic)
# Copiar template Django
cp core/templates/django/Makefile ./Makefile
# Ajustar variáveis
# IMAGE_NAME=myapp
# PYTHON_VERSION=3.11
Gere Dockerfile multi-stage, entrypoint.sh e Makefile para um projeto Django usando Poetry.
Parâmetros:
- project_name: portal
- python_version: 3.11
- tests: true
- package_manager: poetry
Use os templates de core/templates/django/ e ajuste conforme necessário.
Crie um Dockerfile multi-stage para este projeto Django seguindo as melhores práticas:
- Usar template de core/templates/django/Dockerfile
- Ajustar para usar Poetry (pyproject.toml)
- Incluir stage de testes
- Configurar usuário não-root
- Adicionar healthcheck
Após gerar os arquivos, validar:
set -euo pipefail e exec "$@"core/templates/django/core/templates/fastapi-project/core/templates/entrypoint/skills/infrastructure/docker-entrypoint/SKILL.mdskills/infrastructure/docker-compose/SKILL.mdcore/templates/django/DOCKERFILE_GUIDE.mdMicro-serviço HTTP para geração dinâmica:
// Exemplo de implementação futura
POST /generate
{
"framework": "django",
"package_manager": "poetry",
"python_version": "3.11",
"project_name": "myapp",
"tests": true,
"artifacts": ["dockerfile", "entrypoint", "makefile", "dockerignore"]
}
Benefícios:
Última Atualização: 2026-01-21
testing
Execução e análise de testes automatizados
development
Gera resumos didáticos extensos e estruturados de aulas/cursos para cards do Notion. Use ao resumir aulas, apostilas, transcrições ou materiais de estudo para incluir no corpo do card (não apenas no campo Descrição), com flashcards, exemplos de código, diagramas Mermaid, mapa conceitual e perguntas de reforço.
development
Padroniza documentação existente no formato canônico Spec-Driven. Remove duplicação e melhora rastreabilidade.
development
Processo universal e repetível para criar especificações a partir de qualquer input (texto, docs, código). Usado em Plan mode.