Summary
Prompts used in automatic documentation generation
Overview documentation
For System introduction overview
Give a brief high level system overview and its purpose using the provided context for this program, keep it detailed, concise and confident.
For High Level Doc creation
For Mermaid Diagram creation
Create a basic level-1 Data Flow Diagram (DFD) in Mermaid js syntax. Do not include parameters in function calls.
For Mermaid Diagram fix syntax
Mermaid Flowchart Syntax Cheat Sheet
This cheat sheet provides a concise reference for the syntax used in Mermaid flowcharts. Mermaid flowcharts enable the creation of complex diagrams using simple text-based language.
Basic Structure
- Nodes: Represented by geometric shapes.
- Edges: Arrows or lines connecting nodes.
Syntax for Nodes
-
Standard Node:
id
flowchart LR id
-
Node with Text:
id1[Text]
flowchart LR id1[This is text]
-
Node Shapes:
-
Round Edges:
id1(Text)
-
Stadium Shape:
id1([Text])
-
Subroutine Shape:
id1[[Text]]
-
Cylindrical:
id1[(Text)]
-
Circle:
id1((Text))
-
Asymmetric:
id1>This is text]
-
Rhombus:
id1{Text}
-
Hexagon:
id1{{Text}}
-
Parallelogram:
id1[/Text/]
-
Alternate Parallelogram:
id1[\Text\]
-
Trapezoid:
id1[/Text\]
-
Alternate Trapezoid:
id1[\Text/]
-
Double Circle:
id1(((Text)))
-
Round Edges:
Syntax for Edges
-
Standard Arrow:
A --> B
-
Open Link:
A --- B
-
Text on Links:
A -- Text --> B
orA ---|Text|B
-
Dotted Link:
A -.-> B
-
Dotted Link with Text:
A -. Text .-> B
-
Thick Link:
A ==> B
-
Thick Link with Text:
A == Text ==> B
-
Invisible Link:
A ~~~ B
-
Chaining of Links:
A -- text --> B -- text2 --> C
-
Multi Directional Arrows:
A <--> B
,A o--o B
,A x--x B
Special Characters and Unicode
- Enclose troublesome characters or Unicode text in quotes:
id1["Text (with special characters)"]
Subgraphs
-
Basic structure:
subgraph title node definitions end
Styling
-
Styling Nodes and Edges: Use
style
keyword. -
Classes: Define with
classDef
and apply withclass
or:::
operator. - CSS Classes: Define in HTML and apply in Mermaid.
- Default Class: Applies to all unstyled elements.
Interaction and Comments
-
Interactive Elements: Use
click
keyword for binding events. -
Comments: Preface with
%%
to ignore in rendering.
Configuration
-
Renderer:
%%{init: {"flowchart": {"defaultRenderer": "elk"}} }%%
-
Width: Adjust with
mermaid.flowchartConfig = { width: '100%' }
Example Usage
Given your example, here's the breakdown:
flowchart LR A[PostgresStorageConnector] -- insert --> B((Database)) A -- get --> B A -- delete --> B A -- query --> B A -- get_all --> B C[LanceDBConnector] -- insert --> B C -- get --> B C -- delete --> B() C -- query --> B C -- get_all --> B
- `A[PostgresStorageConnector]` and `C[LanceDBConnector]`: Nodes with text.
- `B((Database))`: Circle node with text.
- `-- insert -->`: Arrow with text.
- `-- get -->`, `-- delete -->`, `-- query -->`, `-- get_all -->`: Standard arrows.
This syntax is valid in Mermaid and will create a flowchart with nodes and directed edges as described.