A macOS terminal-first IDE for developers who live in the command line. Built for those who juggle multiple projects simultaneously and want git context without leaving their workflow.
Terminal is the center. Everything else is context.
VibeStudio is a lightweight macOS desktop app that puts a real PTY terminal front and center, with a sidebar for file browsing and git operations. Think of it as a terminal emulator that actually understands your project structure.
Inspired by the speed of Neovim, the project management of JetBrains, and the aesthetic of Cursor.
Switch between projects instantly. Each tab shows the project name, current git branch, and an activity indicator — a colored dot that tells you if a process is running, finished successfully, or exited with an error.
- Files — file tree with git status indicators (
M,A,D,?) colored like JetBrains. Double-click opens in$EDITORvia terminal. - Git — current branch, ahead/behind counts, staged/unstaged file list, commit field, push/pull buttons. No GUI bloat.
Powered by SwiftTerm — a proper PTY emulator with xterm-256color, true color, ligatures, scrollback (10,000 lines), and mouse reporting. Not a fake terminal. Not a web view.
| Shortcut | Action |
|---|---|
Cmd+T |
Open project / new tab |
Cmd+W |
Close tab |
Cmd+1–9 |
Switch to tab N |
Cmd+D |
Split terminal |
Cmd+B |
Toggle sidebar |
Cmd+K |
Clear terminal |
Ctrl+Tab |
Next tab |
Reopen the app and all your projects are back. Terminal sessions restart automatically (PTY can't be serialized), but scrollback history is preserved.
- macOS 14.0 (Sonoma) or later
- Apple Silicon or Intel Mac
Distributed as a DMG — no Mac App Store sandbox restrictions.
- Download the latest
.dmgfrom Releases - Open the
.dmgand drag VibeStudio to/Applications - Launch and open your first project with
Cmd+T
# Clone the repo
git clone https://github.com/AlexGladkov/VibeStudio.git
cd VibeStudio
# Generate the Xcode project
xcodegen generate
# Build
xcodebuild -scheme VibeStudio -destination 'platform=macOS' buildDependencies (via Swift Package Manager):
migueldeicaza/SwiftTerm— PTY terminal emulator
Sources/
├── App/ # Entry point, AppDelegate (Composition Root)
├── Contracts/ # Protocols, models, DI container
├── DesignSystem/ # Design tokens (colors, typography, spacing)
├── Services/
│ ├── Terminal/ # PTY lifecycle, SwiftTerm integration
│ ├── Git/ # git CLI subprocess wrapper
│ └── Persistence/ # ProjectStore, SessionStore (JSON)
└── Views/
├── Sidebar/ # File tree, git panel, project list
├── TabBar/ # Project tabs
├── Toolbar/ # Top toolbar
└── Main/ # Terminal area, welcome screen
- SwiftUI + AppKit hybrid — SwiftUI for layout,
NSViewRepresentablefor the terminal @Observable+@MainActorfor UI-observed servicesactorfor background services (git, session storage)- DI via
@Environment— no third-party DI framework
- Multi-project tabs
- Embedded PTY terminal (SwiftTerm)
- File tree with git status
- Git panel (branch, diff, stage, commit, push, pull)
- Session restore
- Keyboard shortcuts
- Vertical terminal split
- Fuzzy file finder (
Cmd+P) - Custom themes
- SSH remote connections
- Git commit graph
VibeStudio is free for personal, educational, and non-commercial use. Commercial use is not permitted. See LICENSE for details.
© 2026 Alex Gladkov