
kin v0.4.5
Il sistema semantico di riferimento per software scritto da AI: un grafo di entità e relazioni, non differenze tra file.
Una nuova base per il codice.
Kin è un repository di codice graph-native per persone e agenti AI. Memorizza il codice sorgente, le relazioni di codice registrate e la cronologia versionata come stato del repository. Il grafo è il modello del repository, non un indice di ricerca mantenuto accanto a un altro repository.
Funzioni, tipi e le relazioni tra essi sono dati che puoi committare, ramificare e unire. Il codice sorgente esatto è preservato byte per byte, e le proiezioni del filesystem permettono agli strumenti supportati di continuare a lavorare con file ordinari.
Beta pubblica. Prova Kin su un progetto reale che conosci bene. Aspettati spigoli.
Avvio rapido · Documentazione · Demo nel browser
Una stella aiuta altre persone a trovare Kin, e le Discussioni sono il luogo dove portare una domanda al riguardo.
Vedi cosa si connette
Prima di modificare una funzione condivisa, cos'altro dovresti ispezionare? Kin ti permette di cercare i suoi chiamanti registrati ed esplorare il codice correlato. La CLI e il server MCP interrogano lo stesso grafo, così tu e il tuo agente potete lavorare dallo stesso registro.
Registrato su un grafo ripgrep preparato a e89fff89ac9af12e8d4ce9d5fd07beb408ca730f. Gli artefatti grezzi dell'esecuzione non sono pubblici. Questo illustra un flusso di lavoro, non un benchmark di prestazioni.
Usalo da Claude Code, Codex o Cursor
Per Claude Code:
/plugin marketplace add firelock-ai/kin
/plugin install kin@kin
Per Codex, aggiungi il marketplace e installa il plugin, oppure lascia che kin setup --intent agent scriva il server MCP in ~/.codex/config.toml per te.
Per Cursor, aggiungi il server MCP manualmente; vedi plugins/kin-cursor per lo snippet esatto.
Dopo l'installazione, esegui kin init . in un clone fresco di un progetto che conosci bene; la skill kin-setup ti guida attraverso il resto.
Kin non è pubblicato su crates.io. Il crate kin lì è un progetto non correlato.
Avvio rapido
Inizia in un clone fresco e completo di un progetto che conosci bene. kin init legge la tua cronologia Git senza modificarla né modificare i tuoi file tracciati. Aggiunge una directory .kin e una riga a .git/info/exclude. L'importazione copre ogni commit raggiunto dai tuoi branch e tag, quindi tempo, memoria e disco crescono con la cronologia piuttosto che con la dimensione del checkout. Prima di iniziare, kin init controlla memoria e disco libero e si ferma con i numeri quando può già dire che la macchina è a corto. I cloni shallow, i sottomoduli e Git LFS non sono supportati, e anche gli hook Git, un checkout sparse o un merge o rebase non terminato fermano l'importazione. kin init indica la soluzione per ciascuno, e un clone fresco evita la maggior parte di essi.
1. Installa
Su macOS, Linux e WSL2, un comando installa Kin e connette gli strumenti di coding AI che trova. Richiede Node.js 20 o superiore:
npx -y @kinlab/kin setup
Su una macchina senza Node, esegui invece l'installer. get.kinlab.ai e get.kinlab.dev
servono lo stesso script:
curl -fsSL https://get.kinlab.dev/install | sh
In entrambi i casi, ricarica la tua shell come comando separato, perché l'installazione mette kin in
~/.kin/bin e aggiunge quella directory al tuo profilo shell per le nuove sessioni:
exec "$SHELL" -l
Su Windows x64 nativo, installa da PowerShell con irm https://get.kinlab.dev/install.ps1 | iex.
Installa la CLI kin e non connette gli strumenti di coding AI, perché WSL2 rimane il
percorso consigliato su Windows. La voce Windows sotto Limiti della beta
dice cosa funziona lì. Nessuna build nativa Windows ARM64 è pubblicata. Su una macchina ARM64, esegui
quella riga da PowerShell x64 per installare la build x86_64 sotto emulazione, oppure usa WSL2.
L'installer aggiunge kin al tuo PATH utente, quindi apri una nuova finestra PowerShell al posto di
exec "$SHELL" -l prima del passo successivo.
Per altri installer o risoluzione dei problemi, vedi l'avvio rapido completo.
2. Inizializza il repository
Al nuovo prompt, clona un repository con Kin:
kin clone https://github.com/pallets/itsdangerous
Oppure inizializzane uno che hai già, sostituendo il percorso qui sotto:
cd /path/to/your/repository &&
kin init . &&
kin overview &&
kin status
Entrambi terminano con il prossimo comando da eseguire, una domanda kin refs su una funzione in quel
repository. Connettono anche Codex CLI e Grok CLI ad esso quando lo hai consentito durante il setup,
perché quei client mantengono una voce che nomina un repository.
Windows PowerShell 5.1 non ha &&, quindi su Windows nativo esegui gli stessi comandi uno alla
volta e fermati se uno fallisce:
cd C:\path\to\your\repository
kin init .
kin overview
kin status
kin overview mostra le entità che Kin ha importato. kin status mostra cosa è stato ammesso e lo stato del working tree rispetto ad esso. kin graph status riporta il grafo di query live del daemon e la copertura. Le modifiche non committate e non tracciate non fanno parte della cronologia Git importata; kin init riporta cosa ha lasciato fuori.
3. Fai una domanda che puoi verificare
Cerca qualcosa che sai già essere nel codice:
kin locate "<something you already know is in this repository>"
Sostituisci ExactEntityName qui sotto con un simbolo dal risultato:
kin refs ExactEntityName
kin trace ExactEntityName
kin impact ExactEntityName
refs restituisce i riferimenti registrati, trace porta il contesto vicino, e impact esplora i potenziali effetti attraverso il grafo. Verifica i risultati rispetto al codice sorgente.
4. I tuoi strumenti di coding AI e la ricerca semantica
kin setup ha già chiesto prima di connettere gli strumenti di coding AI che ha trovato, e li ha connessi
se hai detto sì. Non c'è un passo di collegamento separato. Dopo aver installato un altro strumento, esegui
kin setup di nuovo, e kin setup status mostra cosa è connesso. Su Windows, connetti gli strumenti AI
dentro WSL2.
La ricerca semantica gira su un modello locale di circa 523 MB, e il setup chiede prima che qualsiasi cosa
lo scarichi. Se hai detto no, o kin init dice che l'indice di ricerca è in attesa del modello,
questo lo scarica e costruisce l'indice: