Dibuja mi repo

Obtener la documentación

GET https://seerepo.com/api/v1/repos/:repo/docs y GET https://seerepo.com/api/v1/repos/:repo/docs/:page

Devuelve la carpeta Documentación tal como se lee en la app. La primera da el árbol de la wiki: la clave, el título y el nivel de cada página, y el commit registrado por la lectura de documentación. La segunda da una página: su markdown, donde cada afirmación termina con el archivo y las líneas de donde sale, el índice de sus secciones, sus fuentes con la parte del mapa que tiene cada archivo y su enlace a GitHub en el commit que escribió la página, y el diagrama que SeeRepo dibujó desde el mapa. Cada página se escribe primero con lo que SeeRepo leyó, sin IA; la prosa de una página con plan llega después y reemplaza su apertura.

Petición

Parámetro Dónde Descripción
repo ruta El id del repo, o dueño/nombre con %2F.
page ruta La clave de una página del árbol: 1 es el proyecto, 2 un mundo, 2.3 un mundo dentro de él.
curl "https://seerepo.com/api/v1/repos/6ad79fd8e89233277ded17c9/docs/2" \
  -H "Authorization: Bearer $SEEREPO_KEY"

Respuesta

El árbol:

Campo Tipo Descripción
data.repo objeto El repo: su id y su nombre.
data.sha texto|null El commit registrado por la lectura de documentación. Null hasta su primera escritura.
data.at texto|null Cuándo se escribió por última vez.
data.pages[] objeto Cada página en orden: su key, title, level (1 o 2), parent, factsAt (cuándo cambió por última vez lo que dice; null si fue antes de que SeeRepo lo guardara), locked (true en las páginas que un repo gratis abre con un plan) y phrase (lo que hace su módulo, en la frase del mapa; null en el proyecto, el glosario y una página con candado).

Una página:

Campo Tipo Descripción
data.key, data.title, data.level, data.parent Dónde está la página en el árbol.
data.world texto|null El mundo del mapa que cuenta. Null en el proyecto y el glosario.
data.body texto La página en markdown. Cada afirmación termina con [ruta desde-hasta].
data.outline[] objeto El id, el level y el title de cada sección, en orden.
data.sources[] objeto Cada archivo que cita la página: su path, from, to, su url en GitHub en el commit que escribió la página y su part en el mapa (world e id), o null.
data.diagram texto|null El diagrama de la página en Mermaid, dibujado por SeeRepo desde las conexiones del mapa.
data.lang texto El idioma registrado del capítulo.
data.by texto facts mientras la página está escrita solo con lo que SeeRepo leyó; si no, el modelo que escribió su prosa.
data.sha, data.at El commit de origen y la fecha de escritura del documento (no la del commit).
data.changes[] objeto Lo que la forma de la página ganó y perdió cada vez que cambió lo que dice, lo más nuevo primero, diez como mucho. Cada uno: at, sha (el commit de esa lectura), parts (added, cada una con su name y su part en el mapa, o null; removed, los nombres), connections (added y removed, en número), y pages, data, services y modules (added y removed, los nombres). Una lista de nombres trae cinco como mucho, y el resto va contado en addedMore y removedMore. touched es true cuando cambió lo que dice y su forma no. Vacío hasta que eso pase después de que SeeRepo empezó a guardarlo, y en un repo gratis.

Ejemplo

{
  "status": "success",
  "data": {
    "key": "2",
    "title": "Billing",
    "level": 1,
    "parent": null,
    "world": "/billing",
    "body": "# Billing\n\nCharges people [app/api/pay/route.ts 1-25]. It has 3 parts; open to anyone through `/pricing` [app/pricing/page.tsx 3-3].\n\n## Its parts\n- **/pricing** — Shows the plans [app/pricing/page.tsx 1-40]\n",
    "outline": [{ "id": "parts", "level": 2, "title": "Its parts" }],
    "sources": [{ "path": "app/pricing/page.tsx", "from": 1, "to": 40, "url": "https://github.com/acme/shop/blob/abc1234/app/pricing/page.tsx#L1-L40", "part": { "world": "/billing", "id": "app/pricing/page.tsx" } }],
    "diagram": "flowchart LR\n  n0([\"Visitors\"])\n  n1[\"/pricing\"]\n  n0 -->|enters| n1",
    "lang": "en",
    "by": "facts",
    "sha": "abc1234",
    "at": "2026-10-22T05:40:39.836Z",
    "changes": [{ "at": "2026-10-22T05:40:39.836Z", "sha": "abc1234", "parts": { "added": [{ "name": "/pricing", "part": { "world": "/billing", "id": "app/pricing/page.tsx" } }], "addedMore": 0, "removed": [], "removedMore": 0 }, "connections": { "added": 1, "removed": 0 }, "pages": { "added": ["/pricing"], "addedMore": 0, "removed": [], "removedMore": 0 }, "data": { "added": [], "addedMore": 0, "removed": [], "removedMore": 0 }, "services": { "added": [], "addedMore": 0, "removed": [], "removedMore": 0 }, "modules": { "added": [], "addedMore": 0, "removed": [], "removedMore": 0 }, "touched": false }]
  }
}

Un repo gratis recibe el árbol entero y la página del proyecto; cualquier otra página es un not_found, como en la app.

Autenticación

Una clave de API como Authorization: Bearer sr_…. Mira Autenticación.

La versión y la fecha del índice corresponden a la lectura de documentación. Cada capítulo conserva su propio sha (código de origen), at (fecha de escritura del documento, no del commit) y lang (idioma). Si sus hechos no cambiaron, puede conservar una versión anterior sin que eso implique que esté desactualizado.