Experimentar um exemplo
Os exemplos nesta página são trechos, não mods inteiros. Cada um é o código de um elemento e de tudo o que está aninhado dentro dele. Para ver um exemplo no seu próprio terminal, crie o pequeno mod destas etapas e cole o exemplo nele. O mod adiciona um comando/gallery que abre um painel e desenha o exemplo ali. Um painel é uma barra lateral ao lado da transcrição em um terminal largo em tela cheia, ou, caso contrário, uma região emoldurada acima do prompt.
1
Criar o mod
Crie um diretório chamado Indique seu ponto de entrada em Salve o código como
gallery com os diretórios .claude-plugin e hooks dentro dele. Criar um mod explica os arquivos.Salve o manifesto como gallery/.claude-plugin/plugin.json:gallery/.claude-plugin/plugin.json
gallery/hooks/hooks.json:gallery/hooks/hooks.json
gallery/hooks/register.js. Ele adiciona um comando /gallery que abre um painel e desenha Plain text nesse painel:gallery/hooks/register.js
2
Executar o mod
No seu shell, inicie o Claude Code a partir do diretório que contém No prompt do Claude Code, execute
gallery:/gallery. Um painel é aberto com Plain text nele.3
Trocar por um exemplo
Copie um exemplo desta página. Em
register.js, cole-o sobre Text({ children: ['Plain text'] }), de modo que ele venha depois de return, e salve o arquivo. O Claude Code recarrega o módulo cada vez que você salva, então execute /gallery novamente para ver o novo exemplo.Escolher um elemento
Os exemplos estão agrupados pelo que você quer colocar na tela:- Mostrar texto:
Text,MarkdowneLink - Mostrar código e alterações:
Code - Organizar elementos:
Box - Receber entrada:
Button,InputeSelect - Desenhar imagens:
Raster,Svg,ImageeClient
Mostrar texto
Três elementos colocam palavras na tela:Text para o seu próprio estilo, Markdown para conteúdo já formatado e Link para uma URL.
Text
Text desenha uma string com os estilos que você fornece. Este exemplo mostra uma linha para cada estilo:


dimColor desenha o texto em cinza. backgroundColor preenche apenas a largura do texto.
Markdown
Markdown formata o texto da mesma forma que as respostas do Claude são formatadas. Passe o conteúdo em text, não em children:


#. O código inline é desenhado em cor sem seus acentos graves. Uma citação é desenhada em itálico com uma barra à esquerda.
Link
Link desenha um rótulo seguido de sua URL:


Mostrar código e alterações
Code desenha texto-fonte com as próprias cores de sintaxe do Claude Code, ou um diff.
Code
Indique a language, ou passe um path para que o Claude Code a deduza. Com startLine, as linhas são numeradas a partir desse número:


Code como diff
Com format: 'diff', source é um ou mais hunks de diff unificado:


@@. Onde uma linha removida e uma linha adicionada são parecidas, as palavras que mudaram recebem uma sombra mais forte.
Organizar elementos
Box
Box dispõe o que está dentro dele em uma linha ou em uma coluna, e pode desenhar uma borda. Este exemplo coloca uma linha de palavras acima de uma caixa com borda:


Receber entrada
Button, Input e Select são controles: o usuário se move entre eles com Tab e usa aquele que tem o foco. Foco do teclado e teclas de atalho explica quais teclas chegam até eles.
Abrir um painel com focus: true dá ao painel o foco do teclado. As letras digitadas chegam a um Input assim que ele tem o foco, então adicione autoFocus: true a um campo que deve receber a digitação assim que o painel abrir.
Button
Um botão executa onPress. Este exemplo mostra a forma padrão, um botão plain com uma tecla de atalho e um esmaecido:




Input
Um Input é um campo de texto de uma linha que executa onSubmit quando o usuário pressiona Enter:


submitLabel é exibido após ⏎:




Select
Um Select permite que o usuário escolha uma entre várias opções e executa onSelect com o value da opção:






Desenhar imagens
Raster
Um Raster é uma grade de células de caracteres coloridas, para um mapa de calor, um sparkline ou um tabuleiro de jogo. O terminal o desenha. Este exemplo usa a função cellsOf do módulo inicial, que empacota as células na string que um Raster recebe. Desenhar uma grade de células coloridas explica isso:


Raster arredonda cada cor para uma paleta menor, então 0x2e7d32 é desenhado como #337733.
Svg
Um Svg desenha um documento SVG no aplicativo Desktop:
Svg abre vazio. Para desenhar outra coisa ali, verifique e.surface e retorne uma árvore diferente.
Image e Client
Mais dois elementos não têm exemplo aqui. Image desenha um PNG ou pixels brutos no terminal. Client é uma região que um segundo arquivo seu desenha, para animação e entrada de ponteiro. A referência de elementos lista suas props.
Ver onde um mod pode desenhar
Todos os exemplos desenham em um painel. Um mod também pode desenhar em outros lugares e chamar o Claude Code para mostrar algo por ele:- Painel e faixa: Escolher onde desenhar
- As próprias linhas do Claude Code, como o spinner: Alterar o que o Claude Code já desenha
- Toast, linha de status e linha de log: Mostrar algo sem iniciar um turno
- Diálogo de pergunta: Reter uma chamada de ferramenta até que o usuário decida
Próximos passos
- Desenhar na interface: construa um painel com abas, passo a passo
- Testar um desenho: pressione seus botões a partir de um teste
- Referência de elementos: as principais props de cada elemento e os aplicativos que o desenham