O Codex CLI mudou a forma como escrevemos código: ao invés de digitar linha por linha, passamos a orquestrar tarefas usando IA diretamente no terminal.
Mas tem um detalhe importante:
👉 Usar IA sem boas práticas pode gerar mais problemas do que soluções.
Neste artigo você vai ver:
- Como usar o Codex CLI no dia a dia
- Boas práticas reais (baseadas no guia oficial)
- E principalmente: por que testes são ainda mais importantes com IA
🚀 O que é o Codex CLI?
O Codex CLI é um agente de desenvolvimento que roda no terminal e permite:
- Gerar código com contexto do projeto
- Refatorar código existente
- Criar testes automaticamente
- Automatizar tarefas (CI/CD, scripts, etc.)
Ele funciona como um pair programmer que executa código por você.
⚙️ Setup básico
npm install -g @openai/codex
export OPENAI_API_KEY="your-api-key"
Uso:
codex "Create a REST API with validation and pagination"
🧠 Como pensar ao usar Codex
Mude sua mentalidade:
❌ Antes: eu escrevo código
✅ Agora: eu descrevo o problema e reviso a solução
Fluxo ideal:
- Você define o problema
- Codex gera a solução
- Você revisa
- Você valida (testes!)
🧩 Boas práticas essenciais
1. Dê contexto (isso muda tudo)
❌ Ruim:
codex "fix bug"
✅ Bom:
codex "Fix null reference in UserService when email is missing. Add validation and unit tests."
2. Quebre tarefas grandes
❌ Evite:
codex "Build entire system"
✅ Prefira:
codex "Create authentication service"
codex "Add JWT support"
codex "Write unit tests"
3. Planeje antes de executar
codex "Plan how to migrate this monolith to microservices"
Depois:
codex "Implement step 1 of the plan"
4. Use AGENTS.md
# AGENTS.md
- Use clean architecture
- Prefer repository pattern
- Use xUnit for tests
👉 Isso padroniza o comportamento do Codex no projeto
5. Use intenção, não sintaxe
❌
codex "write a for loop in C#"
✅
codex "Iterate over active users and filter inactive ones"
6. Trabalhe em ciclos curtos
Pequenas mudanças = menos bugs + mais controle
🧪 A parte mais importante: TESTES
Se você só lembrar de uma coisa desse artigo, que seja isso:
❗ Código gerado por IA sem testes é um risco real
A IA gera código que:
- Parece correto
- Compila
- Mas pode estar errado
🧠 Regra de ouro
👉 Se não tem teste, não existe
🧩 Tipos de testes que você DEVE usar
✔️ Unit Test
[Fact]
public void Should_Return_Error_When_Email_Is_Invalid()
{
var service = new UserService();
var result = service.CreateUser("invalid-email");
Assert.False(result.Success);
}
✔️ Integration Test
[Fact]
public async Task Should_Create_User_In_Database()
{
var client = _factory.CreateClient();
var response = await client.PostAsync("/users", content);
Assert.Equal(HttpStatusCode.Created, response.StatusCode);
}
✔️ Regression Test
Sempre rode após usar IA:
dotnet test
⚠️ O que acontece se você NÃO testar
- Bugs silenciosos em produção
- Regressões inesperadas
- Falhas de segurança
- Performance ruim
👉 Quanto mais IA você usa, mais testes você precisa
⚙️ Boas práticas com testes + Codex
✔️ Gere testes junto com código
codex "Create order service with unit tests"
✔️ Crie testes antes de refatorar
codex "Write unit tests for this class before refactoring"
👉 Técnica: test safety net
✔️ Aumente cobertura automaticamente
codex "Increase test coverage and include edge cases"
✔️ Automatize no CI/CD
name: Test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run tests
run: dotnet test
🧱 Exemplos reais de uso
Criar endpoint
codex "Create a .NET API endpoint with validation and error handling"
Otimizar SQL
codex "Optimize this SQL query and suggest indexes"
Refatorar código
codex "Refactor this service to use dependency injection"
⚠️ Erros comuns
| Erro | Problema |
|---|---|
| Prompt genérico | Resultado ruim |
| Tarefa grande demais | Código inconsistente |
| Sem revisão | Bugs |
| Sem contexto | IA “chuta” |
| Sem testes | 💥 produção |
🏁 Conclusão
O Codex CLI muda completamente o jogo:
- Você deixa de escrever código
- E passa a orquestrar código
Mas o sucesso depende disso:
👉 Contexto + Iteração + Testes + Revisão
📌 TL;DR
- Dê contexto claro
- Trabalhe em etapas
- Planeje tarefas grandes
- Use AGENTS.md
- Teste tudo que a IA gerar
- Revise sempre
Top comments (0)