---
order: 8
section: features
title: Studio
description: >-
  Um studio local para explorar conteúdo, buscar em todos os documentos,
  visualizar o corpo dos arquivos MDX, inspecionar traduções e excluir entradas
  com segurança.
noindex: false
canonicalPath: /pt-BR/docs/studio
---
```bash
scribe studio            # http://127.0.0.1:3600
scribe studio --port 4000
```

O studio é uma ferramenta de desenvolvimento local. Ele usa HTML renderizado no servidor, não exige etapa de build ou autenticação e lê sua árvore de trabalho em tempo real. Enquanto agentes e pessoas **editam arquivos**, o studio é o lugar onde os humanos **visualizam e verificam** tudo o que o Scribe gerencia. Você pode explorar coleções, inspecionar entradas com as relações resolvidas e pré-visualizações de assets, identificar imagens quebradas ou ausentes e responder "onde isso é usado?" antes de alterar qualquer coisa. Ele também inclui o painel de tradução existente (cobertura, lista de trabalho e snapshots por documento; consulte [translation](/docs/translation)).

## Navegador de coleções

Em `/types/:typeId`, a barra lateral lista cada tipo de conteúdo, mostrando a contagem de entradas e um selo agregado de problemas. A tabela de entradas exibe os slugs, uma seleção de campos principais derivados do schema (enums e relações em formato de chips), pontos de status de tradução e selos de validação individuais.

Os **filtros de campo** vêm da introspecção do schema e ficam nos parâmetros de query, garantindo que as URLs sejam compartilháveis e renderizadas no servidor. Campos enum e de relações viram menus de seleção, booleanos viram botões de alternância e strings usam correspondência de texto.

Qualquer tipo com pelo menos um campo de asset permite alternar a tabela para uma grade de cards em **galeria**. Cada card exibe a imagem principal do asset, o slug, campos-chave e selos. Os filtros funcionam da mesma forma. Esse é o seu painel de controle de qualidade para imagens geradas.

## Inspetor de entradas

O caminho `/types/:typeId/:enSlug` renderiza os campos de acordo com o tipo inspecionado:

- **translatable**: o valor acompanhado de um seletor de idioma (dados da store). O fallback para inglês fica em destaque quando um idioma não possui tradução.
- **structural**: apenas o valor em texto simples.
- **relation**: um link clicável para a entrada de destino. Referências órfãs exibem um selo vermelho.
- **asset**: uma prévia da imagem com URL resolvida, tamanho do arquivo e dimensões. Um arquivo ausente aciona um selo vermelho.
- **Used by**: uma seção de referência reversa que lista todas as entradas de qualquer tipo cujas relações apontam para cá.
- **Body**: um controle que alterna entre Raw e Preview (`?body=preview`). O modo Preview renderiza o Markdown e o GFM corretamente e exibe componentes JSX desconhecidos como caixas rotuladas com suas propriedades. Além disso, tokens de relação viram links clicáveis (referências quebradas ficam bem visíveis) e tokens de assets aparecem como imagens reais. Um link "ver no site" fica disponível para tipos roteáveis.

As setas direcionais movem entre as entradas. As teclas `ArrowLeft` e `ArrowRight` navegam para a entrada anterior ou seguinte do mesmo tipo usando a ordem padrão da coleção (sem retorno cíclico), preservando o idioma atual e os parâmetros de query da visualização. As teclas são ignoradas quando o foco está em um campo de formulário.

## Navegador de assets

A rota `/assets` mostra uma grade de miniaturas para cada raiz gerenciada. Cada asset lista sua prévia, caminho, tamanho, dimensões e uma lista **referenced by** com cada entrada e campo que apontam para ele, calculada em tempo real no runtime em memória. Selos alertam para assets sem referência (possíveis órfãos), ausentes mas referenciados, muito grandes (acima do `maxKB` do campo) e desvios de formato. Veja [assets](/docs/assets) para entender o sistema de campos subjacente.

## Busca global

O endpoint `/search?q=` executa uma busca de substring, sem diferenciar maiúsculas de minúsculas, nos slugs em inglês, em cada valor do frontmatter e no corpo bruto dos arquivos MDX. Um formulário de busca está presente em todas as páginas. Os resultados são agrupados por tipo e mostram um trecho destacado, com limite de 20 ocorrências por tipo.

## Excluindo entradas

A barra de ferramentas do inspetor tem um botão **Delete** vermelho de alerta. Ele abre uma página de confirmação que exibe o plano de exclusão completo em seções (exclusões em cascata, desconexões, assets afetados, contagem da store por idioma e possíveis bloqueios). Em seguida, você vê um botão vermelho de confirmação (ou apenas os bloqueios sem a opção de confirmar, caso o plano seja impedido). Ao confirmar, a ferramenta executa estritamente o plano previsto: apaga o arquivo fonte, os assets atrelados, traduções armazenadas, snapshots e aplica as reescritas de desconexão, nada além disso. O modo `onTargetDelete` de uma relação (`restrict`, `detach` ou `cascade`) e o modo `onDelete` de um asset determinam a ação do plano. O mesmo plano está disponível na linha de comando através do [`scribe delete`](/docs/cli#scribe-delete). Essa é a única rota do studio que realiza mutações de estado e funciona exclusivamente no localhost.

## O que o studio não faz

Nada de edição de conteúdo, ativação de traduções, upload de imagens, autenticação ou renderização real de componentes MDX. A edição continua acontecendo no seu editor de código e no git. O studio serve apenas para revisão.
