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
```plaintext
Based on the provided code module, generate a comprehensive analysis as follows:
- **Module Name**: Identify the module with fullpath for module file.
- **Primary Objectives**: Define its purpose.
- **Critical Functions**: List main methods/functions and their roles.
- **Key Variables**: Point out essential variables.
- **Interdependencies**: Note interactions with other system components.
- **Core vs. Auxiliary Operations**: Differentiate main operations from auxiliary ones.
- **Operational Sequence**: Describe any distinct flow.
- **Usage**: Discuss how it is used.
- **Assumptions**: List any assumptions made.
`
### 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
1. **Standard Node**: `id`
flowchart LR id
```plaintext
-
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.