Da dove nasce Context, uno strumento CLI per creare context pack ottimizzati per AI coding
04 febbraio 2026
Al giorno d’oggi, nel nostro ambiente, non si fa altro che parlare di AI. Tralasciamo per un attimo la non tanto sottile differenza tra vibe coding e coding assistito dall’AI (di cui vorrei parlare in un prossimo articolo) e concentriamoci su come funzionano gli agenti a nostra disposizione oggi (Cursor, Claude Code, Codex ecc.).
Quando gli diamo in pasto un task - ad esempio: “Il webhook per il pagamento con Stripe non funziona” - il nostro “assistente” è completamente ignaro del progetto: non sa com’è strutturato, che tecnologie usa, dove sono i file, quali moduli entrano in gioco. A meno che non ci siamo ricordati di creare un file AGENTS.md (o CLAUDE.md) con qualche informazione di base.
Per questo motivo, spesso la prima cosa che fa è iniziare a fare grep: cercare stringhe nei file per trovare un punto di ingresso. Una volta trovato qualcosa di promettente, prova a ricostruire il contesto seguendo import, inclusioni e dipendenze.
Se la codebase è ampia, questa fase può bruciare parecchi token prima ancora di arrivare al vero lavoro.
Ma la cosa divertente è che questa procedura, nella maggior parte dei casi, può essere eseguita benissimo senza tirare in ballo l’AI. Con un minimo di indicizzazione di file e simboli, e un po’ di euristica, si può ricavare dal task un contesto iniziale abbastanza buono da fornire all’assistente, risparmiandogli la “fatica” di andarselo a cercare da solo.
Per questo motivo ho deciso di fare un piccolo esperimento: creare un tool da linea di comando che permette di generare quello che potremmo chiamare un context pack, da fornire all’AI.
La cosa bella è che non deve essere necessariamente preciso al 100%. Se il task è troppo generico e il pack finisce fuori strada, l’AI è abbastanza intelligente da capirlo e ignorare le parti inutili. In fondo anche noi umani facciamo così: se ti passo una cartella di file e ti dico “guarda qui”, tu capisci abbastanza in fretta se è roba utile o se ti sto facendo perdere tempo.
Il context pack ha anche un altro vantaggio da non sottovalutare: permette di congelare lo stato del progetto (almeno per i file rilevanti) prima di intervenire. Può tornare utile anche in futuro per ricostruire i motivi che hanno portato a implementare una funzionalità in un certo modo, senza dover fare archeologia tra commit, ticket, messaggi Slack e sensi di colpa.
Ok, quindi cos’è un “context pack”?
Un context pack è, molto semplicemente, un pacchetto di contesto pronto all’uso: una selezione ragionata di file, estratti e informazioni che aiutano un agente AI a lavorare su un task specifico, senza dover prima perdere tempo a orientarsi.
Nel mio caso l’obiettivo era: dato un task in linguaggio naturale (tipo “fix webhook Stripe”), voglio ottenere un output che:
includa i file più probabilmente coinvolti
porti con sé un minimo di struttura (non solo un mucchio di file incollati)
sia facilmente “copiabile” in un prompt o allegabile a un agente
sia ripetibile/deterministico (per quanto possibile)
E qui entra in gioco @illegalstudio/context.
context è un tool CLI che lavora in due fasi principali:
Indicizza il progetto
Genera un pack a partire da un task
L’idea è: fare una volta il lavoro pesante (index), e poi generare pack in modo rapido quando serve.
Installazione:
bashnpm i -g @illegalstudio/context
Oppure, se sei più da “non installo niente globalmente”:
bashnpx @illegalstudio/context
Come si usa (quick start)
Prima indicizzi la codebase:
bashcontext index
Poi generi un pack per un task:
bashcontext pack --task "Il webhook per il pagamento con Stripe non funziona"
A quel punto ti ritrovi un pacchetto nella cartella .context/ pronto da passare all’agente.
Cosa contiene il pack
Un pack non è solo “file a caso”: è una mini-cartella con dentro sia roba per l’umano che roba per la macchina.
Tipicamente trovi:
un PACK.md pronto da copiare nel prompt
un TASK.md con analisi e parole chiave
una lista dei file inclusi (con motivazione/punteggio)
estratti di codice utili
un manifest JSON (per tool/automazioni)
In pratica è come dire: “Ehi AI, invece di fare turismo dentro la mia codebase, ecco una mappa, un itinerario e pure i biglietti già timbrati”.
Ah! Se usi Claude Code, Cursor, Codex o qualsiasi altro tool gli puoi anche semplicemente chiedere 'Nella cartella .context/il-webhook-per-il-pagamento-con-stripe-non-funziona' c'è un task da svolgere, parti da PACK.md.
Perché un CLI e non un plugin?
Perché volevo una cosa:
agnostica (non dipendente da Cursor/VSCode/IDE)
automatizzabile (script, CI, pipeline, ecc.)
semplice da adottare in qualsiasi progetto
utilizzabile anche solo come “generatore di documentazione di contesto”
Considerazioni finali
Ovviamente non è magia. Se descrivi il task in modo vago tipo “sistemare bug” non aspettarti che il tool ti legga nel pensiero.
Ma nella maggior parte dei casi reali (bugfix, feature mirate, refactor localizzati) anche un contesto abbastanza giusto è già sufficiente per:
ridurre drasticamente token sprecati
evitare risposte “generiche”
migliorare la qualità delle patch proposte
velocizzare il lavoro vero
Se ti interessa approfondire comandi, output e dettagli implementativi, trovi tutto nel repository GitHub: https://github.com/illegalstudio/context