Pinky Brain Configuration
Pinky is configured with flags (CLI) and environment variables (all three pieces: CLI, MCP and hooks). There is no central config file: the defaults are sane and everything relevant can be set via env or flag.
Precedence in the CLI: flag > env var > default. E.g.:--db x.dbwins overPINKY_DB, which wins over the defaultbrain.db.
Environment variables
| Variable | Used by | Default | What it does |
|---|---|---|---|
PINKY_DB | CLI · MCP · hooks | brain.db | Path of the SQLite index (derived and disposable). Set it the same in all three pieces so that CLI and agent see the same base. pinky init registers the MCP with PINKY_DB=brain.db, the same default as the CLI, so pinky reindex and the agent share the index. |
PINKY_HASH_EMBED | CLI · MCP | (not set) | If present, uses the deterministic embedder (without downloading the ONNX model). Useful offline/CI. In the CLI it is equivalent to --hash-embed. |
PINKY_SAVE_DIR | MCP | documentation | Folder where brain_save writes the source-of-truth .md files. |
PINKY_PROJECT | MCP | (global) | If set, the entries the MCP saves stay in the project:<value> scope (filterable by project). |
PINKY_DIARY_DIR | hooks | (stdout) | Folder where the stop hook writes the diary (YYYY-MM-DD.md). Without it, the line goes to stdout. |
PINKY_LOG / RUST_LOG | all | warn | Logging level (error/warn/info/debug/trace). Always goes to stderr (it does not pollute the MCP's stdout nor the CLI's data output). |
Global CLI flags
| Flag | What it does |
|---|---|
--db <path> | Index to use (equiv. PINKY_DB). |
--hash-embed | Deterministic embedder without model (equiv. PINKY_HASH_EMBED). |
--json | Output in JSON, for scripting. Available in all commands with output to stdout. In search, it also disables telemetry logging (programmatic use). |
--version | Binary version (pinky, pinky-mcp and pinky-hooks report it). |
Diagnostics
pinky doctor prints the effective config of the index: schema version, count of entries/chunks, model it was indexed with vs. the active embedder (it warns if they do not match) and the binary version. With --json it is suitable for monitoring.
pinky --db brain.db doctor
pinky --db brain.db --json doctor
Autocompletion
pinky completions zsh > ~/.zfunc/_pinky # zsh
pinky completions bash > /etc/bash_completion.d/pinky
pinky completions fish > ~/.config/fish/completions/pinky.fish