MCPcopy Index your code
hub / github.com/davechallis/erd-rs

github.com/davechallis/erd-rs @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
98 symbols 217 edges 4 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

erd-rs

Rust CLI tool for creating entity-relationship diagrams from plain text markup. Based on erd (uses the same input format and output rendering).

Entities, relationships and attributes are defined in a simple plain text markup format, which is used to generate an entity-relationship diagram in DOT format.

This can then be rendered into e.g. pdf, png, svg, etc. using Graphviz or another similar tool.

Status

Currently under development, general parsing and mostly default output is completed, but not yet feature complete.

Approximate TODO:

  • rendering customisation
  • checks that entities exist when parsing relationships
  • code cleanup/refactoring
  • internal function/parser documentation
  • user guide/overvie(is implemented, but rendering is not)w
  • additional error handling
  • add github actions to run tests
  • add action to build/push docker image to docker hub

Core symbols most depended-on inside this repo

ident
called by 11
src/parser.rs
attribute
called by 10
src/parser.rs
options
called by 9
src/parser.rs
merge_hashmap
called by 8
src/ast.rs
parse_erd
called by 7
src/parser.rs
ident_quoted
called by 5
src/parser.rs
blank_or_comment
called by 4
src/parser.rs
entity
called by 4
src/parser.rs

Shape

Function 61
Method 22
Class 11
Enum 4

Languages

Rust100%

Modules by API surface

src/parser.rs56 symbols
src/render.rs20 symbols
src/ast.rs19 symbols
src/main.rs3 symbols

For agents

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

⬇ download graph artifact