open-erd

agent
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Warn
  • process.env — Environment variable access in engine/scripts/cdp.js
  • network request — Outbound network request in engine/scripts/cdp.js
  • process.env — Environment variable access in engine/scripts/measure-chrome.js
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

An agent draws the ERD of any project from its source code, even without foreign keys. Interactive SVG, Excel and draw.io. Claude Code plugin.

README.md

open-erd

An ERD of any project, drawn by an agent from its source code.
Even when the database has no foreign keys.
Rails · Laravel · Django · Prisma · TypeORM · Sequelize · Mongoose · raw SQL
/open-erd:init · /open-erd:sync · /open-erd:ask

▶ Try the live demo — a real 105-table schema, right in your browser

License: MIT Claude Code Output

  • Finds the relations the database never declared: reads models,
    migrations and associations, polymorphic ones included.
  • Checks every fact against the code with a second agent before it is
    committed.
  • One interactive erd.svg for any browser, plus Excel and draw.io copies.
  • Stays current: /open-erd:sync after code changes.

Intro video: the ERD overview of the Solidus demo, one card per domain
▶ Watch the 74-second intro

Demo data: the open-source Solidus e-commerce app, 105 tables in 14 domains. Open it yourself · erd.xlsx · erd.drawio

How it works

/open-erd:init    # once per project: pick the ERD folder, approve the extract script and the domains
/open-erd:sync    # after code changes: extract, update the model, verify, redraw, commit

Open out/erd.svg in a browser. $open-erd-init and $open-erd-sync in Codex.

init reads your code, open out/erd.svg in the browser, sync after code changes, review what the AI guessed; ask questions at any time

Install

Claude Code:

/plugin marketplace add TOMOSIA-VIETNAM/open-erd
/plugin install open-erd@open-erd
  • Update: /plugin marketplace update open-erd → /plugin › Installed › open-erd › Update now → /reload-plugins
  • Auto-update: /plugin › Marketplaces › open-erd › Enable auto-update

Codex:

codex plugin marketplace add TOMOSIA-VIETNAM/open-erd
codex plugin add open-erd@open-erd
  • Update: codex plugin marketplace upgrade open-erd → new session

After an update, run /open-erd:sync in each ERD workspace to redraw it with the new viewer. Other ways to install: docs/install.md.

Uninstall

Your ERD workspaces stay where they are; only the plugin goes.

Claude Code:

/plugin uninstall open-erd@open-erd
/plugin marketplace remove open-erd

Codex, installed from the plugin catalog:

codex plugin remove open-erd@open-erd
codex plugin marketplace remove open-erd

Codex, installed with the one-line script:

curl -fsSL https://raw.githubusercontent.com/TOMOSIA-VIETNAM/open-erd/main/install.sh | bash -s -- --uninstall

The second line of each pair (removing the marketplace) is optional. Open a new session afterwards.

What you get

Find any table in a second

⌘K searches tables and columns and runs every command. Type a > b to see
how two tables join.

Command palette: typing ship jumps to spree_shipments

See how two tables join

Each hop with its condition, warnings when a hop multiplies rows, and a
ready-to-check SELECT … JOIN.

Join path from spree_users to spree_shipments

Every table explained

Columns with types, defaults and enum meanings, relations you can follow,
indexes, and a note on what the table is for. ← goes back.

Table panel with columns, relations and notes

Where personal data lives

Highlight › Personal data tints every PII column across the schema, with a
list per domain. The public sharing profile leaves them out entirely.

Personal data map

Schema health, without a score

Missing foreign keys, unindexed references, redundant indexes — each with a
one-line reason and reference SQL for your database.

Schema health findings

Present it

Press T for a tour: one domain after another, with its description.

Tour through the domains

Also

  • /open-erd:ask "how does a customer get a refund?" — an answer from the
    ERD, with a link that opens the viewer on the tables it used.
  • Excel (out/erd.xlsx) — one sheet per table, plus Relations, PII,
    Health. draw.io (out/erd.drawio) — to rearrange or annotate.
  • Change anything by just saying it: "orders.status: refunded means the money
    was returned"
    .

Commands

Command When
/open-erd:init Once per project: creates the ERD
/open-erd:sync [focus] After code changes — run it often
/open-erd:review Confirm or correct the relations the AI guessed (dashed lines), one by one. Not a code review
/open-erd:ask "<question>" Questions about the data model
/open-erd:diff [from] [to] Compare two versions of the ERD: a tag, any commit, or your uncommitted edits
/open-erd:feedback <text> Tell us what to improve

Safe by design

  • Reads files only; never boots your app, never writes to your repositories.
  • Database metadata only with your approval each time, read-only; credentials
    are never stored.
  • Nothing is pushed anywhere unless you ask.

Full reference · Development · MIT

Reviews (0)

No results found