Python
Superficie a buscar: import namidb as tg, tg.Client(uri),
client.cypher(...), client.acypher(...),
client.merge_nodes(...), client.flush(). Preferir
merge_nodes/edges sobre CREATE por fila para ingesta.
Estos docs están diseñados para ser machine-readable como un output de primera clase, no solo human-readable. Hay tres artefactos:
Los asistentes de código con IA son cómo la mayoría de los developers
van a tocar realmente NamiDB por primera vez — a través de Claude
Code, autocompletado de Cursor, Copilot, Codex o cualquier IDE con LLM
embebido. Si esas herramientas no conocen NamiDB, van a generar Cypher
que parece plausible pero no corre, confundir _id (NodeId del motor)
con id (propiedad del usuario), o inventar URI schemes que no
soportamos.
Lo tratamos como un fallo de docs, no un fallo del modelo. Por eso el sitio expone:
| Artefacto | URL pública | Para |
|---|---|---|
llms.txt | docs.namidb.com/llms.txt | Manifiesto de cada página, con descripciones. Liviano. |
llms-full.txt | docs.namidb.com/llms-full.txt | Todo el corpus EN concatenado como un solo markdown. |
llms-small.txt | docs.namidb.com/llms-small.txt | Subset filtrado para context windows chicos. |
| Skill de Claude Code (tarball) | docs.namidb.com/skill/namidb-guide.tar.gz | Instalación en una línea vía curl ... | tar -xz. |
| Skill de Claude Code (navegable) | docs.namidb.com/skill/namidb-guide/SKILL.md | Inspeccionar o elegir archivos de referencia individuales. |
| Markdown crudo | Cada página de docs también sirve Markdown en la misma URL con .md añadido | Ingesta por página. |
El mínimo absoluto que un agente necesita internalizar es:
_id es el NodeId interno del motor desde v0.3. id ahora es
una propiedad de usuario común. La mayoría de los datos de
entrenamiento viejos los confunden. Siempre flaggearlo.memory://, file://, s3://, gs://,
az://. El parámetro ?ns= es obligatorio en todos salvo
memory://<ns>.flush() periódicamente
para pasar memtable → L0 SSTs.412 Precondition Failed. Es correctitud, no un bug.La skill de Claude Code codifica todo esto para no tener que re-explicarlo cada sesión.
Python
Superficie a buscar: import namidb as tg, tg.Client(uri),
client.cypher(...), client.acypher(...),
client.merge_nodes(...), client.flush(). Preferir
merge_nodes/edges sobre CREATE por fila para ingesta.
Rust
Superficie: use namidb::storage::{parse_uri, WriterSession},
WriterSession::open(...), commit_batch(), flush().
namidb-query::{parse, lower, execute} para queries.
HTTP
POST /v0/cypher con auth bearer + body JSON
{"query": "...", "params": {...}}. GET /v0/health,
POST /v0/admin/flush.
CLI
namidb run --store <uri> "...", namidb explain --verbose "...",
namidb parse "...".
CALL { ... }, procedures
user-defined, LOAD CSV, CREATE INDEX/CONSTRAINT, paths
unbounded * están fuera de scope. Si el agente las genera, es
drift de datos viejos de Neo4j.memory:// y file:// para testing efímero / local — usan
el mismo protocolo CAS que s3://.