Skip to content

Getting Started

DevAll is a unified development dashboard that helps you manage multiple services, processes, and development tools from one interface. This guide will walk you through installation and your first project setup.

Install DevAll globally via npm:

Terminal window
npm install -g devall

Or use it directly with npx:

Terminal window
npx devall

DevAll uses JSONC (JSON with comments) for configuration. Create a devall.jsonc file in your project root:

{
"dashboard": {
"port": 7777,
"open": true
},
"services": [
{
"name": "Frontend",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./frontend",
"port": 3000,
"autostart": true,
"watchFiles": true
},
{
"name": "Backend API",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./backend",
"port": 8080,
"autostart": true,
"stealPort": true
}
]
}
Terminal window
devall

Or specify a custom config file:

Terminal window
devall path/to/config.jsonc

DevAll will automatically open your browser to http://localhost:7777 (or your configured port). You’ll see:

  • Service Cards: Each configured service with status indicators
  • Live Logs: Real-time stdout/stderr output
  • Control Buttons: Start, stop, and restart services
  • System Resources: Monitor CPU, memory, and more

DevAll supports multiple configuration files with the following priority (highest first):

  1. devall.local.jsonc (gitignored by convention)
  2. devall.local.json
  3. devall.json
  4. devall.jsonc

This allows you to have team-wide settings in devall.jsonc and personal overrides in devall.local.jsonc.

{
"services": [
{
"name": "React App",
"command": "npm",
"args": ["start"],
"port": 3000,
"autostart": true
},
{
"name": "Node API",
"command": "node",
"args": ["server.js"],
"port": 8080,
"autostart": true,
"watchFiles": true
}
]
}
{
"services": [
{
"name": "Auth Service",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./services/auth",
"port": 3001,
"autostart": true
},
{
"name": "User Service",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./services/users",
"port": 3002,
"autostart": true
},
{
"name": "API Gateway",
"command": "npm",
"args": ["run", "dev"],
"cwd": "./gateway",
"port": 8080,
"autostart": true
}
]
}
{
"services": [
{
"name": "Frontend",
"command": "npm",
"args": ["run", "dev"],
"port": 3000,
"autostart": true
},
{
"name": "Redis",
"command": "redis-server",
"port": 6379,
"autostart": true,
"background": true // Runs silently, not shown in UI
},
{
"name": "PostgreSQL",
"command": "postgres",
"args": ["-D", "data"],
"port": 5432,
"secondary": true, // Hidden by default, show via toggle
"autostart": true
}
]
}

Set stealPort: true to automatically kill processes occupying your service’s port before starting:

{
"name": "Development Server",
"command": "npm",
"args": ["run", "dev"],
"port": 3000,
"stealPort": true // Reclaim port 3000 if occupied
}

DevAll watches for file changes and automatically restarts services (unless watchFiles: false):

  • Monitors src/, lib/, *.js, *.json by default
  • Detects nodemon restarts automatically
  • Supports custom watch patterns

DevAll parses your service output to detect when it’s actually ready:

  • ✅ “Server running on…”
  • ✅ “Listening on port…”
  • ✅ “Ready on http://localhost:…”
  • ⚠️ “app crashed - waiting for file changes”