CLI
specola-core is the Core process. The desktop app starts it for you; you run it yourself to validate a profile, on a headless machine, or as a systemd service.
bash
specola-core -t --config my.toml # validate and exit
specola-core --config my.toml # runOptions
| Option | Meaning |
|---|---|
--config <file> | profile to load: an absolute path, or a file name looked up in the profiles directory and then next to the executable |
-t, --test-config | load and validate --config, print the result and exit without starting Core |
--data-dir <dir> | portable mode: keep profiles, cache, logs and runtime files under <dir> instead of the per-user directories |
--ipc-endpoint <path> | local control socket (Unix socket or named pipe) to listen on |
--parent-pid <pid> | exit when that process exits; used by the desktop app |
Profiles directories: ~/.config/specola/profiles/ on Linux, ~/Library/Application Support/com.specola.Specola/profiles/ on macOS, %LOCALAPPDATA%\Specola\profiles\ on Windows.
-t downloads remote providers and rule sets like a normal start, so it also checks that they are reachable. A successful run prints Config validation passed: <path>; a failed one prints Config validation failed: followed by every error.
Exit codes
| Code | Meaning |
|---|---|
0 | success |
1 | validation or startup failed; see the message |
2 | the profile was not found or not given |
3 | another Core instance is already running for this user |