Riferimento della CLI pinky

Tutti i sottocomandi di pinky, cosa fanno e i loro flag. Generato dal --help del binario (pinky <comando> --help fornisce sempre la versione canonica).

Usage: pinky [OPTIONS] <COMMAND>

Flag globali (validi per tutti i comandi)

FlagCosa fa
--db <ruta>Indice SQLite da usare. Prende PINKY_DB se è impostata (stesso default del MCP e di pinky init), così la CLI e l'agente vedono la stessa base. Default brain.db.
--hash-embedUsa l'embedder deterministico (senza scaricare il modello ONNX). Si attiva anche con la env var PINKY_HASH_EMBED. Ideale offline/CI.
--jsonOutput in JSON, per gli script. In search inoltre disattiva la registrazione della telemetria (uso programmatico).
--version / -VVersione del binario.
--help / -hAiuto (di pinky o di un sottocomando).

Indicizzare

pinky reindex <ruta> [--project <nombre>]

Reindicizza tutti i .md sotto <ruta>. Incrementale: salta quelli che non sono cambiati (per content_hash) ed elimina dall'indice quelli che non esistono più. Con --project le voci restano nello scope project:<nombre>; senza di esso, in global.

pinky reindex documentation --project sgsvp

pinky watch <ruta> [--project <nombre>]

Osserva la cartella e reindicizza in modo incrementale al rilevare cambiamenti nei .md. Blocca fino a Ctrl-C.

pinky watch documentation

pinky sync [--dir <carpeta>] [--push]

Sincronizza il brain globale tramite git: git pullreindex → (con --push) git push. La cartella default è ~/.pinky/brain; l'indice risiede accanto al brain (<brain>/brain.db), non il --db del CWD (per non mescolare con un progetto).

pinky sync --push

Cercare

pinky search <query...> [opciones]

Ricerca ibrida (BM25 + vettore, fusione RRF). Filtri di metadati e rerank opt-in.

FlagCosa fa
--limit <n>Quantità di risultati (default 10).
--rerankRerank lessicale leggero (privilegia la frase esatta nel titolo/snippet).
--project <nombre>Filtra per progetto.
--type <tipo>Filtra per tipo: gotcha | pattern | decision | diary | guide | note.
--tag <t>Filtra per tag (ripetibile; la voce deve averli tutti).
pinky search "timeout al cerrar el pool de postgres"
pinky search "deadlock" --project sgsvp --type gotcha --json

Salvare / preparare

pinky save --title <t> [opciones]

Salva nuova conoscenza: scrive un .md con frontmatter e lo indicizza al volo.

FlagCosa fa
--title <t>Titolo (obbligatorio).
--body <md>Corpo markdown. Se omesso, viene letto da stdin (per le pipe).
--type <tipo>gotcha | pattern | decision | diary | guide | note (default note). Viene normalizzato e validato.
--tag <t>Etichette (ripetibile).
--project <nombre>Progetto (scope).
--dir <carpeta>Dove scrivere il .md (default documentation).
--no-fileSalva solo nel DB, senza .md (attenzione: un reindex la eliminerebbe).
pinky save --title "Reintento de templates" --type pattern --tag whatsapp --body "Backoff exponencial…"
echo "cuerpo largo…" | pinky save --title "Nota" --type note

pinky init [ruta]

Prepara un progetto: crea documentation/ (+ diary/), registra il MCP in .mcp.json con percorsi relativi (relocatable) e lascia una guida. Non usa embedding.

pinky init

Mantenere (salute della conoscenza)

pinky dedup [--threshold <0..1>]

Elenca coppie di voci quasi-duplicate (similarità coseno > soglia, default 0.9). Non elimina nulla — la decisione di mergiare è manuale.

pinky stale [--days <n>]

Elenca le voci con last_verified più vecchio di <n> giorni (default 180), o senza data, dalla più vecchia alla più nuova. Non usa embedding.

pinky telemetry

Mostra le voci più recuperate (titolo + volte + ultima volta) e quelle che mai sono state usate (candidate alla potatura). Non usa embedding.

pinky lint [carpeta]

Valida i .md: segnala il frontmatter che si degraderebbe in silenzio (YAML invalido, type/date mal formate). Esce ≠0 se ci sono errori → adatto per CI.

pinky evergreen <archivo>

Valida che un doc (ad es. CLAUDE.md) sia evergreen: contrassegna i dati volatili (n° di riga, LOC, archivo:línea). Esce ≠0 se ne trova qualcuno.


Scansiona un albero di codice cercando i marcatori // Brain: <slug> e popola i backlink del repo (default default).

Elenca il codice (archivo:línea) che referenzia uno <slug>.

pinky backlinks scan ./src --repo miapp
pinky backlinks of pool-postgres

Rollup di diary

pinky rollup <dir> [--period week|month] [--out <archivo>]

Aggrega i diary (YYYY-MM-DD.md) di una cartella in un riepilogo markdown deterministico (senza LLM). --period default week; --out scrive su file invece di stdout.

pinky rollup documentation/diary --period month --out RESUMEN.md

Diagnostica

pinky stats

Quantità di voci e chunk indicizzati.

pinky doctor

Controllo dell'ambiente: versione del binario, sqlite-vec, versione dello schema, voci/chunk, e modello dell'indice vs. embedder attivo (avvisa se non coincidono). Tollera che l'indice non esista (ti dice cosa eseguire). Con --json, adatto al monitoraggio.


Qualità del retrieval

pinky eval <golden.json> [--k <n>] [--min-hit-rate <x>] [--min-mrr <x>]

Misura la qualità del retrieval rispetto a un golden set di query dorate: riporta hit@k e MRR. Con --min-hit-rate/--min-mrr, esce con codice 1 se scende al di sotto della soglia → blocca la build in CI in caso di regressione.

pinky eval testdata/golden.json --min-hit-rate 0.95 --min-mrr 0.9

Utilità

pinky completions <bash|zsh|fish>

Stampa lo script di autocompletamento per la tua shell.

pinky completions zsh > ~/.zfunc/_pinky

I tre componenti condividono lo stesso indice: CLI pinky (questo), MCP pinky-mcp (per l'agente: brain_search/brain_save/brain_stats) e hook pinky-hooks (Claude Code). Vedi HOW-IT-WORKS.md e CONFIGURATION.md.