Nesta Página
article
Modo Coder (/coder)
O modo /coder é um modo especializado para tarefas de engenharia de software com ciclo de leitura → alterações →feedback.
Ele dá mais rigorosidade que o modo /agent, porque o assistente precisa seguir um contrato de saída para que o ChatCLI possa executar as ações com segurança (e semântica de reversão).
Quando usar
Use /coder quando você quiser:
- Fazer alterações reais no repositório (leitura, edição de arquivos);
- Rodar testes/lint/build de forma automática;
- Aplicar patches pequenos e seguros (com backup/rollback);
- Iterar até chegar em um resultado verificável.
Se você quer uma conversa de alto nível (escrita de texto, ideias, planos) sem executar o próprio código, o /agent continua mais adequado.
Diferença em relação ao /agent
/agent: o assistente propõe comandos de execução em blocos (execute:shell), com interação e mais flexibilidade no formato./coder: o assistente opera em um loop de ferramentas (fs, patch, exec) e deve emitir: sempre a mesma estrutura pra o ChatCLI consumir.
sequenceDiagram
actor User as Usuário
participant CLI as ChatCLI (Orquestrador)
participant LLM as IA (Persona Engenheiro)
participant Plugin as Plugin @coder
User->>CLI: /coder <tarefa>
loop Ciclo de Engenharia
CLI->>LLM: Envia Contexto
LLM-->>CLI: <reasoning>...</reasoning><br/><tool_call name="@coder" args="..."/>
CLI->>Plugin: Executa @coder
Plugin-->>CLI: Retorna Saída
CLI->>LLM: Envia Feedback
end
LLM-->>CLI: Resposta Final
CLI-->>User: Exibe Resultado
Contrato de saída (obrigatório)
O mais importante em /coder é que a resposta do assistente sempre segue este formato:
- Antes de qualquer ação, escreva um bloco
|reasoning|curto (2 a 6 linhas). - Em seguida, se precisar agir, emita apenas um
|tool_call name="@coder" args="..."/|. - Nunca usa blocos ```` nem comandos shell diretos nesse modo.
Ferramentas e dependência
O modo /coder depende do plugin @coder. Sem ele, as chamadas de ferramenta vão falhar.
- Verifique plugins instalados:
/plugin list - Instale/habilite o
@coderconforme a seção Plugin @coder.
Subcomandos suportados (args)
No /coder, o atributo args do <tool_call> deve usar somente os subcomandos abaixo (em linha única):
tree --dir .--encoding base64|text(pararead/write/patch)search --term "x" --dir .read --file xwrite --file x --content "base64" --encoding base64patch --file x --search "base64" --replace "base64" --encoding base64exec --cmd "comando"rollback --file xclean --dir .
Exemplos de Fluxo
1) Corrigir testes gerais
- Listar a árvore:
tree --dir . - Procurar ocorrências:
search --term "FAIL"... - Ler arquivos:
read --file ... - Aplicar patch minimal:
patch --file ... - Rodar testes:
exec --cmd "go test ./..."
Nesse modo, a saída sempre vai via @coder . Você não precisa escrever comandos diretamente no shell.