Skip to content

Quick Start

This guide will help you create your first DevProc configuration and start managing your development services.

Create a Config File

DevProc looks for a devproc.yaml file in your project root. You can create one manually or use the init command:

Terminal window
devproc init

This creates a starter config with examples. Let’s look at a simple example:

name: my-project
services:
api:
cmd: npm run dev
healthcheck:
cmd: curl -f http://localhost:3000/health
interval: 2s
retries: 30
web:
cmd: npm run dev
cwd: ./frontend
depends_on:
- api

This config defines:

  • An api service with a health check
  • A web service that depends on the api

Validate Your Config

Before running, you can validate your configuration:

Terminal window
devproc validate

This checks for syntax errors, missing dependencies, and other issues.

Start DevProc

Run DevProc from your project directory:

Terminal window
devproc

Or explicitly:

Terminal window
devproc up

You’ll see the TUI interface with your services listed on the left and logs on the right.

Basic Navigation

KeyAction
↑/↓ or j/kNavigate services
sStart selected service
xStop selected service
rRestart selected service
aStart all services
TabToggle single/all logs view
?Show help
qQuit (stops all services)

A More Complete Example

Here’s a more realistic configuration:

name: my-fullstack-app
# Global environment variables
env:
NODE_ENV: development
# Load additional env from file
dotenv: .env.local
# Organize services into groups
groups:
infrastructure:
- postgres
- redis
backend:
- api
- worker
frontend:
- web
services:
postgres:
cmd: docker run --rm -p 5432:5432 -e POSTGRES_PASSWORD=dev postgres:16
healthcheck:
cmd: pg_isready -h localhost -p 5432
interval: 2s
retries: 30
redis:
cmd: docker run --rm -p 6379:6379 redis:7
healthcheck:
cmd: redis-cli ping
api:
cmd: air
cwd: ./services/api
depends_on:
postgres: healthy
redis: healthy
env:
DATABASE_URL: postgres://postgres:dev@localhost:5432/myapp
worker:
cmd: go run ./cmd/worker
cwd: ./services/api
depends_on:
- api
restart: on-failure
web:
cmd: bun run dev
cwd: ./apps/web
depends_on:
- api

Using Docker Compose

If you already have a docker-compose.yml, you can integrate it with DevProc:

name: my-project
# Path to your docker-compose file
compose: docker-compose.yml
services:
# Docker Compose services
postgres:
compose: true
healthcheck:
cmd: pg_isready -h localhost -p 5432
redis:
compose: true
# Native services
api:
cmd: npm run dev
depends_on:
postgres: healthy
redis: healthy

DevProc will use docker compose up/stop for compose services while managing native services directly.

Next Steps