Doctor — Environment Diagnostics
The runix doctor command runs a series of diagnostic checks to verify your Runix environment is healthy.
Usage
runix doctor
What It Checks
Runtimes
Checks if each runtime is available on your PATH:
| Runtime | Command |
|---|---|
| Go | go |
| Python | python3 |
| Node.js | node |
| Bun | bun |
Missing runtimes are reported as warnings, not failures — you only need the runtimes your processes actually use.
Directories
Verifies that the required data directories exist and are writable:
| Directory | Path |
|---|---|
| Data dir | ~/.runix/ |
| Apps dir | ~/.runix/apps/ |
| State dir | ~/.runix/state/ |
| Tmp dir | ~/.runix/tmp/ |
If a directory doesn't exist, doctor attempts to create it automatically.
Daemon
Checks the daemon status:
| Check | Description |
|---|---|
| Socket | Verifies ~/.runix/runix.sock exists and its parent directory is present |
| Daemon | Sends an alive check to the running daemon process |
Permissions
Verifies write access to the data directory.
Example Output
Runix Doctor — Environment Diagnostics
Version: v0.1.0 OS: linux/amd64
── Runtimes ──
[OK] Go /usr/local/go/bin/go
[OK] Python /usr/bin/python3
[OK] Node.js /usr/local/bin/node
[WARN] Bun not found
── Directories ──
[OK] Data dir /home/user/.runix
[OK] Apps dir /home/user/.runix/apps
[OK] State dir /home/user/.runix/state
[OK] Tmp dir /home/user/.runix/tmp
── Daemon ──
[WARN] Socket /home/user/.runix/runix.sock (not created)
[WARN] Daemon not running
── Permissions ──
[OK] Write executable writable
Results: 7/9 passed, 2 warnings
JSON Output
runix doctor --format json
Returns a structured JSON object with all check results, version, and platform info:
{
"version": "v0.1.0",
"os": "linux",
"arch": "amd64",
"checks": [
{ "name": "Go", "status": "ok", "detail": "/usr/local/go/bin/go" },
{ "name": "Python", "status": "ok", "detail": "/usr/bin/python3" },
{ "name": "Bun", "status": "warn", "detail": "not found" }
],
"passed": 7,
"warned": 2,
"failed": 0
}
Exit Codes
| Code | Meaning |
|---|---|
| 0 | All checks passed (warnings are OK) |
| 1 | One or more checks failed |
Flags
| Flag | Default | Description |
|---|---|---|
-f, --format | text | Output format: text or json |