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)
| Flag | Cosa 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-embed | Usa l'embedder deterministico (senza scaricare il modello ONNX). Si attiva anche con la env var PINKY_HASH_EMBED. Ideale offline/CI. |
--json | Output in JSON, per gli script. In search inoltre disattiva la registrazione della telemetria (uso programmatico). |
--version / -V | Versione del binario. |
--help / -h | Aiuto (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 pull → reindex → (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.
| Flag | Cosa fa |
|---|---|
--limit <n> | Quantità di risultati (default 10). |
--rerank | Rerank 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.
| Flag | Cosa 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-file | Salva 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.
Backlink (codice ↔ conoscenza)
pinky backlinks scan <dir> [--repo <nombre>]
Scansiona un albero di codice cercando i marcatori // Brain: <slug> e popola i backlink del repo (default default).
pinky backlinks of <slug>
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: CLIpinky(questo), MCPpinky-mcp(per l'agente:brain_search/brain_save/brain_stats) e hookpinky-hooks(Claude Code). Vedi HOW-IT-WORKS.md e CONFIGURATION.md.