pmndrs docs

Pesquise e leia a documentação e os exemplos de react-three-fiber, drei, zustand, jotai e as outras bibliotecas pmndrs a partir do seu agente.

Servidor MCP hospedado

npx add-mcp 'https://docs.pmnd.rs/api/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

docs/getting-started/introduction.mdx

Uso

Leitura

$ npx @pmndrs/docs                                 # the reader: every library, every page
$ npx @pmndrs/docs drei                            # straight into one
$ npx @pmndrs/docs drei/performances/instances     # straight to a page
$ npx @pmndrs/docs search instanced mesh           # one result per line, on stdout

↑↓ controla o painel que está em foco — a lista de páginas ou a própria página. ⏎ ou ⇥ transfere o foco, esc ou ⇥ devolve o foco, e a borda acesa indica onde ele está — a roda move o painel para o qual aponta, com foco ou sem. ←→ muda de biblioteca, b recolhe a barra lateral, / pesquisa em todas as bibliotecas de uma vez, o abre a página em um navegador, q sai. Links dentro de uma página são clicáveis onde o terminal honra hiperlinks OSC 8 — iTerm2, Ghostty, WezTerm, Kitty, Windows Terminal.

search é o que um pipe ou um agente pode usar: os resultados são lidos em {lib} {path} - {title}, o formato que o servidor MCP publica em seu índice, e nada encontrado encerra com código 1. --in drei restringe a uma biblioteca, --in drei/performances/instances às linhas correspondentes de uma página.

Ambos leem o llms-full.txt publicado de cada biblioteca, armazenado em cache por uma hora em ~/.cache/pmndrs-docs — --refresh busca novamente. Fora de um terminal, um destino de página é gravado na saída padrão, então npx @pmndrs/docs drei/performances/instances | glow funciona.

Build

$ cat foo.mdx | npx @pmndrs/docs@latest build               # one HTML fragment, on stdout
$ npx @pmndrs/docs@latest build docs out                    # one .html per .mdx, assets alongside
$ npx @pmndrs/docs@latest build docs out --format website   # the whole website, statically exported

--format fragment (o padrão) não precisa de nada além de node — sem next build, sem bundler. Um fragmento é o MDX compilado e nada mais: sem layout, sem folha de estilo, sem script. Diagramas Mermaid permanecem como blocos cercados, e o Sandpack mostra seu código sem o editor.

build --help lista todas as opções do site — --libname, --base-path, --icon, --theme-*… Cada uma recorre à variável de ambiente à qual mapeia, as mesmas que a configuração documenta.

Pré-visualize uma pasta de MDX, servida
$ curl -sL https://raw.githubusercontent.com/pmndrs/docs/refs/heads/main/preview.sh | \
  MDX="docs" \
  ICON="🥑" \
  sh

Compila o site e o serve — junto com a própria pasta MDX, para que os recursos relativos sejam resolvidos enquanto você edita. Qualquer opção da configuração entra da mesma forma, e VERSION escolhe uma versão publicada da CLI.

Lançamento

Todo push para main reimplanta docs.pmnd.rs via ci.yml — sem changeset necessário para isso.

Adicione um (pnpm changeset) apenas quando consumidores downstream que fixam pmndrs/docs/.github/workflows/build.yml@v4 ou @pmndrs/docs@4 devem receber a alteração. Ele incrementa package.json, publica no npm e marca vX.Y.Z + vX — então @v4 resolve para a versão mais recente.

Resumo — ajuste apenas no site: pule. Qualquer coisa que os consumidores vejam (fluxo de trabalho, comportamento de build, modelos): adicione um.

Teste

Testes visuais são realizados na nuvem, por meio de chromatic.yml.

Você também pode reproduzir localmente:

$ npx playwright test --update-snapshots
$ npx chromatic --playwright --project-token $CHROMATIC_PROJECT_TOKEN