Dopo aver visto Iron Man, fin da bambino sognavo di fare un assistente IA: con Voice Commander ho impostato il controllo vocale su Windows 98 perché muovesse il mouse e avviasse i programmi, ma faceva più scena che altro. Persino il riconoscimento vocale era allora un'impresa, e parlare davvero non era atteso prima di cent'anni.
È arrivato il 2024.
Sono maturato come programmatore, ho imparato stack e framework e ho creato i miei template per tirare su in fretta qualsiasi progetto. Così mi sono avvicinato piano alle startup, facendo il solito lavoro su commissione.
Ho scritto una tonnellata di codice con ChatGPT e ho capito che poteva scrivere sui miei template. Bastava dirgli come è fatto tutto.
Può lavorare con il mio database. Basta chiedere con criterio e dargli gli accessi.
Di routine ce n'è tanta, e GPT sembrava il modo ideale per liberarmene finalmente.
Prima versione. È il nucleo dell'applicazione: prende un testo, analizza il compito, chiede a GPT che cosa va completato e lo scrive. Di fatto è il Copilot che ora viene aggiunto a molti IDE.

Dopo aver scritto i primi risultati, è stato chiaro: non ho file di codice, ho progetti. Ho aggiunto il supporto dei progetti.
Un progetto non è una sola cartella. Ho fatto uno scanner di cartelle e un rilevatore del tipo di cosa che c'è dentro. A quel punto Jarvis ha avuto un suo database di progetti. Per le cartelle sconosciute chiedeva che progetto fosse e di che cosa si occupasse, e lo metteva nel pre-prompt se bisognava scrivere del codice, sapendo di più sul progetto.
Gestione del database. Da tempo volevo che lo gestisse lui a partire da una mia richiesta, e l'ho fatto, aggiungendo un controllo che il codice sia corretto. Può creare non un solo campo, ma tutte le tabelle da zero e riempirle se serve.
Insieme a questo gli ho insegnato a farmi domande e a sentirsi a casa sul computer: conosce i processi avviati, le finestre, i file e quello che sto facendo adesso, così non devo spiegargli dove fare che cosa.
Per programmare con più comodo, ho chiesto a Jarvis di scrivermi un plugin per VS Code che prendesse le informazioni con delicatezza e le restituisse a se stesso per l'analisi. E così, senza sapere nulla di come si scrivono i plugin, l'ho fatto.
Jarvis l'ha fatto per se stesso.
E ora, oltre all'interfaccia di input, avevo un'integrazione stretta con l'IDE.
Estraeva i file da VS Code, capiva da solo quale progetto era avviato, tirava fuori la struttura delle tabelle e faceva il deploy locale.

PERÒ. A volte non è chiaro che cosa abbia riscritto di preciso. Gli ho aggiunto Git per vedere il nuovo e poter tornare indietro in fretta. Ora Jarvis creava un branch a parte per la sua modifica e faceva commit da solo di quelli riusciti.
Era ora di avvicinarmi ai miei template e creare ciò che serviva in pochi secondi.
Prima di tutto l'installazione dei progetti nuovi: ho portato tutti i miei script di installazione e li ho riscritti in C# con l'aiuto di Jarvis.
Ho aggiunto il supporto di Vue 3 + TypeScript, Yii2, Bash e così via, ma la cosa principale è il mio rigeneratore automatico dei modelli a partire dalle tabelle.
Ora Jarvis non solo può creare il database: configura anche i modelli da solo. Mi sono tolto dalle spalle una routine enorme. Resta da fargli sistemare anche le migrazioni.
Lavoro
Jarvis è già passato da diversi miei progetti, e restano sempre meno posti che non ha toccato e dove non ha lasciato il suo branch git, perché è troppo comodo.
Che cosa verrà dopo?
Vedremo.
