Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #2824

devcontainer-setup

Faz seu agente criar ambientes de desenvolvimento isolados usando Dev Containers. É útil para configurar ferramentas específicas de linguagens e manter projetos organizados.

O que ela faz

Esta ferramenta cria um ambiente de desenvolvimento isolado e pré-configurado para você programar. Ele inclui as ferramentas necessárias para linguagens como Python, Node.js, Rust e Go, além de um editor de código chamado Claude Code.

Quando usar

  • ✓Quando você quer começar um novo projeto de programação.
  • ✓Quando você precisa de um espaço de trabalho limpo e separado para testar código.
  • ✓Quando você quer garantir que seu ambiente de desenvolvimento seja igual ao de outras pessoas.

Exemplo do que pedir para a IA

“Configure um ambiente de desenvolvimento para meu projeto Python.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/devcontainer-setup/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/devcontainer-setup/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa seu projeto para descobrir quais linguagens de programação você está usando. Em seguida, ela gera arquivos de configuração que preparam um ambiente com as ferramentas certas e o editor Claude Code.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill devcontainer-setup

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/devcontainer-setup/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Suporte upstream incluído

Arquivos de suporte são incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.

Skill de Configuração de Devcontainer

Cria um devcontainer pré-configurado com Claude Code e ferramentas específicas de linguagem.

Quando Usar

  • O usuário pede para "configurar um devcontainer" ou "adicionar suporte a devcontainer"
  • O usuário quer um ambiente de desenvolvimento Claude Code em sandbox
  • O usuário precisa de ambientes de desenvolvimento isolados com configuração persistente

Quando NÃO Usar

  • O usuário já tem uma configuração de devcontainer e só precisa de modificações
  • O usuário está perguntando sobre questões gerais de Docker ou contêineres
  • O usuário quer implantar contêineres de produção (isto é apenas para desenvolvimento)

Fluxo de Trabalho

flowchart TB
    start([User requests devcontainer])
    recon[1. Project Reconnaissance]
    detect[2. Detect Languages]
    generate[3. Generate Configuration]
    write[4. Write files to .devcontainer/]
    done([Done])

    start --> recon
    recon --> detect
    detect --> generate
    generate --> write
    write --> done

Fase 1: Reconhecimento do Projeto

Inferir Nome do Projeto

Verifique em ordem (use a primeira correspondência):

  1. package.json → campo name
  2. pyproject.toml → project.name
  3. Cargo.toml → package.name
  4. go.mod → caminho do módulo (último segmento após /)
  5. Nome do diretório como fallback

Converter para slug: minúsculas, substituir espaços/sublinhados por hifens.

Detectar Stack de Linguagem

Linguagem Arquivos de Detecção
Python pyproject.toml, *.py
Node/TypeScript package.json, tsconfig.json
Rust Cargo.toml
Go go.mod, go.sum

Projetos Multi-Linguagem

Se várias linguagens forem detectadas, configure todas elas na seguinte ordem de prioridade:

  1. Python - Linguagem primária, usa Dockerfile para uv + instalação de Python
  2. Node/TypeScript - Usa recurso de devcontainer
  3. Rust - Usa recurso de devcontainer
  4. Go - Usa recurso de devcontainer

Para postCreateCommand multi-linguagem, encadeie todos os comandos de configuração:

uv run /opt/post_install.py && uv sync && npm ci

Extensões e configurações de todas as linguagens detectadas devem ser mescladas na configuração.

Fase 2: Gerar Configuração

Comece com os templates base do diretório resources/. Substitua:

  • {{PROJECT_NAME}} → Nome legível por humanos (ex: "Meu Projeto")
  • {{PROJECT_SLUG}} → Slug para volumes (ex: "meu-projeto")

Em seguida, aplique modificações específicas de linguagem abaixo.

Recursos do Template Base

O template base inclui:

  • Claude Code com plugins do marketplace (anthropics/skills, trailofbits/skills, trailofbits/skills-curated)
  • Python 3.13 via uv (download binário rápido)
  • Node 22 via fnm (Fast Node Manager)
  • ast-grep para busca de código baseada em AST
  • Ferramentas de isolamento de rede (iptables, ipset) com capacidade NET_ADMIN
  • Ferramentas CLI modernas: ripgrep, fd, fzf, tmux, git-delta

Seções Específicas de Linguagem

Projetos Python

Detecção: arquivos pyproject.toml, requirements.txt, setup.py ou *.py

Adições ao Dockerfile:

O Dockerfile base já inclui Python 3.13 via uv. Se uma versão diferente for necessária (detectada a partir de pyproject.toml), modifique a instalação do Python:

# Install Python via uv (fast binary download, not source compilation)
RUN uv python install <version> --default

Extensões do devcontainer.json:

Adicione a customizations.vscode.extensions:

"ms-python.python",
"ms-python.vscode-pylance",
"charliermarsh.ruff"

Adicione a customizations.vscode.settings:

"python.defaultInterpreterPath": ".venv/bin/python",
"[python]": {
  "editor.defaultFormatter": "charliermarsh.ruff",
  "editor.codeActionsOnSave": {
    "source.organizeImports": "explicit"
  }
}

postCreateCommand: Se pyproject.toml existir, encadeie os comandos:

rm -rf .venv && uv sync && uv run /opt/post_install.py

Projetos Node/TypeScript

Detecção: package.json ou tsconfig.json

Nenhuma adição ao Dockerfile necessária: O template base inclui Node 22 via fnm (Fast Node Manager).

Extensões do devcontainer.json:

Adicione a customizations.vscode.extensions:

"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"

Adicione a customizations.vscode.settings:

"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
  "source.fixAll.eslint": "explicit"
}

postCreateCommand:

…

Perguntas frequentes

O que é um 'devcontainer'?

É um contêiner (um ambiente isolado) configurado especificamente para desenvolvimento de software, garantindo que todas as ferramentas necessárias estejam prontas para usar.

O que são 'volumes persistentes'?

São espaços de armazenamento que mantêm seus arquivos e configurações mesmo depois que o ambiente de desenvolvimento é desligado, garantindo que você não perca seu trabalho.

Posso usar isso para colocar meu site no ar (produção)?

Não, esta ferramenta é apenas para configurar seu ambiente de desenvolvimento local. Ela não é feita para rodar aplicações em produção.

Detalhes

Descrição original do autor

Creates devcontainers with Claude Code, language-specific tooling (Python/Node/Rust/Go), and persistent volumes. Use when adding devcontainer support to a project, setting up isolated development environments, or configuring sandboxed Claude Code workspaces.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2824
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas