Arrowgram is a production-grade toolkit for creating commutative diagrams for the web and research papers. It is designed to be easily used by humans (via a sleek web editor) and AI coding agents (via a strictly typed JSON API).
Try it now at: https://hotdocx.github.io/arrowgram
LastRevision offers live cohort training that helps professionals use AI tools in general and apply them directly to Arrowgram workflows for diagrams, books, and slide decks.
No coding needed.
You learn practical ChatGPT and 15+ AI-tool workflows for real work, then use the same stack to produce publish-ready technical outputs in days, not months.
Weekly sessions focus on both:
- General AI productivity and delivery workflows you can reuse across roles
- Arrowgram-specific creation workflows for AI-assisted diagrams, papers/books, and slide decks
Join professionals, instructors, and researchers in live sessions that convert ideas into publishable outputs.
- 3 hours weekly Saturday cohorts, 7:30 PM GST (UTC+4)
- Free for this intro cohort
- 20,000+ community network
- Weekly live Saturday cohorts
- Hotdocx + LastRevision + Arrowgram stack
Enroll and launch your workspace: https://hotdocx.github.io
Build and publish your professional AI agents that co-work for you 24/7, save you time, and get you funded by fans and local clients.
- Dedicated 24/7 cloud computers
- Webhook trigger events, scheduled automations
- API tools, Gmail, Website, Latex, Excel, PDF tools
- Agent-to-agent marketplace
- Run your AI workspace from Telegram or WhatsApp chat
- OpenClaw-compatible 🦞 for professionals
Explore LastRevision.pro: https://LastRevision.pro/
- Declarative Syntax: JSON-based specification (
DiagramSpec) that is human-readable and AI-friendly.- Note: In JSON strings, LaTeX backslashes must be escaped (e.g.
$\\to$).
- Note: In JSON strings, LaTeX backslashes must be escaped (e.g.
- Modern Web Editor:
- Project Management: Create, save, and manage multiple diagrams locally (IndexedDB).
- Academic authoring: Draft papers (Paged.js) and slide decks (Reveal.js) with the same Arrowgram + KaTeX + Mermaid + Vega pipeline.
- Keyboard First: Vim-like speed for power users (
Shift+Dragto connect,Ctrl+Zto undo). - Manipulation: Flip, Reverse, Rotate, and Fit-to-screen tools.
- AI Co-Pilot: Native integration with Google Gemini 2.0 to generate and modify diagrams via natural language.
- High-Quality Rendering: KaTeX integration for beautiful mathematical typography.
- Advanced Styles: Support for adjunctions, pullbacks, squiggly arrows, proarrows, bullets, and more.
- Production Ready:
- Export: SVG, PNG, and TikZ-CD (for LaTeX papers).
- Standalone Library: Use
@arrowgram/corein your own React apps or server-side pipelines.
This is a monorepo managed by NPM Workspaces.
packages/arrowgram: The core library. Contains the geometry engine, Zod schemas, and React renderer. Tested with Vitest.packages/web: The official web-based editor. Built with React, Vite, and Paged.js. Tested with Jest.packages/lastrevision: Private SaaS host/runtime for Arrowgram (TanStack Start + Postgres + Better Auth). Not included in the OSS mirror.tmp-quiver-codebase,tmp-arrowgram-original: Reference implementations and inspiration sources.
- Node.js (v20+)
- NPM (v10+)
- (Optional) Google Gemini API Key for AI features.
Public OSS clone (default):
git clone https://github.com/hotdocx/arrowgram.git
cd arrowgram
npm installPrivate super-repo clone (internal maintainers):
git clone https://github.com/hotdocx/arrowgram-super.git arrowgram
cd arrowgram
git remote add public https://github.com/hotdocx/arrowgram.git
npm installStart the Web Editor:
npm run dev
# Starts Vite dev server at http://localhost:5173 (usually)Start the SaaS app (private repo only):
npm run dev -w packages/lastrevision
# Starts TanStack Start dev server at http://localhost:3000See docs/sop/LASTREVISION_LOCAL_DEV.md for bearer token auth, local validation scripts, and attachment upload (CORS) notes.
Run Tests:
# Core Library Tests (Geometry, Schema)
npm test --workspace=packages/arrowgram
# Web App Tests (Components, Logic)
npm test --workspace=packages/webBuild All Packages:
npm run buildWhen working in the private super-repo:
- Push private source of truth:
git push origin main
- Export allowlisted OSS subset and sync public repo:
scripts/sync_public_oss.sh
- Deploy OSS site to public
gh-pages:scripts/deploy_arrowgram_pages.sh
Safety:
scripts/export_oss.shis allowlist-based and excludespackages/lastrevision/**.- Never push private code directly to
https://github.com/hotdocx/arrowgram. - See
docs/sop/OSS_MIRRORING.mdfor the full SOP.
Start with AGENTS.md (repo context map + workflows), then read:
- JSON API Specification (DiagramSpec schema)
- LastRevision Local Dev (SaaS local/dev/prod testing + storage)
- LastRevision Reference IDs (permanent citation IDs for publications)
- Reference ID Port Plan (implementation checklist + rollout)
- Reveal Slides Template Plan (slides master template + CSS side-artifact)
- Product Requirements (PRD)
- Functional Specification
- JSON API Specification
- Standard Operating Procedures (SOPs):
- Contributing SOP
- Reference ID Architecture
- Reference ID Port Plan
MIT
