A Visual Studio Code extension that visualizes your Kibana codebase navigation as an interactive graph. Track file journeys, explore plugin dependencies, and map the complete plugin architecture.
-
Three Viewing Modes:
- Journey Mode: Track your file-to-file navigation paths
- Plugin Mode: See plugin groups with their dependencies
- Complete Mode: View the entire Kibana plugin architecture
-
Interactive Graph Visualization: See your file navigation as connected nodes in a React Flow graph
-
Real-time Updates: Nodes and edges appear automatically as you navigate between files
-
Plugin Dependency Mapping: Automatically discovers and displays plugin dependencies from
kibana.jsonc -
Persistent State: Your navigation graph is saved and restored between VSCode sessions
-
Full Controls: Zoom, pan, minimap, and the ability to delete individual nodes
-
File Quick Access: Click any node to jump directly to that file
-
Plugin Search: Search for any plugin in Complete mode and zoom to it
-
Beautiful Design: Seamlessly integrates with your VSCode theme
- Clone this repository
- Install dependencies:
npm install
- Build the extension:
npm run build
- Press
F5in VSCode to launch the Extension Development Host
- Build the VSIX package:
npx vsce package
- Install from VSIX in VSCode
- Open the Pathfinder panel from the Activity Bar (left sidebar)
- Start navigating through your Kibana codebase
- Watch as your navigation path is visualized as a graph
- Switch between Journey, Plugin, and Complete modes using the toggle
- Click on any node to open that file
- Double-click on dependency nodes to open the plugin's index file
- Use the search bar in Complete mode to find and zoom to specific plugins
- Hover over nodes to see the full file path
- Delete nodes by hovering and clicking the × button
- Use the Clear button to reset the graph
Pathfinder: Open Pathfinder Panel- Opens and focuses the Pathfinder panelPathfinder: Clear Navigation Graph- Clears all nodes and edges
# Install dependencies
npm install
# Watch mode for development
npm run watch
# Build for production
npm run build
# Run linting
npm run lintThe extension consists of two main parts:
-
Extension Host (Node.js)
- Tracks file navigation events
- Discovers Kibana plugins and their dependencies
- Manages state persistence
- Communicates with the webview
-
Webview (React + React Flow)
- Renders the interactive graph with force-directed layout
- Handles user interactions
- Provides zoom, pan, and minimap controls
- Implements plugin search with autocomplete
MIT