|
d |
|
<details>
|
|
\ No newline at end of file |
|
<summary>
|
|
|
|
|
|
|
|
# Summary
|
|
|
|
|
|
|
|
</summary>
|
|
|
|
|
|
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
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
|
|
|
|
```
|
|
|
|
|
|
|
|
2. **Node with Text**: `id1[Text]`
|
|
|
|
|
|
|
|
flowchart LR
|
|
|
|
id1[This is text]
|
|
|
|
```
|
|
|
|
|
|
|
|
3. **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)))`
|
|
|
|
|
|
|
|
## Syntax for Edges
|
|
|
|
|
|
|
|
1. **Standard Arrow**: `A --> B`
|
|
|
|
2. **Open Link**: `A --- B`
|
|
|
|
3. **Text on Links**: `A -- Text --> B` or `A ---|Text|B`
|
|
|
|
4. **Dotted Link**: `A -.-> B`
|
|
|
|
5. **Dotted Link with Text**: `A -. Text .-> B`
|
|
|
|
6. **Thick Link**: `A ==> B`
|
|
|
|
7. **Thick Link with Text**: `A == Text ==> B`
|
|
|
|
8. **Invisible Link**: `A ~~~ B`
|
|
|
|
9. **Chaining of Links**: `A -- text --> B -- text2 --> C`
|
|
|
|
10. **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 with `class` 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. |