Codex: Skills, Sandbox & Exemplos do CLI do Codex
Última atualização: 2026-08-31
O CLI é o modo de uso mais flexível do Codex. Esta lição aborda Skills, configuração de sandbox e exemplos práticos no ambiente CLI.
📋 Pré-requisitos: Compreensão das operações básicas do Codex CLI
1. O Que Você Vai Aprender
- Gerenciamento de Skills no CLI
- Segurança de sandbox em detalhes
- Coleção de exemplos práticos
- Técnicas de prompt no CLI
2. Gerenciamento de Skills no CLI
(1) Listar Skills Disponíveis
codex --list-skills
(2) Usar um Skill
# Especificar Skill para executar tarefa
codex --skill code-review "Review src/auth.ts"
# Combinar opções
codex --skill security --sandbox readonly "Scan for security vulnerabilities"
(3) Localização de Skills Personalizados
# Especificar diretório de Skills
codex --skills-dir ./my-skills "Add login functionality"
(4) Formato de Arquivo de Skill
<!-- .codex/skills/api-endpoint.md -->
# API Endpoint Generator
## Role
FastAPI endpoint development expert
## Rules
- Use Pydantic models
- Include error handling
- Add Swagger documentation
- Write pytest tests
## Workflow
1. Define request/response models
2. Implement endpoint logic
3. Add error handling
4. Write tests
5. Ensure pytest passes
3. Segurança de Sandbox em Detalhes
(1) Métodos de Implementação do Sandbox
| Método | Descrição | Nível de Segurança |
|---|---|---|
| Docker | Isolamento via container | Mais alto |
| chroot | Isolamento de diretório | Médio |
| Nível de processo | Restrições de permissão | Básico |
(2) Configuração de Sandbox Docker
[sandbox]
type = "docker"
image = "codex-sandbox:latest"
memory = "2g"
cpus = 2
timeout = 600
# Montar volumes
volumes = [
"./src:/workspace/src",
"./tests:/workspace/tests",
]
# Variáveis de ambiente
env = { "NODE_ENV" = "test" }
(3) Matriz de Permissões do Sandbox
| Operação | readonly | workspace-write | full-access |
|---|---|---|---|
| Ler arquivos | ✅ | ✅ | ✅ |
| Escrever no workspace | ❌ | ✅ | ✅ |
| Escrever no sistema | ❌ | ❌ | ✅ |
| Executar comandos | ❌ | ⚠️ Confirmar | ✅ |
| Acesso à rede | ❌ | ❌ | ✅ |
▶ Exemplo 1: Configuração de Segurança de Alice
# Config de sandbox de Alice
[sandbox]
type = "docker"
memory = "4g"
cpus = 4
# Operações permitidas
allowed_commands = [
"npm test",
"npm run lint",
"git status",
"git diff",
"tsc --noEmit",
]
# Operações bloqueadas
blocked_commands = [
"rm -rf /",
"sudo",
"curl * | sh",
]
# Limites de recursos
max_file_size = "10MB"
max_execution_time = 300
4. Coleção de Exemplos Práticos
(1) Inicialização de Projeto
codex "Initialize Next.js 14 project: TypeScript + Tailwind + ESLint + Prettier, create standard directory structure"
(2) Correção de Bugs
# Corrigir a partir de log de erro
cat error.log | codex --full-auto "Analyze error log, locate root cause, fix code"
# Corrigir a partir de Issue
codex "Fix Issue #42: Users not receiving verification email after registration"
(3) Geração de Testes
# Gerar testes para todos os arquivos-fonte
codex --full-auto "Generate corresponding .test.ts for all .ts files under src/, using vitest"
# Suplementar cobertura de testes
codex "Check test coverage, supplement tests for files below 80%"
(4) Refatoração de Código
# Migração de framework
codex "Refactor all Class components to functional components + Hooks"
# Migração de API
codex "Migrate REST API calls to tRPC, maintain functionality"
(5) Geração de Documentação
# Documentação de API
codex "Generate OpenAPI/Swagger docs for all API endpoints"
# README
codex "Generate README.md based on project structure and code"
▶ Exemplo 2: O Dia de Bob
# Manhã: puxar código + corrigir lint
git pull
codex --full-auto "Fix all lint errors"
# Meio-dia: nova funcionalidade
codex "Add user avatar upload with crop and compression"
# Tarde: correção de bug
codex "Fix payment timeout issue, add retry mechanism"
# Noite: testes
codex "Supplement integration tests for today's changes"
# Noite: documentação
codex "Update API docs and CHANGELOG"
5. Técnicas de Prompt no CLI
(1) Referências Precisas de Arquivos
# Boa prática
codex "Modify src/auth/login.ts, add 2FA support"
# Má prática
codex "Add a feature to login"
(2) Incluir Verificação
codex "Optimize database query performance, ensure npm test passes, compare execution time before and after optimization"
(3) Execução Passo a Passo
# Tarefa complexa em etapas
codex "Step 1: Create the Order model. Output the model definition when done, I'll confirm before continuing to step 2."
(4) Referenciar Código Existente
codex "Create UserProfile component, follow the style of src/components/UserCard.tsx"
❓ Perguntas Frequentes
P: Skills do CLI são os mesmos que Skills do App? R: Mesmo formato, mas o CLI requer especificação via parâmetro
--skill, enquanto o App permite seleção pela UI.
P: O sandbox afeta a performance? R: Sandbox Docker tem algum overhead de inicialização (~2-5 segundos), mas diferença de performance em runtime é mínima. Sandbox em nível de processo praticamente não tem overhead.
P: O CLI pode executar múltiplas tarefas simultaneamente? R: Abra múltiplas janelas de terminal, cada uma rodando uma instância do Codex. Use Worktrees para evitar conflitos de arquivos.
P: Como vejo logs detalhados de execução do CLI? R: Use parâmetro
--verboseou--log-filepara especificar um arquivo de log.
P: O modo não interativo do CLI pode lidar com solicitações de confirmação? R: Requer
--approval-policy approveou--full-auto. Caso contrário, o modo não interativo travará esperando confirmação.
📖 Resumo
- Skills no CLI:
--skillpara especificar,--list-skillspara ver - Sandbox: Docker é mais seguro, nível de processo é mais leve
- Exemplos práticos: Inicializar / Corrigir bug / Testes / Refatorar / Documentação
- Prompts: referências precisas + incluir verificação + execução passo a passo
📝 Exercícios
- Básico (⭐): Use Skills do CLI para completar um code review.
- Intermediário (⭐⭐): Configure um sandbox Docker, execute uma tarefa dentro dele.
- Avançado (⭐⭐⭐): Escreva um script de automação CLI cobrindo todas as tarefas diárias de desenvolvimento com Codex.