Skip to main content

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:

RuntimeCommand
Gogo
Pythonpython3
Node.jsnode
Bunbun

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:

DirectoryPath
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:

CheckDescription
SocketVerifies ~/.runix/runix.sock exists and its parent directory is present
DaemonSends 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​

CodeMeaning
0All checks passed (warnings are OK)
1One or more checks failed

Flags​

FlagDefaultDescription
-f, --formattextOutput format: text or json