macOS native Git GUI + Terminal desktop app
Built with Swift, libghostty, and Metal GPU rendering
Features • Installation • Building • Architecture • 中文文档
OpenOwl is a macOS-native desktop app that combines a GPU-accelerated terminal with a Git GUI and file editor in one window. No built-in AI — the terminal is open for you to use any CLI tool you want.
- Terminal — Powered by libghostty with Metal GPU rendering. Tabs, split panes, drag-to-reorder. In-pane search (Cmd+F) with match navigation.
- Git Changes — Stage, unstage, discard files. Side-by-side diff view. Commit with message. Branch tracking.
- File Explorer — NSOutlineView file tree with git status badges. Multi-tab code editor with syntax highlighting (tree-sitter). Quick Open (Cmd+P) with fuzzy search.
- Project Sidebar — Multi-project support. Git worktree management (create, archive, rename). Per-project terminal isolation. Claude API status monitoring.
- Local Deployment — Clone, build, and start services locally. Health check monitoring. System tray status.
- Settings (Cmd+,) — Appearance mode (System / Light / Dark). Terminal theme picker with 463 built-in color schemes. Config stored in
~/Library/Application Support/com.openowl.app/config(ghostty-compatible format). - Menu Bar Shortcuts — All keyboard shortcuts listed in the macOS menu bar for discoverability.
Multi-tab editor with tree-sitter syntax highlighting, file tree with git status badges, and Quick Open (⌘P).
GPU-accelerated terminal powered by libghostty. Tabs, split panes, drag-to-reorder.
Stage, unstage, discard files. Side-by-side diff view with commit history graph.
Clone, build, and start services locally with health check monitoring.
- macOS 14.0 (Sonoma) or later
- Apple Silicon or Intel Mac
Download the latest .dmg from GitHub Releases.
- Xcode 15.0+
- XcodeGen (
brew install xcodegen) - libghostty — follow the integration guide
# Clone the repository
git clone https://github.com/sanvibyfish/openowl-app.git
cd openowl-app
# Generate Xcode project
xcodegen generate
# Open in Xcode and run
open openOwl.xcodeproj
# Cmd+R to build and runxcodebuild -scheme openOwl -configuration Debug buildopenOwl/
├── App/ # SwiftUI App entry point
├── Features/
│ ├── Terminal/ # libghostty terminal (tabs, splits, drag)
│ ├── Git/ # Git changes panel, diff view
│ ├── FileExplorer/ # File tree, multi-tab editor, Quick Open
│ ├── Deployment/ # Local deployment service
│ └── Sidebar/ # Project list, worktree management
├── Services/
│ ├── GitService.swift # git CLI wrapper
│ └── FileWatcher.swift # File system monitoring
├── Ghostty/ # libghostty Swift wrapper
│ ├── GhosttyApp.swift # ghostty_app_t lifecycle
│ ├── GhosttyTerminal.swift # ghostty_surface_t + Metal rendering
│ └── GhosttyConfig.swift # Configuration
└── Shared/ # Theme, constants, utilities
| Component | Technology |
|---|---|
| Language | Swift |
| UI | SwiftUI + AppKit (hybrid) |
| Terminal | libghostty (Zig, Metal GPU rendering) |
| Editor | CodeEditSourceEditor (tree-sitter) |
| Git | Process-based git CLI |
| File system | FileManager + DispatchSource |
| Build | Xcode + SPM + XcodeGen |
Contributions are welcome! Please read the existing code and follow the project conventions.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
- Ghostty — The terminal emulator library
- CodeEditApp — Source editor components
- cmux — libghostty integration reference



