- Node v22 - Node pg - dotenv - apisauce v2 - Vite - vitest
voyage
voyage
OpenAI
gemini
sambanova
deepseek
deepseek
- 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
Use Vitest to write a comprehensive suite of unit tests for this function
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
No Data configured
No MCP Servers configured