Trabalhando com agentes, passo a passo
O seu agente de código continua rodando num terminal. A IDE TEA dá a ele um jeito de perguntar as coisas direito, e garante que nada rode sem você dizer sim.
1. Antes de começar
- Um agente de código que lê o
AGENTS.mdou oCLAUDE.md: Claude Code, Codex e outros. - O
ideteano seuPATH(o instalador faz isso). Os agentes usam os comandosideteaquando os acham, e senão escrevem os arquivos eles mesmos. - Um projeto aberto na IDE TEA.
2. Ensine os agentes do projeto
- Abra a paleta de comandos (Ctrl+Shift+P).
- Rode Interfaces: ensinar os agentes deste projeto.
- A IDE escreve um bloco curto de instruções no
AGENTS.mde noCLAUDE.mdque você já tem, sem mexer no resto de cada arquivo. Sem nenhum dos dois, ela cria umAGENTS.mde umCLAUDE.mdque o importa. Faça commit junto com o projeto, ou guarde só para você: você escolhe.
3. Rode o seu agente dentro da IDE
Abra o terminal (Ctrl+Shift+T) e inicie o seu agente ali, como em qualquer outro lugar:
claude # ou codex, ou o agente que você usa
Peça o que quiser, como sempre. Quando o agente precisa de uma decisão, ele usa o painel em vez do chat. Você também pode dizer com todas as letras: "me pergunte no painel da IDE".
4. Responda uma pergunta
Quando o agente pergunta algo, o painel Interfaces abre com um formulário de verdade, e a barra de status avisa que chegou uma pergunta nova.
- Preencha o formulário: escolhas, caixas de marcar, campos de texto. Um botão que precisa de algo antes diz o que falta.
- Opcional: escreva um comentário para o agente (uma ressalva, uma pergunta de volta). Ele vai junto com o botão que você clicar.
- Clique num botão. A resposta volta para o agente, que continua.
Os agentes também podem mostrar imagens, galerias para escolher, sprites animados, sons com a forma de onda, arquivos para editar (uma mensagem de commit, a descrição de um PR) e listas de passos para um teste manual, com um botão de aprovar que espera até você fazer os passos. Selecionar texto, no topo da interface, deixa você copiar o texto.
Cada pergunta e a sua resposta ficam guardadas. Abra o Histórico das interfaces (paleta, ou o link Histórico no topo do painel) para ver as abertas primeiro e as respondidas por dia, com busca. Uma entrada abre só para ver, do jeito que você respondeu, com a hora em que o agente leu.
5. Aprove um terminal
Para rodar algo que você deve poder acompanhar (testes, um servidor de desenvolvimento, outro agente), o agente pede um terminal para a IDE. Uma aba de pedido de terminal mostra exatamente o que rodaria, e onde.
- Leia o comando. Ele roda exatamente isso, com as suas permissões, como se você tivesse digitado.
- Clique em Permitir e rodar, ou em Recusar. O agente fica sabendo qual dos dois você escolheu.
- O comando roda na própria aba. Quando acaba, a aba guarda a saída e o código de saída até você apertar Enter; o agente recebe o código (e, se o comando escreveu uma, uma resposta em arquivo).
Fechar a aba antes do fim para o comando, e o agente fica sabendo.
6. Pule a pergunta para comandos de confiança
Ponha esses comandos na sua configuração, ~/.config/idetea/config.toml:
[agents]
allow = ["npm run dev", "cargo test", "claude *"]
Uma entrada é o comando exato, ou um começo seguido de *: esse começo mais argumentos simples, sem
; & | $, crases ou redirecionamentos.
.idetea/config.toml de um projeto
ela é ignorada (com um aviso): um agente pode escrever arquivos do projeto, e um projeto nunca pode dar permissão
a si mesmo.7. Passe trabalho para um agente ajudante
O seu agente pode iniciar outro, para uma revisão ou um conserto paralelo, no próprio worktree do git, para os dois nunca mexerem nos mesmos arquivos:
idetea run --title "Revisor" --worktree agent/review -- \
claude -p 'Revise o último commit. Escreva o que achar no arquivo em $IDETEA_ANSWER.'
- Você aprova o pedido, como no passo 5. A aba mostra o branch que ele vai usar.
- A IDE cria
.idetea/worktrees/<nome>nesse branch e roda o ajudante ali. - O ajudante escreve a resposta em
$IDETEA_ANSWER; o seu agente principal lê e traz o código do branch do jeito de sempre (com o seu teste e a sua aprovação). - No fim, o worktree sai se não tiver nada sem commit. O branch sempre fica.
8. Os comandos idetea
Os agentes usam estes comandos quando o idetea está no PATH. Cada um faz a ida e volta
inteira numa chamada. Você também pode testar no terminal da IDE.
| Comando | O que faz |
|---|---|
idetea ask --text "Publicar agora?" --confirm |
Mostra uma pergunta no painel e espera (10 minutos por padrão). Formas curtas: --options "a|b|c",
--confirm, --input "Nome"; ou um formulário completo de um arquivo JSON. Imprime a
resposta. |
idetea run --title "Testes" -- cargo test |
Pede um terminal, espera o fim, imprime a resposta do ajudante e sai com o código do comando (5 se você recusou). |
idetea status |
O que você tem aberto: o arquivo ativo com o cursor, os arquivos abertos e quais têm mudanças não salvas
(também --json). |
idetea open src/main.rs:42 |
Mostra um arquivo na IDE, naquela linha, sem perguntar nada. |
idetea history |
O que você respondeu no painel, do mais velho para o mais novo (--name, --since,
--last N, --all, --json). Útil para um agente que perdeu o contexto. |
Rode qualquer um sozinho para ver todas as opções.
9. Comece um projeto novo com um agente
Projeto: novo… na paleta (ou idetea new) cria a pasta, roda git init,
instala as skills de agente de um modelo (vazio, Rust, site, Python, FastAPI), escreve um pedido inicial no
AGENTS.md e pode abrir o seu agente num terminal da IDE para você aprovar:
idetea new my-app --modelo rust --descricao "um conversor de unidades" --agente claude
10. Por baixo dos panos
Tudo são arquivos simples na pasta .idetea/ do projeto. Estes ficam fora do git:
.idetea/ui/<nome>.json: uma pergunta; a sua resposta vai para.idetea/ui/responses/..idetea/agents/<nome>.json: um pedido de terminal; o andamento em<nome>.status.json..idetea/state.json: o que você tem aberto, para oidetea status..idetea/history/: cada pergunta e resposta, até você apagar.
Assim qualquer agente que lê e escreve arquivos consegue usar, e você pode ler cada mensagem. Os formatos completos: o formato das Interfaces e terminais de agente.