MCPcopy Index your code
hub / github.com/dgmjs/dgmjs

github.com/dgmjs/dgmjs @v1.5.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.5 ↗ · + Follow
1,926 symbols 5,230 edges 294 files 701 documented · 36% updated 6mo agov1.5.5 · 2025-12-26★ 1,54720 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DGM.js

DGM.js

npm

An infinite canvas with smart shapes. It supports:

  • 💡 Smart shapes (scripting, constraints, extended properties)
  • 🔧 Headless components (React)
  • 🔥 Infinite canvas
  • 📑 Multi-page support
  • 👍 Hand-drawn styles
  • 👥 Real-time collaboration
  • 🎨 Dark mode (adaptive colors)
  • 📸 Export to image (PNG, JPEG, WebP, SVG)
  • 📕 Export to PDF
  • 🔤 Rich text
  • 🧑🏻‍💻 JSON export/import

Getting started

Showcase

  • Frame0 - Sketch-style low-fi wireframing tool
  • DGM App - Full-featured web-based sketchnotes app
  • Nakso - A local-first whiteboard application.
  • draw2app - Generate web app from low-fidelity sketch by OpenAI.

Contribution

Please note that this project is not open contribution, so we do not accept any pull requests.

Build

# clone repository
$ git clone https://github.com/dgmjs/dgmjs.git
$ cd dgmjs

# install all dependencies
$ npm install

# build all packages
$ npm run build --workspaces --if-present

# run demo app
$ npm run dev -w demo

License

DGM.js is distributed under the GPLv3 license. If you want non-GPL license, please see our licensing options.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 975
Function 619
Class 225
Interface 106
Enum 1

Languages

TypeScript100%

Modules by API surface

packages/core/src/shapes.ts209 symbols
packages/core/src/editor.ts144 symbols
packages/core/src/mal/core.ts77 symbols
packages/core/src/mal/types.ts68 symbols
packages/core/src/graphics/memoization-canvas.ts65 symbols
packages/core/src/graphics/geometry.ts64 symbols
packages/core/src/core/transaction.ts62 symbols
packages/core/src/graphics/graphics.ts56 symbols
packages/core/src/manipulators/snapper.ts40 symbols
packages/core/src/macro.ts36 symbols
packages/pdf/src/jspdf-context2d.ts34 symbols
packages/core/src/actions.ts32 symbols

For agents

$ claude mcp add dgmjs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page