shermanhuman/node-psql icon
public
Published on 4/23/2025
NodeJS / PostgreSQL

- Node v22 - Node pg - dotenv - apisauce v2 - Vite - vitest

Rules
Prompts
Models
Context
200kinput·8.192koutput
200kinput·8.192koutput
openai o3-mini model icon

o3-mini

OpenAI

200kinput·100koutput
1047kinput·32.768koutput
128kinput·16.384koutput
openai o1 model icon

o1

OpenAI

200kinput·100koutput

MCP Servers

Learn more

No MCP Servers configured

- Use Node v22 - Use Postgresql 17 - Use dotenv to store secrets in environment - use pg the node-postgres library  - Use apisauce	v2 as the REST client  - Use vitest	for testing  - Use date-fns v4	for date library  - Use npm for package management  - Use Vite as the build tool
PostgreSQLhttps://www.postgresql.org/docs/current/index.html
Vite Documentationhttps://vite.dev/guide/

Prompts

Learn more
Write Vitest Test
Vitest unit test
Use Vitest to write a comprehensive suite of unit tests for this function


My prompt
Generate a mermaid call graph of the current project
Create a Mermaid `flowchart TD` diagram visualizing the functional structure and call flow of the current software project.  

**Diagram Content:**

*  **Structure:** Use subgraphs to represent files or modules containing functions/methods from the primary source code directories (e.g., `src/`, `app/`, exclude tests, dependencies).

*  **Functions:** Represent key functions/methods within their respective subgraphs as nodes (labeled `FileName.functionName` or `ClassName.methodName`).

*  **Function Purpose:** For each function node, provide a concise description. *Prioritize* extracting this from existing code comments (docstrings, JSDoc). If comments are absent, *attempt* to infer the purpose based on name and code, clearly marking it as inferred (e.g., "[inferred] Does X").  Display the function purpose as a tooltip associated with the node rather than directly in the node label to maintain visual clarity.

*  **Call Relationships:** Draw directed arrows between function nodes to indicate direct calls made *within* the analyzed project source code.

**Analysis & Highlighting:**

*  **Unused Functions:** Clearly identify and visually distinguish function nodes that are not called by any other analyzed function (potential dead code).

*  **Similar Functionality:** *Attempt* to identify functions that appear to perform highly similar tasks, even if not syntactically identical. Highlight these nodes distinctly and potentially add a note about suspected similarity.

*  **Highlighting** Use Mermaid classDef statements to define distinct styles (e.g., different border color/stroke, fill color) for 'unused' and 'similar' function nodes, and apply these classes to the relevant nodes in the diagram.

**Scope**

*   Focus analysis on primary source code, explicitly excluding test suites, configuration files, and third-party libraries unless instructed otherwise.

*   Exclude any files excluded by .gitignore

**Output:**

*   Use Github flavored markdown.

*   Document has the following layout:
    *   A mermaid graph of the call graph.
    *  A table listing all functions with a brief summary of their purpose.
    *  A table listing dead code (unused functions).
    *  A table listing similar functions.


*   Save it as `docs/CALLGRAPH.md`.    

**Process:**

Follow this step by step process:

1.  Start by creating a list of all appropriate source files.  If a file tree wasn't provided in the prompt create one first.

2.  For each file, parse out function definitions and their direct calls.

3.  Build the graph structure.

4.  For each function analyze it's purpose and add a summary to each function on the graph.

5.  Analyze for unused functions and similar functionality.

6.  Generate the markdown output.
        a. Generate mermaid graph
        b. Generate list of functions with their purposes in markdown table
        c. List dead code in markdown table
        d. List similar functions in markdown table

Context

Learn more
Reference all of the changes you've made to your current branch
Reference the most relevant snippets from your codebase
Reference the markdown converted contents of a given URL
Uses the same retrieval mechanism as @Codebase, but only on a single folder
Reference the last command you ran in your IDE's terminal and its output
Reference specific functions or classes from throughout your project
Reference any file in your current workspace
Reference the structure of your current workspace
Reference the contents of all of your open files