How neophack/git-graph-studio works
Git Graph Studio is a standalone desktop workbench for browsing and editing a workspace, managing Git changes, and extending the shell with VSIX packages. The main user workflow opens a folder in the workbench, where frontend views call Rust services for files, Git, search, and code intelligence; users can then edit, compare, stage, commit, or run tools in the terminal. Separate branches cover persistent symbol navigation and analysis, large-file viewing, and extensions. The README documents additional capabilities beyond the sampled source; links for those are included only where the tree supports their owning modules.
Main entry points: workbench.ts Workbench · ext_process.rs Extension process host · editor.ts Editor · main.ts App entry
Components 28
Workspace tools
- Explorer
src/explorer.ts - Editor
src/editor.ts - Source Control
src/scm.ts - Search and replace
src/searchView.ts - Compare views
src/folderCompare.ts - Large-file viewer
src-tauri/src/viewer/mod.rs - Terminal
src/terminal.ts
Code intelligence
- Symbol navigation
src/symbolDbView.ts - Persistent symbol index
src-tauri/src/symbols/store.rs - Tree-sitter parsing
src-tauri/src/symbols/parse.rs - Code Analysis view
src/analysisView.ts - Workspace analysis
src-tauri/src/analysis/mod.rs - Analysis commands
src-tauri/src/cmd_analysis.rs
Extensions
- Extensions view
src/extensionsPanel.ts - Extension gallery
src-tauri/src/ext_gallery.rs - Extension process host
src-tauri/src/ext_process.rs - Node-compatible runtime
src-tauri/src/node_runtime/mod.rs - Extension protocol
src-tauri/src/ext_protocol.rs
Desktop services
- File service
src-tauri/src/cmd_fs.rs - Git service
src-tauri/src/cmd_scm.rs - Search and compare service
src-tauri/src/cmd_search.rs - PTY service
src-tauri/src/pty.rs
Other components
- User
- Git CLI
- Open VSX
- Installed VSIX backend
Connections 29
- User → App entry: opens app
- App entry → Workbench: loads workbench
- Workbench → Explorer: hosts view
- Workbench → Editor: hosts view
- Workbench → Source Control: hosts view
- Workbench → Search and replace: hosts view
- Workbench → Compare views: hosts view
- Workbench → Terminal: hosts view
- Explorer → File service: invokes
- Editor → File service: reads and writes
- Source Control → Git service: invokes
- Git service → Git CLI: runs
- Search and replace → Search and compare service: invokes
- Compare views → Search and compare service: requests comparison
- Editor → Large-file viewer: opens large files
- Terminal → PTY service: starts terminal
- Symbol navigation → Persistent symbol index: queries index
- Persistent symbol index → Tree-sitter parsing: parses source
- Code Analysis view → Analysis commands: requests analysis
- Analysis commands → Workspace analysis: queries model
- Workspace analysis → Tree-sitter parsing: uses parsed model
- Workbench → Extensions view: hosts view
- Extensions view → Extension gallery: searches and installs
- Extension gallery → Open VSX: queries marketplace
- Workbench → Extension process host: starts installed backends
- Extension process host → Installed VSIX backend: launches
- Installed VSIX backend → Extension protocol: communicates over
- Extension process host → Extension protocol: handles messages
- Extension process host → Node-compatible runtime: hosts Node backend