# Devpane
**Run your stack. Stay in control.**
🌐 **[https://devpane.dev](https://devpane.dev)**
[](https://www.rust-lang.org/)
[](https://crates.io/crates/devpane)
[](https://devpane.dev)
[](LICENSE)
Devpane is a high-performance development process manager and terminal workspace built in 100% native Rust. It delivers near-instant startup, zero runtime bloat, and minimal memory footprint - making it effortless to run, observe, and interact with the multiple services powering your applications.
> **Project status:** v0.3.1 (Active development).
---
## What Devpane Solves
Modern applications often require several processes running at the same time:
- Frontend development servers (`bun run dev`, `vite`, `next dev`)
- Backend APIs (`cargo run`, `go run`, `fastapi`)
- Background workers, queues, and watchers
- Databases and auxiliary services
Juggling these in scattered terminal windows is messy. Processes crash silently, output is lost in scrollback, and terminal tabs proliferate.
Devpane provides:
1. **Interactive Terminal Panes**: A tmux-inspired TUI with VT100 terminal emulation. Switch between service logs with `Tab`, spawn interactive shells with `Ctrl+T`, and scroll smoothly.
2. **Declarative `devpane.yaml`**: Define all project services once. `devpane up` starts your entire stack; `devpane down` shuts it down.
3. **Daemon-Backed Process Supervision**: Runs a background daemon so processes stay alive, logs are persisted, and state is preserved across CLI invocations.
4. **AI-Agent Ready**: Coding agents (Claude, Gemini, Cursor) can manage development services cleanly through structured IPC without hijacking your interactive terminal.
5. **Cross-Platform**: Built for macOS and Windows (supporting Windows Named Pipes, CMD, and PowerShell).
6. **Dependency Orchestration & Health Checks**: Order services with `depends_on` and poll TCP/HTTP health checks before launching dependent services.
7. **Smart Port Conflict Killer**: Automatically identifies and frees occupied ports so you never deal with `EADDRINUSE` errors again.
---
## Installation
### Option 1: Cargo
```bash
cargo install devpane
```
### Option 2: Homebrew (macOS & Linux)
```bash
brew install Ranjeesh0701/tap/devpane
```
### Option 3: Quick Install (curl / PowerShell)
**macOS & Linux**:
```bash
**Windows (PowerShell)**:
```powershell
### Option 4: Pre-built Binaries & Desktop App (GitHub Releases)
Download the latest release for your platform from [GitHub Releases](https://github.com/Ranjeesh0701/devpane/releases):
- **CLI Bundles** (contains both `devpane` and `daemon`):
- macOS Apple Silicon: `devpane-darwin-arm64.tar.gz`
- macOS Intel: `devpane-darwin-x64.tar.gz`
- Windows x64: `devpane-windows-x64.zip`
- **Desktop Application GUI**:
- macOS: `.dmg` installer
- Windows: `.msi` / `.exe` installer
Extract the CLI bundle and move the binaries to any folder in your `PATH` (e.g. `/usr/local/bin` or `C:\Windows\System32`).
---
## Quick Start
### 1. Initialize or configure `devpane.yaml`
Auto-detect from your repository:
```bash
devpane init
```
Or define your stack with dependencies, ports, and health checks:
```yaml
version: 1
services:
db:
enabled: true
command: postgres
port: 5432
health_check:
port: 5432
timeout_secs: 15
backend:
enabled: true
command: cargo run
port: 8080
depends_on:
- db
health_check:
http: "http://localhost:8080/health"
frontend:
enabled: true
command: bun run dev
port: 5173
working_dir: ./website
depends_on:
- backend
```
### 2. Launch the workspace
```bash
devpane up
```
This launches the interactive terminal workspace:
- **`Tab` / `Shift+Tab`**: Switch between running service logs
- **`Ctrl+T`**: Open a new interactive shell tab (PTY session)
- **`Ctrl+W`**: Close current shell tab
- **`PageUp` / `PageDown`**: Scroll log output
- **`Ctrl+Q`**: Exit workspace (or `q` while on read-only service tabs)
### 3. Stop your project
```bash
devpane down
```
---
## CLI Reference
| `devpane init` | Automatically generate a `devpane.yaml` by detecting project frameworks |
| `devpane up` | Start all enabled services from `devpane.yaml` and open the workspace |
| `devpane down` | Stop all services associated with the current project directory |
| `devpane list` | List all active process sessions, PIDs, and statuses |
| `devpane start <name> <cmd> [args...]` | Start an individual background process |
| `devpane stop <session_id>` | Stop a specific process |
| `devpane logs <session_id> [--follow]` | View or stream logs for a process |
| `devpane shutdown` | Terminate all supervised processes and stop the daemon |
---
## Desktop App & Website
- **Website**: [https://devpane.dev](https://devpane.dev) - Official site, interactive terminal showcase, and documentation.
- **Desktop Application (`desktop/`)**: Standalone Tauri GUI with zero-click embedded daemon for real-time process monitoring and live log viewing.
## Contributing
Devbox is evolving incrementally. Contributions, bug reports, and ideas around process management, developer experience, and AI-assisted workflows are welcome.
Before contributing:
1. Check the current implementation and open issues.
2. Keep changes focused and easy to review.
3. Include clear reproduction steps for bugs.
4. Avoid claiming integrations or functionality that are not implemented.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
**Devpane - a clearer view of the processes behind your code.**