Categorie

Sviluppo di nuove feature

Prompt per guidare l'AI attraverso il processo di implementazione, assicurando che il contesto necessario sia fornito.

Implementazione nuova funzionalita'
Struttura la richiesta in modo che l'AI comprenda il contesto completo prima di proporre soluzioni. La sezione finale che richiede approvazione evita implementazioni affrettate.
Devo implementare [DESCRIZIONE FEATURE].

Contesto:
- Stack tecnologico: [TECNOLOGIE]
- Pattern esistenti: [PATTERN DA SEGUIRE]
- File correlati: [FILE RILEVANTI]

Requisiti:
1. [REQUISITO 1]
2. [REQUISITO 2]
3. [REQUISITO 3]

Prima di scrivere codice:
1. Analizza i file esistenti per capire i pattern
2. Proponi un piano di implementazione
3. Attendi la mia approvazione
Creazione struttura componente
Per creare la struttura base di un nuovo componente con consistenza rispetto ai pattern esistenti.
Crea la struttura base per [TIPO COMPONENTE] seguendo
i pattern esistenti in [DIRECTORY RIFERIMENTO].

Includi:
- File principale
- Test di base
- Tipi TypeScript (se applicabile)
- Export nel barrel file

Debug e troubleshooting

Il debugging con AI richiede contesto preciso: l'errore esatto, quando si verifica, e cosa ci si aspettava.

Diagnosi bug
Includere sempre lo stack trace completo e il contesto in cui l'errore si verifica. La sezione "modifiche recenti" spesso contiene la chiave del problema.
Ho questo errore:

[INCOLLA ERRORE/STACK TRACE]

Contesto:
- Si verifica quando: [AZIONE CHE CAUSA L'ERRORE]
- Ambiente: [AMBIENTE - dev/prod/test]
- Modifiche recenti: [SE RILEVANTE]

Analizza il problema e proponi:
1. Causa probabile
2. Come verificare la diagnosi
3. Soluzione proposta
Analisi performance
Per problemi di performance, fornire metriche concrete (tempi, memoria) aiuta l'AI a suggerire ottimizzazioni appropriate.
Questa funzione/componente e' lento:

[INCOLLA CODICE]

Metriche osservate: [TEMPI/MEMORIA]
Caso d'uso: [DESCRIZIONE USO]

Identifica:
1. Bottleneck principali
2. Ottimizzazioni possibili (ordinate per impatto)
3. Trade-off di ogni ottimizzazione

Refactoring

Il refactoring assistito funziona meglio quando si specifica cosa cercare. Guidare l'AI verso problemi specifici produce risultati piu' utili.

Identificazione code smell
Guida l'AI verso categorie specifiche di problemi, evitando analisi superficiali.
Analizza questo codice per code smell:

[INCOLLA CODICE]

Cerca in particolare:
- Duplicazione
- Funzioni troppo lunghe
- Nesting eccessivo
- Accoppiamento stretto
- Nomi poco chiari

Per ogni problema trovato, suggerisci il refactoring
appropriato.
Aggiornamento codice legacy
L'aggiornamento di codice legacy richiede attenzione alla backward compatibility.
Modernizza questo codice [LINGUAGGIO] da [VERSIONE OLD]
a [VERSIONE NEW]:

[INCOLLA CODICE]

Priorita':
1. Mantenere funzionalita' identica
2. Usare sintassi moderna
3. Applicare best practice correnti
4. Mantenere backward compatibility se necessario

Mostra le modifiche come diff commentato.

Testing

La generazione di test con AI e' uno dei casi d'uso piu' maturi. Specificare il framework e i casi da coprire produce test immediatamente utilizzabili.

Unit test completi
Il pattern AAA (Arrange, Act, Assert) produce test leggibili. Specificare i casi limite evita test superficiali.
Genera unit test per questa funzione:

[INCOLLA CODICE]

Framework: [JEST/PYTEST/ALTRO]
Coverage richiesta: [CASI DA COPRIRE]

Includi test per:
- Happy path
- Edge cases
- Error handling
- Boundary conditions

Segui il pattern AAA (Arrange, Act, Assert).
Test di integrazione
I test di integrazione richiedono piu' contesto sui confini del sistema e su cosa mockare.
Crea test di integrazione per [COMPONENTE/API]:

Endpoint/funzionalita': [DESCRIZIONE]
Dipendenze: [DATABASE/API ESTERNE/SERVIZI]
Setup richiesto: [PRECONDIZIONI]

I test devono verificare:
1. [SCENARIO 1]
2. [SCENARIO 2]
3. [SCENARIO 3]

Usa mock/stub per: [DIPENDENZE DA MOCKARE]

Code Review

La code review assistita non sostituisce la review umana, ma identifica problemi comuni prima che un collega spenda tempo a trovarli.

Code review strutturata
La categorizzazione del feedback aiuta a prioritizzare le azioni.
Fai code review di questo codice:

[INCOLLA CODICE O RIFERIMENTO FILE]

Valuta:
1. Correttezza funzionale
2. Sicurezza (OWASP top 10)
3. Performance
4. Leggibilita' e manutenibilita'
5. Aderenza a best practice [LINGUAGGIO]
6. Test coverage (se presenti)

Formatta il feedback come:
- CRITICO: [problemi bloccanti]
- IMPORTANTE: [miglioramenti significativi]
- SUGGERIMENTO: [nice-to-have]

Documentazione

La generazione di documentazione e' un caso d'uso eccellente: il codice fornisce la verita', l'AI la traduce in prosa.

Generazione documentazione
Indicare il formato e l'audience produce documentazione immediatamente utilizzabile.
Genera documentazione per [MODULO/API/FUNZIONE]:

[INCOLLA CODICE]

Formato: [MARKDOWN/JSDOC/DOCSTRING]
Audience: [SVILUPPATORI/UTENTI API/TEAM INTERNO]

Includi:
- Descrizione generale
- Parametri con tipi e descrizione
- Valori di ritorno
- Esempi d'uso
- Note su edge cases

Esplorazione codebase

L'esplorazione di codebase sconosciute e' un punto di forza degli assistenti AI: possono analizzare migliaia di righe e identificare pattern.

Comprensione progetto
Specificare un obiettivo concreto produce spiegazioni piu' focalizzate e utili.
Aiutami a capire questo progetto.

Analizza la struttura e spiegami:
1. Architettura generale
2. Entry point principali
3. Pattern utilizzati
4. Dipendenze chiave
5. Come i componenti interagiscono

Dopo l'analisi, saro' in grado di:
[OBIETTIVO SPECIFICO]
Trova implementazione
Chiedere il flow dei dati oltre ai file produce una comprensione piu' completa.
Dove viene implementato [FUNZIONALITA'] in questo codebase?

Cerca:
- File principali coinvolti
- Entry point
- Flow dei dati
- Dipendenze

Mostrami i file rilevanti in ordine di importanza.

Prompt per Claude Code

Prompt che sfruttano funzionalita' specifiche di Claude Code: accesso al file system, plan mode, integrazione con tool esterni.

Analisi e configurazione iniziale
All'inizio di un nuovo progetto, genera automaticamente la configurazione ottimale basata sull'analisi del codebase.
Analizza questo progetto e aiutami a configurare
Claude Code in modo ottimale.

Cerca:
1. Stack tecnologico e versioni
2. Struttura delle directory
3. Pattern di coding utilizzati
4. Configurazione esistente (linter, test, CI)

Output richiesto:
- Proposta di contenuto per CLAUDE.md
- Suggerimenti per configurazione MCP se utile
- Hook consigliati per il workflow
Spec-Driven Development
Il plan mode e' la differenza tra vibe coding e sviluppo strutturato. Forza la creazione di una specifica completa prima di scrivere codice.
Prima di implementare, entra in plan mode e crea
una specifica dettagliata per:

[DESCRIZIONE FEATURE]

La specifica deve includere:
1. Requisiti funzionali (cosa deve fare)
2. Requisiti non-funzionali (performance, sicurezza)
3. File che verranno modificati/creati
4. Dipendenze necessarie
5. Test cases da implementare
6. Rischi e mitigazioni

Attendi la mia approvazione prima di procedere
con l'implementazione.
Refactoring coordinato multi-file
Approccio incrementale con verifica dei test dopo ogni modifica, riducendo il rischio di breaking changes.
Devo fare un refactoring che tocca piu' file:

[DESCRIZIONE REFACTORING]

Procedi cosi':
1. Identifica TUTTI i file impattati
2. Verifica che i test esistenti passino (baseline)
3. Crea un piano di modifica ordinato
4. Esegui le modifiche file per file
5. Dopo ogni file, verifica che i test passino
6. Se un test fallisce, fermati e riporta

Non procedere al file successivo finche' il
precedente non e' stabile.

Sicurezza e compliance

L'analisi di sicurezza assistita e' un complemento, non un sostituto, degli strumenti di static analysis.

Analisi sicurezza OWASP
Riferirsi a OWASP Top 10 guida l'AI verso categorie di vulnerabilita' concrete e documentate.
Analizza questo codice per vulnerabilita' di
sicurezza, con focus su OWASP Top 10:

[INCOLLA CODICE O RIFERIMENTO FILE]

Verifica specificamente:
1. Injection (SQL, command, XSS)
2. Broken authentication
3. Sensitive data exposure
4. Security misconfiguration
5. Insecure deserialization

Per ogni vulnerabilita' trovata:
- Severita' (critica/alta/media/bassa)
- Linea di codice interessata
- Exploit scenario
- Remediation consigliata con esempio
Ricerca segreti hardcoded
La ricerca di segreti hardcoded e' critica prima di ogni commit.
Cerca in questo progetto eventuali segreti
hardcoded o esposti:

- API keys e token
- Password e credenziali
- Connection string con credenziali
- Chiavi private/certificati
- URL con autenticazione embedded

Escludi:
- File di esempio con placeholder
- Variabili d'ambiente (OK se ben gestite)
- Valori di test/mock

Per ogni trovato, suggerisci come sostituirlo
con gestione sicura (env vars, secrets manager).
Analisi dipendenze
L'audit delle dipendenze identifica rischi nella supply chain.
Analizza le dipendenze di questo progetto per:

1. Vulnerabilita' note (CVE)
2. Dipendenze non mantenute (>2 anni senza update)
3. Licenze potenzialmente problematiche
4. Dipendenze transitive rischiose

File da analizzare: [package.json/requirements.txt/etc]

Output:
- Lista prioritizzata per rischio
- Per ogni problema: severita' e azione consigliata
- Comandi per aggiornare in sicurezza

Anti-pattern: prompt da evitare

Esempi di prompt inefficaci e come migliorarli.

Prompt troppo vago

Migliora questo codice.

Problema: Non specifica cosa significa "migliorare". L'AI puo' ottimizzare per performance quando volevate leggibilita'.

Meglio: "Migliora la leggibilita' di questo codice mantenendo la stessa logica. Focus su: nomi variabili, struttura condizionali, estrazione di funzioni helper."

Troppo codice senza contesto

[500 righe di codice] Trovami il bug.

Problema: Senza sapere il comportamento atteso vs osservato, l'AI deve indovinare cosa sia un bug.

Meglio: "Quando chiamo getUserData() con id=null, mi aspetto un errore ValidationError ma ottengo un crash su linea 47. Ecco il codice rilevante: [snippet mirato]."

Richieste multiple non correlate

Aggiungi logging, poi refactora la classe User, poi scrivi i test, e sistema anche il CSS.

Problema: Troppe richieste in una volta riducono la qualita' di ciascuna. L'AI perde focus.

Meglio: Una richiesta per volta, verificando il risultato prima di procedere. Usa plan mode per task complessi.

Accettare senza verificare

[AI genera 200 righe] User: OK, commit e push.

Problema: Vibe coding classico. Codice che sembra funzionare puo' nascondere bug, vulnerabilita', o logica errata.

Meglio: Leggere il codice, chiedere spiegazioni, eseguire test, fare code review come se fosse codice di un collega junior.