Open it from GitHub
Point diagramming.dev at any repo. It reads the .diagram files already committed there and renders them on a live canvas — no import, no export, no copy-paste.
Every diagram is a plain-text .diagram file in your Git repo — so developers and their coding agents change the same live canvas at once, and every edit round-trips through a pull request.
Free & open source·No credit card·Signs in with your GitHub account
Like Mermaid, but humans and AI agents co-edit the same canvas — live.
The diagramming.dev editor: a .diagram text file on the left showing an "Order Service Architecture" with frontend, API gateway, order and inventory services, a Postgres cylinder and a Redis cache; on the right, the same nodes rendered on the live canvas. A cyan human cursor and a violet AI-agent cursor are both present; the agent has just added a "redis" cache node and its edge, highlighted in violet in both panes.
An unfamiliar workflow made concrete in three steps — from opening a repo to shipping the change back as code.
Point diagramming.dev at any repo. It reads the .diagram files already committed there and renders them on a live canvas — no import, no export, no copy-paste.
You drag nodes; your coding agent edits the same file through MCP tools. Both cursors move on one canvas in real time — you see exactly what it changed, as it changes.
Save writes a minimal, human-readable text diff — a moved node is one changed line. It commits to a branch and opens a pull request, so diagrams review like any other code.
Paste a GitHub URL and diagramming.dev reads your codebase, infers the module graph, and drops an editable .diagram file right into your repo — ready for you and your AI agents to co-edit from the first commit.
Sign in with GitHub to generate — we write the .diagram file directly to your repo.
Renderer, reconciler, hooks internals — see it as a graph.
App Router, edge runtime, middleware — the full pipeline.
DI container, module graph, HTTP adapters laid bare.
Query engine, schema, client — data layer end to end.
Not another drag-and-drop tool bolted onto an image export. Everything is text, everything is versioned, everything is scriptable.
Your coding agent gets first-class read/write access to the diagram — it can add a node, wire an edge, or rename a service without ever leaving its session.
# the agent calls a tool, not a screenshot diagram.add_node("redis", shape="cylinder") diagram.connect("order-service", "redis")
Import the diagrams you already have and export back out. Round-trip Mermaid and Graphviz DOT in and out, so nothing is trapped in a proprietary format.
# bring what you already wrote import design.mmd → design.diagram export design.diagram → design.dot
Link a diagram to the modules it describes. When the code drifts from the picture, diagramming.dev flags it and opens a pull request with the fix — so the architecture diagram stops lying the day after it's drawn. (Reconciliation runs for signed-in project members, not anonymous visitors.)
# drift detected in packages/api reconcile: "payment-service" added in code ↳ not in architecture.diagram → opened PR #418 · +1 node
Don't start from a blank canvas. Open a starter — microservice architecture, request flow, ER sketch — and edit from something real.
# new diagram, not a blank page templates/ microservices request-flow er-model
No lock-in and nothing binary. The file is text, it lives in your repo, and it reviews in a normal pull request — diffs a human can read.
# a moved node = one changed line - order-service + order-service { at (400, 300) }
Because the diagram is text, an agent's change lands as a normal, reviewable diff — here, the reconcile job that noticed the code grew a cache and updated the picture to match.
Sign in with GitHub and open your first diagram. It's free, it's open source, and the file is yours — in your repo, in plain text.