reference
CLI and configuration
Every command, every setting, and where each one is stored.
Commands
pheebs init [--global] [--cursor|--codex] [--no-otel] # any flag skips the prompts
pheebs doctor [--global] [--cursor|--codex]
pheebs config <list | get <key> | set <key> <value> | unset <key>>
pheebs insights [--days <n>] [--json]
pheebs hook <event_name> [--trigger-type <type>]
pheebs hook-cursor <event_name>
pheebs hook-codex <event_name>| Command | What it does |
|---|---|
| init | Interactive setup for Claude Code, Cursor and Codex in the current repo: pick agents and scope, set the endpoint and token, choose OTel |
| init --global | Write to user-level config instead of project-local, so the hooks apply to every repo, without prompting |
| init --cursor | Configure Cursor hooks only, without prompting |
| init --codex | Configure Codex hooks only, without prompting |
| init --no-otel | Skip OpenTelemetry configuration |
| doctor | Verify hooks, the endpoint, and your token status. Add --global to check user-level config |
| config list | Show every setting and where it comes from |
| config set <key> <value> | Set base-url, auto-update, classify, or token |
| config unset <key> | Reset a setting to its default, or clear the token |
| insights | Render your own report from the backend's /insights, in the terminal |
| insights --days <n> | Narrow the window, 1 to 365. The default is whatever the backend uses, usually 30 days |
| insights --json | Print the raw /insights payload, for scripting |
| hook <event> | Handle a Claude Code hook event. Called by hooks, not by you |
| hook-cursor <event> | Handle a Cursor hook event |
| hook-codex <event> | Handle a Codex hook event |
Settings
Settings live in ~/.pheebs/config.json. The token is stored separately in ~/.pheebs/.token, mode 0600.
pheebs config list # show every setting and where it comes from
pheebs config set base-url <url> # point at a different backend endpoint
pheebs config set auto-update off # disable the once-a-day background self-update
pheebs config set classify off # stop sending prompts to the intent classifier
pheebs config set token <token> # store and validate your Pheebs API token
pheebs config unset <key> # reset a setting, or clear the token| Setting | Default | Description |
|---|---|---|
| base-url | unset (local-only) | The backend endpoint. Unset means nothing is sent. |
| auto-update | on | The once-a-day background self-update |
| classify | on | Send prompts to the backend intent classifier |
| token | unset | Your Pheebs API token, for identity and auth |
Environment variables
Two working-directory settings are environment variables rather than persisted config:
| Variable | Default | Description |
|---|---|---|
| PHEEBS_CODEBASE_ID | Auto-detected from git remote | Override the org/repo identifier |
| PHEEBS_LOG_PATH | ~/.pheebs/logs/ | Where local JSONL logs go |
Where things live
| Path | Holds |
|---|---|
| ~/.pheebs/config.json | Settings |
| ~/.pheebs/.token | Your API token, mode 0600 |
| ~/.pheebs/logs/ | Daily JSONL files, one per codebase |
| .claude/settings.local.json | Claude Code hooks and the OTel env block for the current repo, the default |
| ~/.claude/settings.json | The same, user-level, after init --global |