CLAUDE.md · git:20261020.f8fe5cc · 2026-10-20 · sha256 e9b0c1d11f433073
CLAUDE.md git:20261020.f8fe5ccA
Immutable. This exact content never changes and is served at /api/v1/blob/e9b0c1d11f433073.
# Yantra - Claude Code guide See `AGENTS.md` for the layout of the repo. The diagram-authoring workflow is the `yantra` skill in `.claude/skills/yantra/`; the MCP server is registered in `.mcp.json`. ## Commands - Dev viewer: `npm run dev` (http://localhost:3000; `#example=<name>&step=<n>&view=sequence&theme=dark`) - Tests: `npm test` (Python SDK: `pip install -e python/` then `python -m unittest discover -s python/tests`) - Validate: `node bin/yantra.js validate <file.json>` - Build single-file HTML: `node bin/yantra.js build <file.json> [-o out.html]` - Screenshot for review: `node bin/yantra.js screenshot <file.json> [--step n] [--theme dark] [--view sequence]` - Import Mermaid / draw.io / PlantUML: `node bin/yantra.js import <file.mmd|file.md|file.drawio|file.puml> [-o out.json] [--from ...] [--page n]` (`docs/import.md`) - MCP server: `node mcp/server.js` ## Rules - Answer pages (`"kind": "page"`) follow `schemas/yantra-page.schema.json` and `docs/pages.md`: the answer headline comes first; at most 2 `interactive: true` diagrams per page. - Payloads follow `schemas/yantra-payload.schema.json` and `docs/authoring.md`. Do not write node coordinates; layout is automatic unless `meta.layout.mode` is `"manual"`. - Step `highlightNodes` / `highlightEdges` must reference real ids; highlighted edges need both endpoints highlighted. Protocols and call orders: `meta.view: "sequence"`. - Validate before building, and view a screenshot before calling a diagram finished. - Geometry logic lives only in `src/core/`; the browser, CLI and MCP all call it. - Brand logos live in `src/assets/logo-light.svg` (light theme) and `logo-dark.svg` (dark theme). - Keep `.claude/skills/yantra/SKILL.md` and `.agents/skills/yantra/SKILL.md` identical.