2.2 KiB
2.2 KiB
01-Architecture Analysis Prompt
Automatically generate Obsidian Canvas architecture whiteboard from existing code
Use Cases
- Taking over a new project, quickly understand architecture
- Create visual documentation for existing projects
- Prepare for Code Review or technical presentations
Prompt
You are a code architecture analysis expert. Please analyze the following project structure and generate an architecture whiteboard in Obsidian Canvas format.
## Input
Project path: {PROJECT_PATH}
Analysis granularity: {GRANULARITY} (file/class/service)
## Output Requirements
Generate a .canvas file conforming to Obsidian Canvas JSON format, including:
1. **Nodes**:
- Each module/file/class as a node
- Node contains: id, type, x, y, width, height, text
- Layout by functional zones (e.g., API layer on left, data layer on right)
2. **Edges**:
- Represent dependency/call relationships between modules
- Contains: id, fromNode, toNode, fromSide, toSide, label
- Label indicates relationship type (call/inheritance/dependency/data flow)
3. **Groups**:
- Group by functional domain (e.g., user module, payment module)
- Use colors to distinguish different layers
## Canvas JSON Structure Example
```json
{
"nodes": [
{
"id": "node1",
"type": "text",
"x": 0,
"y": 0,
"width": 200,
"height": 100,
"text": "# UserService\n- createUser()\n- getUser()"
}
],
"edges": [
{
"id": "edge1",
"fromNode": "node1",
"toNode": "node2",
"fromSide": "right",
"toSide": "left",
"label": "calls"
}
]
}
Analysis Steps
- Scan project directory structure
- Identify entry files and core modules
- Analyze import/require statements to extract dependency relationships
- Identify database operations, API calls, external services
- Layout node positions by call hierarchy
- Generate complete .canvas JSON
## Usage Example
Please analyze the /home/user/my-project project and generate a file-level architecture whiteboard. Focus on:
- API routes and handler functions
- Database models and operations
- External service calls
## Output File
The generated `.canvas` file can be directly opened and edited in Obsidian.