# Árvore de Arquivos

O nó de Árvore de Arquivos permite navegar pelos arquivos do seu projeto diretamente no canvas — sem precisar alternar para o Finder ou o seu IDE. É um gerenciador de arquivos completo embutido no seu espaço de trabalho.

## Inserindo um nó de Árvore de Arquivos

Selecione a ferramenta **Árvore de Arquivos** na barra de ferramentas superior, depois clique e arraste no canvas para posicioná-la. A árvore abre no diretório de trabalho do seu espaço de trabalho por padrão.

Você pode ter **múltiplas árvores de arquivos** no mesmo canvas, e cada uma lembra independentemente o seu próprio estado — qual diretório está exibindo, quais pastas estão expandidas e qual modo de visualização está ativo.

## Modos de visualização

Alterne entre duas visualizações usando a barra de ferramentas no topo do nó:

- **Visualização em lista** — Um outline hierárquico, semelhante à visualização em lista do Finder do macOS. Suporta navegação para frente/trás e Recolher Tudo.
- **Grade de ícones** — Uma visualização baseada em miniaturas. Imagens, PDFs e vídeos exibem pré-visualizações do Quick Look em vez de ícones genéricos.

## Navegando pelos arquivos

Use a barra de ferramentas para mudar o diretório raiz dinamicamente. Clicar com o botão direito em um arquivo ou pasta abre um menu de contexto com opções para criar, renomear, mover e excluir.

## Arrastando arquivos

Você pode arrastar arquivos da árvore diretamente para:

- **Um terminal de agente** — Compartilha o arquivo como contexto com o agente
- **O canvas** — Coloca como um nó de pré-visualização nativo (imagens, PDFs e vídeos são suportados)

Dica

Você também pode arrastar arquivos externos do Finder diretamente sobre um terminal de agente ou para o canvas — não é necessário usar a árvore de arquivos para isso.

## Operações git

Quando seu workspace é um repositório git, a árvore de arquivos inclui um indicador de branch no topo. Clique nele para abrir um menu com operações git comuns:

- **Commit** — Preparar e commitar alterações
- **Pull / Push** — Sincronizar com o repositório remoto
- **Checkout** — Mudar para uma branch diferente
- **New Branch** — Criar uma nova branch a partir da atual
- **Merge** — Mesclar outra branch na atual
- **Fetch** — Buscar atualizações do remoto sem mesclar
- **Stash** — Guardar suas alterações não commitadas para depois

Essas operações rodam diretamente no Maestri — sem precisar alternar para um terminal ou cliente git externo para tarefas comuns.

## Diff view com integração de agentes

A árvore de arquivos inclui uma visualização de diff que mostra suas alterações não commitadas. Além de revisar diffs, ela se integra diretamente com seus agentes — selecione qualquer bloco de código no diff e um ícone de chat aparecerá. Clique nele para abrir um popover onde você pode citar o bloco selecionado e pedir ao agente para explicar ou refinar.
