---
name: dependency-graph
description: "Generate dependency graphs showing import relationships between modules or plugins"
---

# Dependency Graph

Generate a Mermaid flowchart showing import and dependency
relationships between modules, packages, or plugins.

## When To Use

- Understanding what depends on what
- Finding circular dependencies
- Analyzing coupling between modules
- Planning refactoring by seeing dependency impact
- Answering "what breaks if I change this?"

## Workflow

### Step 1: Explore the Codebase

Dispatch the codebase explorer agent:

```
Agent(cartograph:codebase-explorer)
Prompt: Explore [scope] and return a structural model.
Focus on import statements and cross-module dependencies
for a dependency graph. Track both internal and external
imports.
```

### Step 2: Generate Mermaid Syntax

Transform the structural model into a Mermaid flowchart
with directed edges representing dependencies.

**Rules for dependency graphs**:

- Use `flowchart LR` (left-right) for dependency direction
- Each node is a module or package
- Edges point from dependent to dependency (A --> B means
  "A depends on B")
- Color-code by dependency type:
  - Default arrows for internal dependencies
  - Dotted arrows (`-.->`) for external/optional deps
  - Thick arrows (`==>`) for critical path dependencies
- Group into subgraphs by package/plugin
- If depth parameter given, limit transitive dependencies
- Highlight circular dependencies with red styling

**Example output**:

```mermaid
flowchart LR
    subgraph sanctum[Sanctum]
        commit[commit]
        pr_prep[pr_prep]
        workspace[workspace]
    end

    subgraph leyline[Leyline]
        git[git_platform]
        errors[error_patterns]
    end

    subgraph external[External]
        subprocess[subprocess]
        json[json]
    end

    commit --> git
    commit --> json
    pr_prep --> workspace
    pr_prep --> git
    workspace --> errors
    workspace -.-> subprocess
```

### Step 3: Render via MCP

Call the Mermaid Chart MCP to render:

```
mcp__claude_ai_Mermaid_Chart__validate_and_render_mermaid_diagram
  prompt: "Dependency graph of [scope]"
  mermaidCode: [generated syntax]
  diagramType: "flowchart"
  clientName: "claude-code"
```

If rendering fails, fix syntax and retry (max 2 retries).

### Step 4: Present Results

Show the rendered diagram with analysis notes:

- Total modules and dependency count
- Most-depended-on modules (high fan-in)
- Modules with most dependencies (high fan-out)
- Circular dependencies if any detected
