A modern process manager for development with an API-first design.
- Simple by default - Procfile-like experience with minimal configuration
- API-first - Full process control and log access via HTTP
- Interactive TUI - Real-time log viewing with filtering and search
- Health checks - Optional health monitoring for processes
brew install charliek/tap/proxsudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.stridelabs.ai/pubkey.gpg | \
sudo tee /etc/apt/keyrings/apt-charliek.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/keyrings/apt-charliek.gpg] https://apt.stridelabs.ai noble main' | \
sudo tee /etc/apt/sources.list.d/apt-charliek.list
sudo apt update
sudo apt install proxTested on Pop!_OS 24.04 and Ubuntu 24.04+. Architectures: amd64, arm64. See apt-charliek for the full repo.
For one-off installs without configuring the apt repo (CI runners, locked-down hosts, etc.):
ARCH=$(dpkg --print-architecture) # amd64 or arm64
VERSION=0.1.1 # check https://github.com/charliek/prox/releases for the latest
curl -fLO "https://github.com/charliek/prox/releases/download/v${VERSION}/prox_${VERSION}_${ARCH}.deb"
sudo apt install -y "./prox_${VERSION}_${ARCH}.deb"The apt install ./...deb form resolves dependencies; plain dpkg -i would skip that step.
# Install via Go
go install github.com/charliek/prox/cmd/prox@latest
# Or build from source
git clone https://github.com/charliek/prox.git
cd prox
make buildprox ships a skill that teaches your coding agent to drive the prox CLI (read prox.yaml, start/stop processes, tail logs, reach services through the proxy, inspect requests). Install the CLI (above) first, since the skill drives it.
The general route (skills) installs into Claude Code, GitHub Copilot, OpenCode, and other agents:
npx skills add charliek/proxFor Claude Code, a native plugin is also available (it namespaces the skill as prox:prox):
/plugin marketplace add charliek/prox
/plugin install prox@prox
Create a prox.yaml in your project directory:
processes:
web: npm run dev
api: go run ./cmd/server
worker: python worker.pyStart all processes:
prox upStart with the interactive TUI:
prox up --tuiprocesses:
web: npm run dev
api: go run ./cmd/serverapi:
port: 5555
host: 127.0.0.1
env_file: .env
processes:
web: npm run dev
api:
cmd: go run ./cmd/server
env:
PORT: "8080"
DEBUG: "true"
env_file: .env.api
healthcheck:
cmd: curl -f http://localhost:8080/health
interval: 10s
timeout: 5s
retries: 3
start_period: 30sprox up [processes...] # Start processes (foreground)
prox up --tui [processes...] # Start with interactive TUI
prox stop # Stop running instance
prox restart <process> # Restart a process
prox status # Show process status
prox logs [process] # Show recent logs
prox logs -f [process] # Stream logsThe API runs at http://127.0.0.1:5555/api/v1 by default.
| Endpoint | Method | Description |
|---|---|---|
/status |
GET | Supervisor status |
/processes |
GET | List all processes |
/processes/{name} |
GET | Get process details |
/processes/{name}/start |
POST | Start a process |
/processes/{name}/stop |
POST | Stop a process |
/processes/{name}/restart |
POST | Restart a process |
/logs |
GET | Retrieve logs |
/logs/stream |
GET | Stream logs (SSE) |
/shutdown |
POST | Shutdown supervisor |
Configuration files are executed as code (via shell). Only use configuration from trusted sources, similar to Makefiles or Procfiles.
When binding to non-localhost interfaces, authentication is automatically enabled. A bearer token is generated and stored in ~/.prox/token.
Full documentation is available at charliek.github.io/prox.
See docs/spec.md for the complete specification including TUI keybindings, API details, and architecture.
This project uses mise to manage tool versions. With mise installed, all dependencies are set up automatically:
mise installThis installs the correct versions of Go and golangci-lint as defined in .mise.toml.
Alternatively, install manually:
- Go 1.24+
- golangci-lint v2 (
brew install golangci-linton macOS, or see install docs)
make build # Build the binary
make test # Run tests
make lint # Run linters
make clean # Remove build artifactsThe documentation site uses MkDocs with Material theme.
# Install dependencies
uv sync --group docs
# Local preview (http://127.0.0.1:7070)
uv run mkdocs serve
# Build static site
uv run mkdocs buildDocumentation is automatically published to GitHub Pages on push to main.
MIT