Gitty runtime architecture

Gitty runtime architecture An architecture diagram generated by Archify. Workspace UI · Svelte 5 · WebView · WebView Workspace UI Svelte 5 · WebView Tauri commands · Invoke / event bridge · Native application process Tauri commands Invoke / event bridge Git operations · Rust · blocking tasks · Native application process Git operations Rust · blocking tasks Git + Git LFS · Native subprocesses · OS processes & filesystem Git + Git LFS Native subprocesses Local repository · Worktree · index · .git · OS processes & filesystem Local repository Worktree · index · .git Hosting adapters · Issues · reviews · boards · Native application process Hosting adapters Issues · reviews · boards Git hosting · GitHub · GitLab · others · Architecture component Git hosting GitHub · GitLab · others AI assistance · commit_ai crate · Native application process AI assistance commit_ai crate Model endpoint · OpenAI · Anthropic · custom · Architecture component Model endpoint OpenAI · Anthropic · custom OS keychain · Credentials / API keys · Architecture component OS keychain Credentials / API keys IPC invoke Rust call spawn read / write Rust call HTTPS API diff + notes HTTP(S) keyring API WebView Native application process OS processes & filesystem Legend Frontend Backend Database Security External

Primary path

  • • UI invokes registered commands; Rust runs Git off the async executor. Results return to the UI.
  • • Git LFS handles large objects. Git uses HTTPS / SSH for fetch, pull, push and clone.

Supporting runtime

  • • Hosting: GitHub, GitLab, Azure DevOps and Gitea; REST calls use reqwest.
  • • AI: diffs / notes and API keys are passed to the selected provider through native commands.
  • • Workspace preferences live in WebView localStorage.

Trust & external services

  • • IPC crosses into native filesystem and process privileges; CSP is currently null.
  • • OS keychain also stores hosting credentials. Network endpoints may be cloud or self-hosted.
  • • Aptabase telemetry and the Windows/macOS update CDN are secondary dependencies; Linux uses package updates.