Comandi slash
Usa i comandi slash specifici per IBM i per riutilizzare prompt predefiniti che automatizzano task ripetitivi.
IBM Bob Premium Package for i estende i comandi slash predefiniti di Bob con un insieme di comandi slash specifici per IBM i. Per un'introduzione generale su come funzionano i comandi slash e quali sono quelli predefiniti, consulta Comandi Slash.
Digita / nella chat per vedere tutti i comandi disponibili, inclusi quelli specifici per IBM i descritti qui.
/init
Il comando /init analizza il tuo workspace IBM i attivo e genera un file AGENTS.md su misura per la tua codebase. Documenta l'architettura non ovvia, le strutture dei sorgenti, le convenzioni del database e gli standard di progetto in modo che Bob li segua automaticamente in tutte le sessioni di chat future.
| Proprietà | Valore |
|---|---|
| Comando | /init |
| Argomento | Nessuno |
| Disponibile in | IBM i Developer, IBM i Database |
| Richiede | Connessione IBM i attiva (Libreria corrente QSYS o directory di lavoro IFS configurata) |
Cosa fa
Bob segue questi passaggi:
Controllo preliminare:
- In un workspace QSYS (Library List), verifica che sia impostata una libreria corrente. Se la libreria corrente è una libreria di sistema fornita da IBM (come
QGPLoQTEMP), Bob ti avvisa e suggerisce di passare a una libreria applicativa prima di procedere. - In un workspace IFS Working Directory, verifica che sia configurata una directory di lavoro (anziché l'intera root
/).
Analisi del workspace:
- Ispeziona i file fisici sorgente, i tipi di membro e i layout delle directory. Per librerie o cartelle di grandi dimensioni, Bob riassume conteggi e pattern invece di elencare ogni singolo file, mantenendo il riepilogo compatto.
- Rileva i pattern dell'architettura ILE (service program, binding directory, activation group), le definizioni di web service IWS, gli oggetti del database (file fisici, file logici, journaling) e le convenzioni di denominazione del progetto.
Generazione o aggiornamento di AGENTS.md:
- Scrive le linee guida generate in
{currentLibrary}/QBOBSRC/AGENTS.MDper i workspace QSYS, o in{ifsWorkingDirectory}/.bob/AGENTS.mdper i workspace IFS. - Se
AGENTS.mdesiste già, Bob lo aggiorna con gli ultimi risultati preservando eventuali linee guida personalizzate o modifiche manuali aggiunte in precedenza.
Sincronizzazione in tempo reale:
- Le regole generate vengono immediatamente caricate in memoria e iniettate automaticamente in ogni conversazione nelle modalità IBM i Developer e IBM i Database senza richiedere una riconnessione.
Aggiungere regole e standard personalizzati
Puoi aggiungere i tuoi standard di codifica specifici del team, regole architetturali, convenzioni di denominazione e pratiche preferite direttamente in AGENTS.md.
Puoi:
- Modificare il file manualmente: Apri
{currentLibrary}/QBOBSRC/AGENTS.MDo{ifsWorkingDirectory}/.bob/AGENTS.mdnell'editor e aggiungi le tue linee guida personalizzate. - Istruire Bob durante
/init: Quando esegui/init, puoi chiedere a Bob di includere regole o standard specifici. Ad esempio:"/init and make sure to enforce free-format RPG and our standard error-handling subprocedures""/init and document our naming conventions: all service programs must start with SRV_"
Esempi d'uso
/init
/init and add our team rules: prefer SQL over RLA and use *NEW activation groups for main programs/erd
Il comando /erd istruisce Bob a generare un Entity Relationship Diagram (ERD) in stile Mermaid per un insieme di tabelle del database sull'IBM i connesso.
| Proprietà | Valore |
|---|---|
| Comando | /erd |
| Suggerimento argomento | [schema.table or library/file] |
| Disponibile in | IBM i Developer, IBM i Database |
| Richiede | Connessione IBM i attiva |
Cosa fa
Bob segue questi passaggi:
Determina l'ambito dall'argomento fornito o chiede quale schema/libreria analizzare se non viene fornito alcun argomento.
Interroga QSYS2.SYSTABLES, QSYS2.SYSCOLUMNS, QSYS2.SYSCST e QSYS2.SYSREFCST per raccogliere la struttura delle tabelle e le relazioni.
Costruisce e visualizza un Entity Relationship Diagram (ERD) in stile Mermaid con tipi di dato Db2 for i accurati, indicatori di colonna (PK, FK, UQ) e notazioni di cardinalità.
Esempi d'uso
/erd
/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER/review_SQL
Il comando /review_SQL istruisce Bob a eseguire una revisione completa di un'istruzione SQL utilizzando una raccolta di best practice. Può accettare un'istruzione SQL autonoma o fare riferimento a codice sorgente che contiene una o più istruzioni SQL.
| Proprietà | Valore |
|---|---|
| Comando | /review_SQL |
| Suggerimento argomento | [SQL statement or source code path] |
| Disponibile in | IBM i Database |
| Richiede | Connessione IBM i attiva |
Cosa fa
Bob segue questi passaggi:
Analizza l'istruzione SQL dall'argomento fornito o ne chiede una se non viene fornito alcun argomento.
Valuta l'istruzione rispetto a una checklist di revisione completa:
- Correttezza e semplificazione: Problemi di correttezza, predicati ridondanti, costrutti fragili, subquery annidate, espressioni ripetute e join non necessari
- Leggibilità e manutenibilità: Formattazione, alias e commenti sulla logica complessa
- Qualifica e naming: Nomi di correlazione delle tabelle e identificatori ordinari versus delimitati
- Best practice: Uso di funzioni built-in, CTE e marcatori di parametro
- Sicurezza: Rischi di SQL injection, privilegi eccessivi, autorizzazioni sulle righe e maschere sulle colonne
- Prestazioni dal testo SQL: Predicati non sargable, funzioni scalari non necessarie nei predicati e cast evitabili
- Linee guida specifiche per tipo di istruzione: Dettagli per DDL, DML, SQL embedded e SQL dinamico
- Linee guida diagnostiche e di verifica: Puntatori a Visual Explain, plan cache e consigli sugli indici
- Logica riutilizzabile: UDF, stored procedure e candidati SQL
INCLUDE - Isolamento delle transazioni: Clausole
WITHesplicite e coerenza del livello di isolamento
Restituisce i risultati strutturati come:
- Riepilogo: Breve valutazione complessiva
- Risultati confermati: Elenco numerato di problemi, ciascuno con categoria, spiegazione e miglioramento suggerito
- Raccomandazioni condizionali: Elenco numerato di suggerimenti che dipendono da metadati, workload o evidenze runtime
- SQL rivisto: Un'istruzione SQL rivista solo quando la semantica può essere preservata con sicurezza; altrimenti una riscrittura illustrativa con spiegazione di ciò che rimane condizionale
- Spiegazione delle modifiche: Descrizione sintetica di ogni modifica suggerita
Esempi d'uso
/review_SQL
/review_SQL SELECT * FROM ORDERS WHERE CUSTID = '12345'
/review_SQL mylib/mysrc(mycode)
/review_SQL /home/scottf/RPGsrc/toystore.rpglesrc/review_rpg
Il comando /review_rpg istruisce Bob a eseguire una revisione dedicata del codice su un membro sorgente RPG o stream file, valutando sintassi, best practice del linguaggio, standard di codifica, gestione degli errori, sicurezza e opportunità di modernizzazione sia per RPG in formato fisso che in formato libero.
| Proprietà | Valore |
|---|---|
| Comando | /review_rpg |
| Argomento | [membro sorgente o percorso stream file] |
| Disponibile in | IBM i Developer |
| Richiede | Connessione IBM i attiva |
Cosa fa
Bob segue questi passaggi:
Verifica che il file di destinazione sia un sorgente RPG valido (ad es. .RPGLE, .SQLRPGLE, .RPG, .RPG36 o .RPG38). I sorgenti non RPG come CL, COBOL, DDS o SQL puro vengono rifiutati prima del caricamento delle regole di revisione.
Determina il formato del sorgente RPG (formato fisso, formato libero o misto) e carica le skill di revisione appropriate.
Valuta il codice RPG rispetto alle best practice del linguaggio:
- Regole di sintassi e formato: Posizionamento delle colonne delle specifiche, formattazione dei commenti e posizionamento delle subprocedure
- Standard di codifica: Convenzioni di naming, indentazione e struttura
- Gestione degli errori e affidabilità: Blocchi monitor, controllo dello stato e gestione degli errori sui file
- Sicurezza: Autorità adottata e rischi di injection nelle operazioni dinamiche
- Prestazioni e operazioni sul database: Accesso a livello di record vs. SQL embedded, blocking e gestione dei cursori
- Opportunità di modernizzazione: Conversione di costrutti legacy in formato fisso, eliminazione degli indicatori e refactoring di subroutine in subprocedure
Restituisce i risultati strutturati come:
- Formato rilevato: Variante sorgente e classificazione del formato
- Riepilogo: Valutazione complessiva della revisione
- Problemi critici: Difetti gravi di sintassi, sicurezza o runtime
- Problemi principali: Difetti strutturali, colli di bottiglia nelle prestazioni o errori non gestiti
- Problemi minori: Incongruenze stilistiche e pulizia minore
- Roadmap di modernizzazione: Passi concreti per modernizzare il codice RPG legacy
Esempi d'uso
/review_rpg
/review_rpg MYLIB/QRPGLESRC/MYPGM.RPGLE
/review_rpg /home/user/src/order_processing.rpgle
/review_rpg /user/ibmi_local/FLIGHT400/QRPGLESRC/FRS400.rpgle