MCPcopy Index your code
hub / github.com/davidschlachter/embedded-struct-visualizer

github.com/davidschlachter/embedded-struct-visualizer @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
16 symbols 34 edges 6 files 1 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Visualize a hierarchy of embedded Go structs

This tool scans a directory of Go source code files to create a visualization of struct embedding in the project. This can be useful for navigating the data structures of complex projects, or identifying dependencies on particular structures.

Example

This figure would be generated from the input file below:

visualizer screenshot

package main

import (
    "time"
    "domain.tld/user"
)

type A struct {
    B
    C map[string]D
}

type B struct {
    E, F  string
    G     user.Status
    Timer H
}

type D struct {
    I uint64
}

type H struct {
    Timer time.Ticker
    J     chan D
}

Usage

Install:

$ go install github.com/davidschlachter/embedded-struct-visualizer@latest

Or,

$ git clone https://github.com/davidschlachter/embedded-struct-visualizer
$ cd embedded-struct-visualizer
$ go install github.com/davidschlachter/embedded-struct-visualizer

Options:

$ embedded-struct-visualizer -h
Usage: embedded-struct-visualizer [OPTIONS] DirToScan                                                        
If the directory to scan is not provided, it defaults to './'
OPTIONS:
  -out <file>  path to output file (default: write to stdout)
  -v           verbose logging

To open a generated DOT file, you could use Graphviz or xdot.

Core symbols most depended-on inside this repo

readFile
called by 3
parser.go
log
called by 3
log.go
removeComments
called by 2
parser.go
cleanPointers
called by 2
parser.go
getFullStructName
called by 2
graph.go
parseStruct
called by 1
parser.go
getStructs
called by 1
parser.go
parseMap
called by 1
parser.go

Shape

Function 15
Struct 1

Languages

Go100%

Modules by API surface

parser.go9 symbols
main.go3 symbols
graph.go2 symbols
parser_test.go1 symbols
log.go1 symbols

For agents

$ claude mcp add embedded-struct-visualizer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact