A simple macOS app to view jj (Jujutsu) repository history.
- View commit history in a clean sidebar
- See changed files for each commit
- Inline diff view - Click on a file to see line-by-line changes (GitHub-style)
- Git tag display in commit list
- Auto-refresh when repository changes (via FSEvents)
- Native macOS app built with SwiftUI
- macOS 14.0+
- jj installed at
/opt/homebrew/bin/jj
xcodegen generate
xcodebuild -project jjstats.xcodeproj -scheme jjstats -configuration Debug build- Launch the app
- Click "Open Repository..." or use Cmd+O
- Select a folder containing a jj repository (has
.jjdirectory) - Browse commit history and view changed files
- Click on a file to view its diff (click again to collapse)
Sources/jjstats/
├── jjstatsApp.swift # App entry point
├── Models/
│ ├── Commit.swift # Commit model
│ ├── FileChange.swift # File change model
│ ├── FileDiff.swift # Diff model (hunks, lines, stats)
│ └── JJRepository.swift # Repository state (@Observable)
├── Services/
│ ├── JJCommandRunner.swift # jj CLI wrapper + diff parser
│ └── FileWatcher.swift # FSEvents wrapper
└── Views/
├── ContentView.swift # Main view with folder picker
├── CommitListView.swift # Sidebar commit list
├── CommitRow.swift # Single commit row
├── CommitDetailView.swift # Detail view
├── FileChangeRow.swift # File change row
└── FileDiffView.swift # Inline diff view
MIT
