> ## Documentation Index
> Fetch the complete documentation index at: https://chatcli.edilsonfreitas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Uso Básico e Comandos Principais

> Aprenda a interagir com o ChatCLI e a usar os comandos essenciais para navegação, configuração e controle.

## Modo Interativo

O modo padrão do ChatCLI é o interativo. Para iniciá-lo, basta executar:

```bash theme={"system"}
chatcli
```

Você verá uma tela de boas-vindas e um prompt ( `❯` ), pronto para receber suas perguntas ou comandos. Qualquer texto que não comece com `/` ou `@` será tratado como um prompt para a IA.

```bash theme={"system"}
me ajude a listar todos os containers docker ativos
```

***

## Comandos Essenciais

Os comandos internos são seu centro de controle. Eles sempre começam com `/`.

| Comando                | Descrição                                                                                                                         |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `/help`                | Exibe a tela de ajuda completa com todos os comandos e opções disponíveis                                                         |
| `/menu` (ou `/`)       | Abre a paleta de comandos interativa — lista navegável de todos os comandos (setas para navegar)                                  |
| `/exit` ou `/quit`     | Encerra a aplicação de forma segura                                                                                               |
| `/newsession`          | Limpa o histórico da conversa e inicia um novo diálogo do zero                                                                    |
| `/config` ou `/status` | Mostra a configuração atual: provedor, modelo ativo e variáveis (com valores sensíveis ocultos); bare abre a paleta com as seções |
| `/reload`              | Recarrega as configurações do `.env` sem reiniciar a aplicação                                                                    |
| `/switch`              | Troca o provedor ou modelo — bare abre a paleta navegável de provedores/flags                                                     |
| `/provider`            | Troca o provedor de LLM pelo nome — bare abre a paleta com os provedores ativos (mesma experiência do `/model`)                   |
| `/compact`             | Compacta o histórico de conversa (automático ou guiado com instrução)                                                             |
| `/rewind`              | Volta a um checkpoint anterior da conversa                                                                                        |

***

## Comandos Avançados

<CardGroup cols={2}>
  <Card title="Comandos de Contexto (@)" icon="at" href="/pt/core-concepts/context-commands">
    Injetam informações dinâmicas no seu prompt: `@file`, `@git`, `@command`, `@env`, `@history`.
  </Card>

  <Card title="Modo Agente (/agent)" icon="robot" href="/pt/core-concepts/agent-mode">
    Delegue tarefas completas. A IA planeja e executa comandos com sua aprovação.
  </Card>

  <Card title="Modo Coder (/coder)" icon="code" href="/pt/core-concepts/coder-mode">
    IA que lê, edita, aplica patches e roda testes em loop — com rollback automático.
  </Card>

  <Card title="Controle de Conversa" icon="clock-rotate-left" href="/pt/features/conversation-control">
    Use `/compact` para compactar e `/rewind` (ou Esc+Esc) para voltar no tempo.
  </Card>

  <Card title="Skills e Plugins" icon="plug" href="/pt/features/plugin-system">
    Estenda o ChatCLI com plugins customizados e skills de registries remotos.
  </Card>
</CardGroup>

***

## Modo Coder (/coder)

O modo `/coder` é especializado para engenharia de software. A IA chama ferramentas automaticamente em um loop de leitura, edição e testes.

```bash theme={"system"}
/coder corrija os testes falhando
```

```xml theme={"system"}
<tool_call name="@coder" args='{"cmd":"tree","args":{"dir":"."}}'/>
<tool_call name="@coder" args='{"cmd":"search","args":{"term":"FAIL","dir":"."}}'/>
<tool_call name="@coder" args='{"cmd":"read","args":{"file":"cli/agent_mode.go"}}'/>
<tool_call name="@coder" args='{"cmd":"test","args":{"dir":"."}}'/>
<tool_call name="@coder" args='{"cmd":"git-diff","args":{"dir":".","stat":true}}'/>
```

<Info>
  No `/coder`, sempre é a IA quem emite os comandos `@coder` — você apenas descreve o objetivo.
</Info>

Veja os guias completos: [Modo Coder](/pt/core-concepts/coder-mode) e [Plugin @coder](/pt/features/coder-plugin)

***

## Navegação no Prompt

O ChatCLI suporta atalhos de teclado para navegação eficiente:

| Atalho                         | Ação                                                                       |
| ------------------------------ | -------------------------------------------------------------------------- |
| **Alt/Option + setas**         | Mover cursor por palavra                                                   |
| **Ctrl + setas**               | Mover cursor por palavra                                                   |
| **Cmd + setas** / **Home/End** | Mover para início/fim da linha                                             |
| **Alt + Backspace**            | Deletar palavra à esquerda                                                 |
| **Esc+Esc**                    | Abrir menu de rewind (duplo Esc em menos de 500ms, apenas com input vazio) |
| **`/` ou `/menu` + Enter**     | Abrir a paleta de comandos (setas para navegar, Enter para selecionar)     |

Para a lista completa, veja a [Referência de Comandos](/pt/reference/command-reference#atalhos-de-teclado).

***

## Detecção Inteligente de Paste

O ChatCLI detecta automaticamente texto colado via *Bracketed Paste Mode*. Para pastes grandes (mais de 150 caracteres), o conteúdo é substituído por um placeholder compacto no prompt:

```text theme={"system"}
«1234 chars | 5 lines»
```

O conteúdo real é preservado internamente e enviado integralmente ao pressionar Enter. Pastes pequenos (150 caracteres ou menos) são renderizados normalmente.

***

## Próximos Passos

<CardGroup cols={2}>
  <Card title="Comandos de Contexto" icon="at" href="/pt/core-concepts/context-commands">
    Aprenda a injetar contexto do seu ambiente no prompt.
  </Card>

  <Card title="Modo Agente" icon="robot" href="/pt/core-concepts/agent-mode">
    Delegue tarefas completas para a IA executar.
  </Card>
</CardGroup>
