@kindraw/client
v0.3.1
Published
Node client for the Kindraw public API (HTTP) + optional Mermaid→Excalidraw generation. Shared by the Kindraw CLI and MCP server.
Downloads
865
Readme
@kindraw/client
Node client for the Kindraw public API, plus optional
Mermaid→Excalidraw generation. Shared by @kindraw/cli and @kindraw/mcp.
Install
npm i @kindraw/clientHTTP client
import { KindrawClient } from "@kindraw/client";
const client = new KindrawClient({ token: process.env.KINDRAW_TOKEN! });
await client.whoami();
await client.listItems();
const { url } = await client.createDrawing({ title: "My drawing", content });Mermaid → Excalidraw (opt-in)
The generation pipeline (mermaid + jsdom + canvas) lives in a separate subpath so plain CRUD stays lightweight:
import { generateExcalidrawFromMermaid } from "@kindraw/client/generate";
const { content } = await generateExcalidrawFromMermaid("graph TD; A --> B");
const { url } = await client.createDrawing({ title: "Flow", content });OAuth loopback
import { startLoopbackLogin } from "@kindraw/client";
const { secret } = await startLoopbackLogin(); // opens browser, returns a PATRequires Node 18+. KINDRAW_API_BASE_URL defaults to https://api.kindraw.dev.
