--- /dev/null
+
+digraph ecosystem {
+ size = "4,3"
+ margin=0
+ graph [fontsize=20,dpi=200]
+ node [fontsize=20]
+ edge [fontsize=20]
+
+ gmime
+ xapian
+ notmuch_cli [shape=record,style=filled, color=yellow,label="notmuch CLI"]
+ libnotmuch [style=filled,color=yellow]
+
+ subgraph cluster_clients {
+ style=filled;
+ color=green;
+ label="Mail user agents";
+ node [shape=record, style=filled, color=white];
+ notmuch_emacs [label="notmuch-emacs",color=yellow]
+ alot
+ bower
+ astroid
+ notmuch_web [label="notmuch-web"]
+ noservice
+ neomutt [label="neomutt"]
+ notmuch_vim [label="notmuch-vim", color=lightyellow]
+ notmuch_mutt [label="notmuch-mutt", color=lightyellow]
+ }
+
+
+ subgraph cluster_tools {
+ style=filled;
+ color=SlateBlue;
+ label="tools";
+ node [shape=record, style=filled, color=white];
+ afew
+ nmbug [color=yellow]
+ nmbug_status [color=yellow]
+ }
+
+ subgraph cluster_bindings {
+ label="Bindings"
+ style=filled;
+ color=YellowGreen;
+ node [shape=record, style=filled, color=white];
+ ruby_notmuch [label="ruby", color=yellow]
+ python_notmuch [label="python", color=yellow]
+ notmuch_go [label="go"]
+ }
+
+ neomutt -> libnotmuch
+ astroid -> libnotmuch
+ alot->python_notmuch
+ notmuch_emacs->notmuch_cli
+ notmuch_mutt->notmuch_cli
+ notmuch_vim->ruby_notmuch
+ bower -> notmuch_cli
+
+ noservice->notmuch_cli
+ nmbug->notmuch_cli
+ nmbug_status-> python_notmuch
+
+ python_notmuch->libnotmuch
+ ruby_notmuch->libnotmuch
+ notmuch_go ->libnotmuch
+
+ notmuch_web->notmuch_cli
+ notmuch_cli->libnotmuch
+
+ afew->python_notmuch
+
+ libnotmuch->xapian
+ libnotmuch->gmime
+ {
+ edge [style="invisible",arrowhead="none"]
+ notmuch_emacs->astroid
+ notmuch_emacs->neomutt
+ notmuch_emacs->notmuch_vim
+ notmuch_emacs->alot
+ notmuch_emacs->bower
+ bower->notmuch_vim
+ bower->astroid
+ notmuch_web->noservice
+ }
+
+}
+