Codex: Ferramenta de Linha de Comando do Codex
Última atualização: 2026-08-31
O Codex CLI é o método mais popular entre desenvolvedores. Esta lição aborda uso avançado do CLI e configuração.
📋 Pré-requisitos: CLI instalado (veja Lição 2), conhecimento básico de comandos
1. O Que Você Vai Aprender
- Parâmetros avançados do CLI
- Arquivos de configuração do CLI
- Controle de formato de saída
- Integração com outras ferramentas
2. Parâmetros Avançados do CLI
(1) Lista Completa de Parâmetros
| Parâmetro | Descrição | Exemplo |
|---|---|---|
--model |
Especificar modelo | --model o3 |
--sandbox |
Modo sandbox | --sandbox readonly |
--approval-policy |
Política de aprovação | --approval-policy approve |
--auto-edit |
Modo Auto Edit | — |
--full-auto |
Modo Full Auto | — |
--quiet |
Modo silencioso, menos saída | — |
--json |
Saída em formato JSON | — |
--context |
Especificar arquivos de contexto | --context AGENTS.md |
--system-prompt |
Prompt de sistema personalizado | --system-prompt "You are..." |
--max-tokens |
Contagem máxima de tokens de saída | --max-tokens 4096 |
--temperature |
Parâmetro de temperatura | --temperature 0.2 |
(2) Combinações Comuns
# Revisão de código somente leitura
codex --sandbox readonly "Review code security"
# Auto-corrigir erros de lint
codex --full-auto --approval-policy approve "Fix all lint errors"
# Modelo específico + modo silencioso
codex --model o3 --quiet "Refactor auth module"
# Prompt de sistema personalizado
codex --system-prompt "You are a Rust expert, follow Rust API Guidelines" "Optimize algorithm performance"
3. Arquivos de Configuração do CLI
(1) Configuração Global
# ~/.codex/config.toml
model = "gpt-5-codex"
approval_policy = "ask"
sandbox_mode = "workspace-write"
[output]
format = "text" # text / json / markdown
color = true
progress = true
[context]
auto_compact = true
max_files = 50
exclude = ["node_modules/", ".git/", "dist/"]
(2) Configuração de Projeto
# .codex/config.toml
model = "deepseek-coder"
approval_policy = "approve"
[context]
include = ["src/**/*.ts", "tests/**/*.ts"]
▶ Exemplo 1: Configuração CLI de Alice
# Config global de Alice
model = "gpt-5-codex"
approval_policy = "ask"
[output]
format = "text"
color = true
[context]
auto_compact = true
exclude = ["node_modules/", ".next/", "dist/", "coverage/"]
[sandbox]
mode = "workspace-write"
blocked_paths = [".env", ".env.local", "secrets/"]
4. Modo Não-Interativo
O Codex CLI suporta modo não-interativo, ideal para integração com scripts:
(1) Execução Única
# Passar tarefa diretamente, sai após execução
codex --quiet "Add type annotations to app.py"
# Saída para arquivo
codex --quiet "Generate API documentation" > api-docs.md
(2) Entrada via Pipe
# Ler de stdin
echo "Explain this code" | codex --quiet
# Ler de arquivo
cat error.log | codex --quiet "Analyze error log, find root cause"
# Combinar com git
git diff | codex --quiet "Review these changes"
(3) Saída JSON
# Saída em formato JSON, adequada para parsing programático
codex --json "List all TODO comments" > todos.json
Exemplo de saída JSON:
{
"task": "List all TODO comments",
"status": "completed",
"files_modified": [],
"files_read": ["src/main.ts", "src/utils.ts"],
"result": "Found 5 TODO comments:\n- src/main.ts:12\n- src/utils.ts:45\n..."
}
5. Integração com Outras Ferramentas
(1) Git Hooks
# pre-commit hook: auto-fix lint
# .git/hooks/pre-commit
#!/bin/bash
codex --full-auto --quiet "Fix all lint errors"
git add -A
(2) Integração CI/CD
# GitHub Actions
- name: Code Review
run: |
codex --sandbox readonly --quiet "Review PR changes, focusing on security and performance"
(3) Integração com Makefile
# Makefile
lint-fix:
codex --full-auto "Fix all lint errors"
test-gen:
codex --full-auto "Generate unit tests for all files under src/"
review:
codex --sandbox readonly "Review current changes"
▶ Exemplo 2: Fluxo de Trabalho Automatizado de Bob
# Script daily-dev.sh de Bob
#!/bin/bash
# Pull código mais recente
git pull origin main
# Auto-fix lint
codex --full-auto --quiet "Fix all lint errors"
# Gerar testes faltantes
codex --full-auto --quiet "Generate unit tests for source files without tests"
# Executar testes
npm test
# Se todos passarem, commit
if [ $? -eq 0 ]; then
git add -A
git commit -m "chore: auto lint-fix and test generation"
fi
6. Depuração e Logging
# Modo de saída verbose
codex --verbose "Fix bug"
# Salvar log
codex --log-file codex.log "Fix bug"
# Ver registros de auditoria
cat ~/.codex/audit.log
❓ Perguntas Frequentes
P: Posso rodar CLI e App simultaneamente? R: Sim, mas não recomendado no mesmo projeto simultaneamente. Projetos diferentes podem ser usados em paralelo.
P: O modo não-interativo suporta todos os recursos? R: A maioria dos recursos é suportada, mas recursos de confirmação interativa como Computer Use são limitados no modo não-interativo.
P: Como limito o tempo de execução do CLI? R: Use o comando timeout do sistema:
timeout 300 codex --quiet "Fix bug".
P: Qual é o formato completo da saída JSON? R: Contém campos task, status, files_modified, files_read, result. Execute
codex --json --helppara ver o schema completo.
P: O Codex pode modificar arquivos no modo pipe? R: Sim, mas requer
--approval-policy approveou--full-auto. O modo ask padrão vai travar aguardando confirmação em um pipe.
📖 Resumo
- Parâmetros avançados do CLI:
--model/--sandbox/--quiet/--json - Modo não-interativo: execução única, entrada via pipe, saída JSON
- Cenários de integração: Git Hooks, CI/CD, Makefile
- Prioridade de configuração: args CLI > variáveis de ambiente > projeto > global
📝 Exercícios
- Básico (⭐): Use o modo não-interativo do CLI para uma revisão de código, saída para arquivo.
- Intermediário (⭐⭐): Crie um Makefile integrando tarefas comuns do Codex.
- Avançado (⭐⭐⭐): Escreva um Git Hook que faz o Codex revisar automaticamente a qualidade das mudanças antes de cada commit.