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


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

BASH
# 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

TOML
# ~/.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

TOML
# .codex/config.toml

model = "deepseek-coder"
approval_policy = "approve"

[context]
include = ["src/**/*.ts", "tests/**/*.ts"]

▶ Exemplo 1: Configuração CLI de Alice

TOML
# 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

BASH
# 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

BASH
# 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

BASH
# Saída em formato JSON, adequada para parsing programático
codex --json "List all TODO comments" > todos.json

Exemplo de saída JSON:

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

BASH
# 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

YAML
# GitHub Actions
- name: Code Review
  run: |
    codex --sandbox readonly --quiet "Review PR changes, focusing on security and performance"

(3) Integração com Makefile

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

BASH
# 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

BASH
# 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 --help para ver o schema completo.

P: O Codex pode modificar arquivos no modo pipe? R: Sim, mas requer --approval-policy approve ou --full-auto. O modo ask padrão vai travar aguardando confirmação em um pipe.


📖 Resumo


📝 Exercícios

  1. Básico (⭐): Use o modo não-interativo do CLI para uma revisão de código, saída para arquivo.
  2. Intermediário (⭐⭐): Crie um Makefile integrando tarefas comuns do Codex.
  3. Avançado (⭐⭐⭐): Escreva um Git Hook que faz o Codex revisar automaticamente a qualidade das mudanças antes de cada commit.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%