O que você precisa
- Celular com ChatGPT e modo de voz
- Fone (crítico — microfone do celular no carro erra demais)
- Uma máquina que fica ligada em casa com o projeto
- Codex configurado
- Claude Code instalado na máquina
Preparar a máquina antes de sair
Cinco minutos que evitam duas horas de frustração.
Desligue a suspensão automática. Se a máquina hibernar no meio, o processo morre e você só descobre 40 minutos depois, parado no farol. Nas configurações de energia, tela pode apagar — a máquina não pode dormir.
Deixe na tomada e com a tampa aberta. Bateria que acaba mata a sessão do mesmo jeito que hibernação. E se mora gente com você, avise que o notebook fica aberto de propósito — tampa fechada é fim de sessão, e quem fechou só quis ser gentil.
Deixe tudo autenticado. Toda credencial, token e login resolvidos antes de sair. Você não vai conseguir digitar senha pelo áudio, e nem deveria.
Abra o projeto e deixe rodando. O ambiente de pé, dependências instaladas, o servidor local subindo se for o caso.
Teste o acesso remoto antes de precisar. Saia de casa, entre no 4G e confirme que alcança a máquina. Testar no wi-fi de casa não vale.
Como a cadeia funciona
- Você (voz)
- ChatGPT modo de voz
- Codex
- Claude Code
- seu projeto
Por que três e não um: se você falar direto com um agente de código, gasta metade do tempo corrigindo transcrição e a outra metade dando contexto. O ChatGPT no meio absorve a imprecisão da fala — ele aguenta você mudando de ideia no meio da frase, com ruído de carro. O Claude Code no fim carrega o contexto do repositório inteiro.
Cada um cobre o buraco do outro.
A peça que liga tudo está na configuração do Codex.
Não tem plumbing complicado, não tem servidor no meio, não tem gambiarra. O Codex já vem preparado pra isso — você só precisa conceder a permissão.
Quando você ativa o Codex, entre nas configurações dele e habilite o controle da sua máquina. É essa autorização que faz ele deixar de ser um assistente que sugere e passar a ser um agente que executa no seu computador.
A partir daí a cadeia fecha sozinha: você fala com o ChatGPT, o Codex já tem permissão de agir na máquina, e o trabalho acontece.
É por isso que eu clico algumas vezes durante o dia. Não é digitação — são as autorizações. O Codex pede confirmação, e é bom que peça.
Onde ficam as permissões
São duas telas diferentes, e as duas importam. Abra as configurações do app e comece pela primeira.
Permissões padrão
Por padrão, o ChatGPT pode ler e editar arquivos no workspace dele. Ele pode solicitar acesso adicional quando necessário.
Revisão automática
Ele analisa sozinho os pedidos de acesso adicional, em vez de parar e esperar você.
Acesso total
Ele edita qualquer arquivo do computador e roda comandos com acesso à rede sem pedir aprovação.
Ligue Revisão automática e Acesso total. Ligadas as duas, a primeira fica implícita.
É esse par que faz o trabalho andar sem você. Sem eles, ele encosta na primeira permissão que falta e fica parado esperando um clique — e você está dirigindo, sem tela. Você chega em casa e descobre que ele passou 40 minutos parado numa caixa de diálogo.
A segunda tela
Qualquer app
Permite que ele controle aplicativos no seu computador, não só o editor.
Google Chrome
Precisa da extensão do navegador instalada. É o que deixa ele abrir o site e conferir se o que fez funcionou.
Microsoft Excel
Só se você mexe com planilha. Se não mexe, tanto faz.
Uso bloqueado
Deixa ele usar o Mac com a tela bloqueada.
No menu lateral, Uso do computador fica em Integrações — não em Geral.
Não pule o "Uso bloqueado". Sua máquina está em casa, sozinha, com a tela bloqueada — é exatamente o cenário. Sem essa opção, ele para no segundo em que a tela bloqueia e você perde a sessão inteira sem saber.
Aqui eu abro mão de uma coisa, e é honesto dizer. Com Acesso total ligado, ele para de perguntar. Ganhei o trabalho andando sozinho e perdi o freio. Por isso a regra 4 do prompt de abertura existe: o que a permissão deixou de barrar, a instrução barra.
Se você prefere ser consultado, deixe só a Revisão automática ligada e não ligue o Acesso total. Ele vai andar bem menos sozinho — mas para em cada decisão grande. É uma troca legítima, e no começo talvez seja a certa.
O prompt de abertura da sessão
Cole isto no ChatGPT antes de começar a falar. É o que faz a diferença entre uma conversa produtiva e 40 minutos de mal-entendido.
Vamos trabalhar por voz. Estou dirigindo ou andando, sem tela.
Regras da nossa conversa:
1. Nunca me leia código em voz alta. Se precisar me mostrar código,
diga apenas o arquivo, a função e o que mudou em uma frase.
2. Me responda sempre em linguagem natural, curta. Um parágrafo, no
máximo dois. Se a resposta for longa demais pra ouvir, ela está errada.
3. Minha fala vai ter erro de transcrição. Se algo não fizer sentido,
interprete pelo contexto do projeto antes de me perguntar. Só pergunte
se realmente ficou ambíguo.
4. Antes de qualquer alteração destrutiva — apagar arquivo, migração
de banco, deploy, reescrever mais de um arquivo — pare e me pergunte.
Descreva o que vai fazer em uma frase e espere eu confirmar.
5. A cada tarefa concluída, faça commit com mensagem descritiva. Eu vou
revisar pelo git log depois, então a mensagem é o meu relatório.
6. Se eu pedir algo que exige precisão de caractere (regex, query
complexa, nome exato de variável), me avise que isso é melhor eu fazer
sentado, e siga para o próximo item.
Confirme que entendeu e me diga em que ponto o projeto está.
Como falar durante a sessão
Descreva comportamento, não implementação. "Quando o usuário clicar aqui, tem que acontecer isso" funciona muito melhor que tentar ditar código.
Conte a história inteira. Digitando você escreveria "arruma esse bug". Falando, conte o contexto todo — leva 20 segundos e a resposta melhora muito. Contexto que você não digitaria por preguiça, você fala sem perceber.
Peça o resumo antes de seguir. "Me conta em uma frase o que você fez" a cada tarefa. É o que evita chegar em casa e descobrir que ele foi para o lado errado 40 minutos atrás.
Pense em voz alta. Metade das vezes você descobre o problema no meio da própria explicação, antes da resposta chegar.
O que funciona e o que não funciona
Funciona bem
- Descrever comportamento esperado
- Revisar decisão de arquitetura
- Debugar por sintoma
- Planejar a próxima etapa
Não funciona
- Regex, query complexa, nome exato de variável
- Ler código longo em voz alta
- Decisão irreversível sem revisão
- Ambiente com muito barulho
A regra: voz é ótima pra decidir e péssima pra digitar. Se a tarefa é pensar, fale. Se a tarefa é escrever exatamente aquilo, sente.
Quando você chegar em casa
Você chega, senta, e em dois comandos vê o dia inteiro que aconteceu sem você.
# 1. entre na pasta do projeto — é o detalhe que todo mundo esquece
cd ~/caminho/do/seu/projeto
# 2. agora sim, o relatório do dia
git log --pretty=format:'%h %ad %s' --date=format:'%d/%m %H:%M' --since="1 day ago"
git diff --stat "@{1 day ago}"
Tem que ser o terminal aberto na pasta do projeto. O
gitnão adivinha de qual repositório você está falando — ele lê a pasta em que você está. Rodar na área de trabalho devolvenot a git repositorye faz parecer que o dia não rendeu nada, quando rendeu.
O git log é o relatório do dia. É por isso que a regra 5 do prompt pede commit descritivo a cada tarefa. Um dia real fica assim:
8a1cb3a 17/08 16:27 A escolha de versão sai do treino e vira uma tela no Perfil
4451175 17/08 14:44 A dor marcada no quiz pré-escolhe a regressão — só na região que dói
763504c 17/08 14:41 Cada movimento passa a ter três versões, e a pessoa escolhe qual faz
99e6057 17/08 14:39 A régua lateral sai do produto, e a regra que ela ensinou fica
1b2fd5d 17/08 14:25 Um padrão de variações para o Carlos corrigir: 22 dos 40 lugares
d36b286 17/08 14:12 O contrato público passa a servir as variações, sem tocar no que já saía
73b4a3d 17/08 12:48 O funil pergunta quanto exercício já houve nesta vida
6f1e5f1 17/08 12:48 Três perguntas no primeiro acesso, e o app se ajusta a quem respondeu
eba9353 17/08 12:47 A regressão e a forma avançada deixam de ser frase e passam a ser exercício
.claude/launch.json | 12 +
ONLY15/App/RaizView.swift | 225 ++−
.../Catalogo/VariacoesDeMovimentos.swift | 204 +++
.../Componentes/SeletorDeVersao.swift | 152 ++
.../Movimentos/TelaDeMovimentos.swift | 169 +−
.../Perfil/TelaDePerfil.swift | 155 +−
.../TelaDeVersoesDosMovimentos.swift | 393 +++++
.../Treino/MotorDeTreino.swift | 100 +−
.../Treino/ReguaDeSegmentos.swift | 949 −−−−−−−−−
.../Treinos/DegrauAbaixo.swift | 123 ++
…
Repare no que está escrito ali. Nenhuma mensagem fala de código — todas falam de produto, em português, na frase que eu falei no carro. É isso que torna o git log legível numa noite de quinta, cansado. Se as mensagens fossem "fix", "ajustes" e "wip", esse dia inteiro seria irrecuperável.
E repare na linha de 949 linhas removidas: é sempre uma dessas que eu abro primeiro. O que cresceu eu leio depois; o que sumiu eu confiro na hora.
[PREENCHER] Diga aqui como você revisa. Se revisa tudo sentado no fim do dia, diga isso. Se só revisa o que passou de determinado tamanho, diga. Honestidade aqui vale mais que qualquer técnica.
Os erros que eu cometi
Os dois que mais me custaram não têm nada de técnico. São a máquina parando em casa — e eu só descobrindo muito depois.
Esqueci o computador fora da tomada. Saí com a bateria pela metade achando que dava. A bateria acabou no meio da sessão, o processo morreu, e eu continuei falando no carro por mais de meia hora com um assistente que não tinha mais ninguém do outro lado. Notebook que fica trabalhando sozinho fica na tomada. Não é sobre autonomia da bateria, é sobre não ter que pensar nisso.
Alguém fechou o computador em casa. Esse doeu mais, porque não foi nem culpa minha. Passaram pela mesa, viram o notebook aberto e fecharam — gentileza normal de quem mora com você. Fechou a tampa, dormiu, sessão perdida. Hoje eu aviso antes de sair, e nos dias de sessão longa deixo um papel em cima do teclado. Parece bobo. Funciona melhor que qualquer configuração.
Os dois se resolvem na Etapa 1 e mesmo assim eu errei os dois. Por isso ela é a primeira coisa do guia: cinco minutos antes de sair valem duas horas de frustração no farol.