pmndrs docs

Busca y lee la documentación y los ejemplos de react-three-fiber, drei, zustand, jotai y las demás librerías de pmndrs desde tu agente.

Servidor MCP alojado

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

Se instala en Claude Code, Codex, Cursor y más

Documentación

docs/getting-started/introduction.mdx

Uso

Lectura

$ 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 el panel que tiene el foco — la lista de páginas, o la página en sí. ⏎ o ⇥ transfiere el foco, esc o ⇥ lo devuelve, y el borde iluminado indica dónde está — la rueda mueve el panel al que apunta, tenga foco o no. ←→ cambia de biblioteca, b pliega la barra lateral, / busca en todas las bibliotecas a la vez, o abre la página en un navegador, q sale. Los enlaces dentro de una página son clicables siempre que el terminal respete los hiperenlaces OSC 8 — iTerm2, Ghostty, WezTerm, Kitty, Windows Terminal.

search es lo que puede usar un agente o un script: los resultados se leen en {lib} {path} - {title}, la forma en que el servidor MCP publica su índice, y si no se encuentra nada, sale con código 1. --in drei reduce a una sola biblioteca, --in drei/performances/instances a las líneas coincidentes de una página.

Ambos leen el llms-full.txt publicado de cada biblioteca, almacenado en caché durante una hora en ~/.cache/pmndrs-docs — --refresh vuelve a buscar. Fuera de un terminal, un destino de página se escribe en la salida estándar, por lo que npx @pmndrs/docs drei/performances/instances | glow funciona.

Compilación

$ 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 (el predeterminado) solo necesita node — sin next build, sin bundler. Un fragmento es el MDX compilado y nada más: sin diseño, sin hoja de estilos, sin script. Los diagramas Mermaid permanecen como bloques delimitados, y Sandpack muestra su código sin el editor.

build --help enumera todas las opciones del sitio web — --libname, --base-path, --icon, --theme-*… Cada una recurre a la variable de entorno a la que está mapeada, las mismas que configuración documenta.

Vista previa de una carpeta de MDX, servida
$ curl -sL https://raw.githubusercontent.com/pmndrs/docs/refs/heads/main/preview.sh | \
  MDX="docs" \
  ICON="🥑" \
  sh

Compila el sitio web y luego lo sirve — junto con la carpeta MDX en sí, para que los recursos relativos se resuelvan mientras editas. Cualquier opción de configuración se aplica de la misma manera, y VERSION selecciona una versión publicada de la CLI.

Publicación

Cada push a main vuelve a implementar docs.pmnd.rs mediante ci.yml — no se necesita changeset para eso.

Agrega uno (pnpm changeset) solo cuando los consumidores posteriores que fijan pmndrs/docs/.github/workflows/build.yml@v4 o @pmndrs/docs@4 deban recibir el cambio. Esto incrementa package.json, publica en npm y etiqueta vX.Y.Z + vX — por lo que @v4 se resuelve a la versión más reciente.

En resumen — solo cambio del sitio: omítelo. Cualquier cosa que los consumidores vean (flujo de trabajo, comportamiento de compilación, plantillas): agrega uno.

Pruebas

Las pruebas visuales se realizan en la nube, mediante chromatic.yml.

También puedes reproducirlas localmente:

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