How mguenther-build/vscode-dashboard works
This is a VS Code Git project dashboard. Users add scan paths, browse discovered repositories and modules, inspect project/Git status, choose project metadata or branches, and perform push/pull operations. The webview sends commands to the extension host; the host-side Router delegates them through Provider, while inspection combines project types, module detection and Git data. The tree names scanning, watching and rendering layers, but their source was not sampled, so some internal wiring is intentionally omitted.
Main entry points: Initializer.js App initializer · GitExecutive.js Git executive · ProjectStore.js Project metadata · Inspector.js Project inspector
Components 20
Dashboard webview
- Webview app
media/base/App.js - Dashboard view
media/base/views/dashboardView/DashboardView.js - Webview messenger
media/base/Messenger.js
Extension host
- Command router
src/core/Router.js - Provider
src/core/Provider.js - App initializer
src/Initializer.js - View builder
src/core/Builder.js
Project discovery
- Repository scanner
src/core/Scanner.js - Project inspector
src/services/Inspector.js - Module detector
src/services/detectors/ModuleDetector.js - Path watcher
src/services/watcher/Watcher.js
Git operations
- Git executive
src/services/git/executive/GitExecutive.js - Git queries
src/services/git/service/GitService.js - Push service
src/services/git/service/GitPushService.js - Pull service
src/services/git/service/GitPullService.js
Project state
- Project types
src/services/projects/ProjectTypes.js - Project metadata
src/services/projects/ProjectStore.js - Scan path state
src/core/StateManager.js
Other components
- User
- Git CLI
Connections 25
- User → Webview app: interacts
- Webview app → Dashboard view: renders
- Webview app → Webview messenger: initializes
- Dashboard view → Webview messenger: posts commands
- Webview messenger → Command router: dispatches messages
- Command router → Provider: routes commands
- App initializer → Provider: constructs
- App initializer → Repository scanner: injects
- App initializer → View builder: injects
- App initializer → Git executive: injects
- App initializer → Project metadata: constructs
- App initializer → Scan path state: constructs
- App initializer → Path watcher: constructs
- Project inspector → Module detector: detects modules
- Project inspector → Git queries: queries status
- Project inspector → Project types: reads type
- Project types → Project metadata: reads metadata
- Git executive → Git queries: checks branches
- Git executive → Push service: delegates push
- Git executive → Pull service: delegates pull
- Git queries → Git CLI: runs Git queries
- Push service → Git CLI: runs push commands
- Pull service → Git CLI: runs pull commands
- Scan path state → Scan path state: persists paths
- Project metadata → Project metadata: persists metadata