How izzyflestado/gitzy works
Gitzy is a macOS menu-bar app for managing saved Git repositories, viewing GitHub contribution data, and displaying the active editor’s branch in a floating widget. The main user flow starts at the menu-bar popover: users browse projects and GitHub data, or open settings; project and editor state also drives the widget and global shortcuts. The graph includes the documented capabilities and sampled runtime layers. Some feature implementations were not excerpted, so their links rely on README statements rather than claims about unsampled calls.
Main entry points: ProjectStore.swift Saved projects · BranchWidgetController.swift Widget controller · ContributionStore.swift GitHub data state · MenuBarController.swift Menu bar popover
Components 25
App shell
- App startup
Gitzy/App/AppDelegate.swift - Menu bar popover
Gitzy/Features/MenuBar/MenuBarController.swift - Popover tabs
Gitzy/Features/MenuBar/PopoverRootView.swift
Projects
- Saved projects
Gitzy/Features/Projects/ProjectStore.swift - Project browsing
Gitzy/Features/Projects/ProjectRowView.swift - Folder repository scan
Gitzy/Services/ProjectScanner.swift - Project launching
Gitzy/Services/WindowOpener.swift
Branch widget
- Widget controller
Gitzy/Features/BranchWidget/BranchWidgetController.swift - Floating branch display
Gitzy/Features/BranchWidget/BranchWidgetView.swift - App-based visibility
Gitzy/Features/BranchWidget/AppVisibilityMonitor.swift
GitHub contributions
- GitHub data state
Gitzy/Features/Contributions/ContributionStore.swift - Contribution and activity views
Gitzy/Features/Contributions/ContributionGraphView.swift
Settings and shortcuts
- Settings window
Gitzy/Features/Settings/SettingsWindowController.swift - Settings controls
Gitzy/Features/Settings/SettingsView.swift - Global shortcuts
Gitzy/Features/Shortcuts/ShortcutController.swift
Runtime services and models
- Preferences
Gitzy/Models/AppSettings.swift - Repository status
Gitzy/Services/GitRepositoryService.swift - Git remote parsing
Gitzy/Services/GitRemote.swift - Visible window snapshot
Gitzy/Services/WindowSnapshot.swift - GitHub API client
Gitzy/Services/GitHubService.swift - Contribution parsing
Gitzy/Services/GitHubParser.swift - Activity parsing
Gitzy/Services/ActivityParser.swift - Private token file
Gitzy/Services/TokenFile.swift
Other components
- User
- GitHub API
Connections 34
- User → Menu bar popover: opens menu
- Menu bar popover → Popover tabs: shows
Gitzy/Features/MenuBar/MenuBarController.swift - Menu bar popover → Saved projects: refreshes projects
Gitzy/Features/MenuBar/MenuBarController.swift - Menu bar popover → GitHub data state: refreshes data
Gitzy/Features/MenuBar/MenuBarController.swift - App startup → Saved projects: creates
Gitzy/App/AppDelegate.swift - App startup → GitHub data state: creates
Gitzy/App/AppDelegate.swift - App startup → Widget controller: creates
Gitzy/App/AppDelegate.swift - App startup → Menu bar popover: creates
Gitzy/App/AppDelegate.swift - Popover tabs → Settings window: opens settings
Gitzy/Features/MenuBar/MenuBarController.swift - Popover tabs → Project browsing: shows projects
- Popover tabs → Contribution and activity views: shows GitHub tab
- User → Saved projects: adds and sorts
- Saved projects → Folder repository scan: scans folders
Gitzy/Features/Projects/ProjectStore.swift - Saved projects → Repository status: reads status
Gitzy/Features/Projects/ProjectStore.swift - Repository status → Git remote parsing: reads remote
Gitzy/Services/GitRepositoryService.swift - User → Project launching: opens project
- User → Global shortcuts: presses keys
- Global shortcuts → Saved projects: selects saved project
Gitzy/Features/Shortcuts/ShortcutController.swift - User → Widget controller: configures widget
- Widget controller → Saved projects: matches saved project
Gitzy/Features/BranchWidget/BranchWidgetController.swift - Widget controller → Repository status: reads branch
Gitzy/Features/BranchWidget/BranchWidgetController.swift - Widget controller → Floating branch display: builds display
Gitzy/Features/BranchWidget/BranchWidgetController.swift - Widget controller → App-based visibility: checks visibility
Gitzy/Features/BranchWidget/BranchWidgetController.swift - App-based visibility → Visible window snapshot: checks windows
Gitzy/Features/BranchWidget/AppVisibilityMonitor.swift - User → Settings window: opens settings
- Settings window → Settings controls: hosts controls
Gitzy/Features/Settings/SettingsWindowController.swift - User → GitHub data state: connects account
- GitHub data state → Private token file: loads token
Gitzy/Features/Contributions/ContributionStore.swift - GitHub data state → GitHub API client: requests data
Gitzy/Features/Contributions/ContributionStore.swift - GitHub API client → GitHub API: sends GraphQL
Gitzy/Services/GitHubService.swift - GitHub API client → Contribution parsing: parses response
Gitzy/Services/GitHubService.swift - GitHub API client → Activity parsing: parses activity
Gitzy/Services/GitHubService.swift - GitHub data state → Contribution and activity views: supplies display data
- Settings controls → Preferences: configures preferences