Erdia
CLI to generate mermaid.js ER diagram using TypeORM entity
Install / Use
/learn @imjuni/ErdiaREADME
ERDIA
erdia is create ER Diagram and Entity schema specification using by TypeORM and mermiad.js
Why erdia ?
erdia is a cli tool that allows you to automatically generate DB specifications and ER diagram documents using TypeORM. It is very hard to be diligent about updating DB specifications and ER diagrams whenever code and DB changes. erdia automatically generates DB statement and ER diagram documents using information provided by TypeORM whenever the code changes. By automatically generating documents using TypeORM code, you can maintain the freshness of your documents with minimal effort.
Summary,
- ER diagram generate using mermaid.js syntax.
- Every document generate using ETA template engine
- Use TypeORM
Automate your database ER diagram drawing!
Table of Contents <!-- omit in toc -->
- How it works?
- Getting started
- Usage
- Programming Interfaces
- Requirement
- Example
- Output Format
- Template
- TypeScript
- License
- References
erdia support initialization command. And you execute build command.
How it works?
graph LR
A[TypeORM Entity] --> erdia
subgraph erdia
direction TB
C[TypeORM Entity]-->|extract <br/>entity specification|B[erdia]
end
erdia-->|extract <br />specification|D
D[ETA<br />template<br />engine]-->E[html]
D-->F[markdown]
D-->G[pdf]
D-->H[image]
Getting started
Installation
npm install erdia --save-dev
Confuguration
npx erdia init
Generation
erdia build -d [your dataSource path] -o dist/entity --format html
Usage
Commands
erdia supports the build, clean, init, and eject commands.
| Command | Description | | ------- | ----------------------------------------------------------- | | build | Builds the erdiagram document. | | init | Generates a configuration file for creating erdiagrams. | | eject | Generates a template document file for creating erdiagrams. | | clean | Deletes the previously built erdiagram document. |
CLI Options
- build options
- init options
- eject options
- clean options
Programming Interfaces
Interfaces
| Command | Description | | ------------ | ----------------------------------------------------------- | | building | Builds the erdiagram document. | | initializing | Generates a configuration file for creating erdiagrams. | | ejecting | Generates a template document file for creating erdiagrams. | | cleaning | Deletes the previously built erdiagram document. |
Function Options
- build options
- init options
- eject options
- clean options
Requirement
- TypeORM 0.3.x
Example
Showcase

Documents
Output Format
erdia support html, markdown, pdf, svg, png. Database entity specification table only support html, markdown, pdf format.
# PDF document generate
erdia build -d [your dataSourcePath] -o dist/entity --format pdf
Template
erdia use ETA template for entity specification document and ER diagram. Template easily detach from erdia.
npx erdia eject
Detached template can change and every document customizable. The template can be found here.
TypeScript
If you are using TypeScript, you must use ts-node or tsx to run erdia. This is because the TypeORM Entity file is written in TypeScript.
License
This software is licensed under the MIT.
References
Related Skills
node-connect
326.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
80.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
80.4kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
openai-whisper-api
326.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
