GitHub - noormdev/ignatius: Visualize Data Models, Data Graphs, and Data Flows in a way that's suitable for both Humans and LLMs · GitHub
/" data-turbo-transient="true" />
Skip to content
Type / to search
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading. Please reload this page.
noormdev
ignatius
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>262 Commits<br>262 Commits
.claude/project
.claude/project
.cursor/rules
.cursor/rules
.github/workflows
.github/workflows
assets
assets
docs
docs
models
models
scripts
scripts
skills/noorm-modeling
skills/noorm-modeling
spec
spec
src
src
test
test
trash
trash
.gitignore
.gitignore
.signalsignore
.signalsignore
CHANGELOG.md
CHANGELOG.md
CLAUDE.md
CLAUDE.md
CONTRIBUTING.md
CONTRIBUTING.md
LICENSE
LICENSE
NOTICE
NOTICE
README.md
README.md
bun-env.d.ts
bun-env.d.ts
bun.lock
bun.lock
bunfig.toml
bunfig.toml
install.sh
install.sh
package.json
package.json
release-please-config.json
release-please-config.json
release-please-manifest.json
release-please-manifest.json
tsconfig.json
tsconfig.json
View all files
Repository files navigation
ignatius
ignatius turns a folder of markdown files into an interactive data model: an IDEF1X entity-relationship diagram, a searchable data dictionary, and SSADM data flow diagrams, all in one app. Each entity lives in its own .md file with YAML frontmatter for structure and a prose body for documentation. The tool reads that folder, derives the relationships, and renders the views — pan, zoom, click through, search. Markdown is the source of truth. The diagrams are generated, never hand-drawn.
You write the schema as text. ignatius works out the cardinality, the entity classification, and the subtype clusters from the structure you describe, then draws the crow's-foot notation for you. Add a flows/ folder and the same entities appear as data stores in process flow diagrams that show how the business actually moves the data.
Why markdown
A diagram drawn by hand drifts from the schema it documents. ignatius removes the drawing step. You describe entities, primary keys, columns, and relationships in frontmatter, and the layout follows from the data. Change a foreign key and the cardinality marker updates on the next reload. Add an entity file and it appears in the graph. The text diffs cleanly in version control, so a schema change reads like any other code change.
Install
Install the CLI with one command — it detects your platform and downloads the matching binary from the latest release:
curl -fsSL https://raw.githubusercontent.com/noormdev/ignatius/main/install.sh | sh
It installs to /usr/local/bin when writable, otherwise $HOME/.local/bin. Override with IGNATIUS_INSTALL_DIR, or pin a version with IGNATIUS_VERSION=v0.2.0. Windows users download ignatius-windows-x64.exe from the releases page. Prefer to build from source? See Getting started.
To author models from Claude Code with guided Q&A, install the noorm-modeling skill (the modeling skill):
npx skills add https://github.com/noormdev/ignatius --skill noorm-modeling
Add -g to install it globally for every project instead of just the current one.
Quick start
Point ignatius at a folder of entity files:
ignatius serve path/to/your/models --port 3000
Edit any file in the folder and the graph reloads in the browser without a refresh.
Documentation
Guide<br>What it covers
Getting started<br>Install, build from source, and serve your first model
Commands<br>serve, export, validate, and model discovery
The folder format<br>ignatius.yml, entity files, columns, relationships, groups
What gets derived<br>Cardinality, classification, and subtype clusters
Bidirectional predicates<br>Forward and reverse edge labels with hover-swap
Process flows<br>Data flow diagrams: processes, externals, stores, sub-DFDs
Validation and findings<br>The linter, severity tiers, and where findings surface
Themes and branding<br>Color palettes, the light/dark toggle, logo and copyright
The modeling skill<br>/noorm-modeling Q&A authoring in Claude Code
Building from source<br>Build stages, project layout, and tests
The glossary defines the shared vocabulary — DG, DD, DFD, data entity, data store, external entity — used across the app, the docs, and the code.
Design and contract docs
Conceptual designs live in docs/design/; the implementation contracts derived from them live in docs/spec/. Start with docs/design/markdown-driven-erd.md for the entity format and the derivation rules. Contributors...