https://github.com/sahithvibudhi/vibe-tree
Vibe code with Claude in parallel git worktrees
https://github.com/sahithvibudhi/vibe-tree
claude claude-code desktop-app gemini-cli git-worktree typescript vibe-coding
Last synced: 4 months ago
JSON representation
Vibe code with Claude in parallel git worktrees
- Host: GitHub
- URL: https://github.com/sahithvibudhi/vibe-tree
- Owner: sahithvibudhi
- License: mit
- Created: 2025-07-29T07:18:49.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-01-02T03:30:31.000Z (5 months ago)
- Last Synced: 2026-01-02T07:14:46.224Z (5 months ago)
- Topics: claude, claude-code, desktop-app, gemini-cli, git-worktree, typescript, vibe-coding
- Language: TypeScript
- Homepage:
- Size: 12.1 MB
- Stars: 226
- Watchers: 1
- Forks: 24
- Open Issues: 12
-
Metadata Files:
- Readme: README-MONOREPO.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-agent-orchestrators - vibe-tree - Vibe code with Claude in parallel git worktrees. (Parallel Agent Runners)
- awesome-cli-coding-agents - vibe-tree
README
# VibeTree Monorepo Structure
This repository has been restructured as a monorepo to support multiple platforms (desktop, web, mobile) while sharing core functionality.
## Architecture Overview
```
vibetree/
├── packages/
│ ├── core/ # Shared business logic and types
│ ├── desktop/ # Electron desktop application
│ ├── server/ # Backend service for web/mobile
│ └── web/ # Mobile-friendly web client
```
## Quick Start
### Prerequisites
- Node.js >= 18.0.0
- pnpm >= 8.0.0
### Installation
```bash
# Install dependencies for all packages
pnpm install
```
### Development
#### Run all services (desktop, server, web)
```bash
pnpm dev
```
#### Run specific services
```bash
# Desktop app only
pnpm dev:desktop
# Server only
pnpm dev:server
# Web client only
pnpm dev:web
```
### Building
```bash
# Build all packages
pnpm build
# Package desktop app for distribution
pnpm package:desktop
```
## Package Details
### @vibetree/core
Shared TypeScript types and interfaces used across all packages:
- Communication adapter interfaces (IPC/WebSocket abstraction)
- Common types (Worktree, GitStatus, ShellSession, etc.)
- Business logic that can be shared
### @vibetree/desktop
The original Electron desktop application with:
- Native terminal integration via node-pty
- Direct git operations
- IPC communication
- IDE integration (VS Code, Cursor)
### @vibetree/server
Backend service that enables web/mobile access:
- Express + WebSocket server
- Terminal session management
- Git operations API
- QR code authentication for device pairing
- JWT-based authentication
### @vibetree/web
Mobile-friendly Progressive Web App:
- Touch-optimized terminal interface
- WebSocket communication with server
- Responsive design for mobile devices
- PWA capabilities for offline access
## Communication Architecture
### Desktop App
```
Desktop UI <-> IPC <-> Electron Main Process <-> Native APIs (git, pty, fs)
```
### Web/Mobile App
```
Web UI <-> WebSocket <-> Server <-> Native APIs (git, pty, fs)
```
Both use the same `CommunicationAdapter` interface from `@vibetree/core`, allowing code reuse and consistent behavior across platforms.
## QR Code Connection (Future Feature)
The server can generate QR codes that allow mobile devices to connect:
1. Desktop app starts embedded server
2. Server generates QR code with connection token
3. Mobile device scans QR code
4. Establishes WebSocket connection
5. Gains access to same worktrees and terminals
## Security Considerations
- QR tokens expire after 5 minutes
- JWT tokens for persistent sessions
- Local network only (no internet exposure by default)
- Device fingerprinting for session management
## Development Workflow
1. Make changes in respective packages
2. Core changes automatically rebuild and are available to other packages
3. Use Turborepo for efficient builds (only rebuilds what changed)
4. Test across platforms to ensure consistency
## Future Enhancements
- [ ] React Native mobile app in `packages/mobile`
- [ ] Shared UI components library
- [ ] Cloud sync capabilities
- [ ] Collaborative features
- [ ] Enhanced security with TLS certificates