DiscourseSkill.md

Spostamento del lavoro da Require LLM-generated themes & plugins to be tagged as such

Abbiamo fatto un primo tentativo di creare un file DiscourseSkill.md

leggere: DiscourseSkill.md

usare: DiscourseSkill.json

Qual è stata la base per la creazione di questo? Fin dall’inizio, si afferma che è destinato a plugin, temi e componenti dei temi.

Ma la mia impressione è che l’ambito della revisione non corrisponda alla struttura dei temi. Perché javascripts/ è incluso solo se si trova in una cartella assets? Perché stai limitando settings.yml alla cartella config? Di solito i temi non ne hanno.

È ironico che discutiamo di come le cose generate dall’IA potrebbero non soddisfare i requisiti di qualità, e la soluzione proposta non sembra nemmeno essa più affidabile.

Su questo argomento altamente controverso — e dato che è ragionevole supporre che l’AI rappresenti rischi significativi per le nostre capacità cognitive, la privacy e la sicurezza…

Voglio semplicemente dire che sono grato per questo strumento, perché ha evidenziato errori in plugin che ho creato con l’aiuto di LLM, errori che non sarei stato in grado di trovare da solo.

Questo è esattamente ciò che ho commentato nell’argomento che ha portato a questo. Non avevo le conoscenze tecniche per mettere in discussione i risultati in sé, ma piuttosto la loro applicazione pratica.

Purtroppo, l’umanità nel suo complesso non utilizza attualmente sempre le sue capacità di pensiero critico nell’analizzare azioni o risposte, agendo invece in base alle emozioni — senza rendersene conto, in modo completamente inconscio.

Ciò ci porta a pregiudizi imprecisi sulla validità o sul valore di qualcosa che, osservato in modo neutrale, sta in realtà migliorando una determinata situazione. Comprendo che si tratta di un fenomeno naturale che sta cambiando, e non di qualcosa di personale.

Solo per mostrare il mio umile sostegno all’autore per questo strumento.

Concordo, come ho già affermato, si trattava di una prima stesura che ora è stata migliorata grazie ai vostri feedback. Abbiamo dato un’altra occhiata e avevate ragione.

Aggiunto al metodo di revisione
  • Classificazione dei candidati prima dell’ispezione dei file:

    • Plugin
    • Tema
    • Componente di tema
    • Estensione ibrida
    • Repository di integrazione
    • Artefatto di rilascio
  • Inventario separato per repository/ rilascio condivisi:

    • README, licenza, changelog
    • File di pacchetto e lockfile
    • Workflow CI
    • Script di installazione/Docker
    • Integrazioni con servizi esterni
    • Asset di rilascio generati
    • Rilascio con tag/archivio
    • File non tracciati e ignorati rilevanti
  • Inventario espanso per i plugin:

    • Ogni file caricato, registrato o esposto da plugin.rb
    • config/routes.rb
    • db/post_migrate/
    • Viste, engine, validatori e middleware
    • Codice frontend per admin e pubblico
    • Connettori, componenti, route, servizi, template e test frontend
    • Stili comuni, desktop, mobile, admin e incorporati
    • Fixtures, file di supporto e test di browser/sistema
    • Dipendenze Ruby, JavaScript, di sistema e di servizi esterni
    • .discourse-compatibility
    • Branch e workflow d-compat/*
    • Limiti di versione di Discourse dichiarati
  • Nuovo inventario per temi/componenti di tema:

    • about.json nella radice
    • Classificazione component
    • Metadati di licenza, autore, versione e compatibilità
    • Asset, schemi di colore, screenshot e impostazioni personalizzabili dichiarati
    • settings.yml nella radice
    • locales/ nella radice
    • common/, desktop/ e mobile/
    • File SCSS e file di iniezione HTML supportati
    • javascripts/ nella radice
    • api-initializers/
    • Tutti i file .js, .gjs e .hbs
    • stylesheets/ nella radice e fogli di stile importati
    • assets/ nella radice e tutti i riferimenti ad essi
    • Anteprime/screenshot
    • Test e configurazione lint/build
    • Metadati e branch di compatibilità
    • Byte del tema imballato/esportato
  • Nuovi controlli strutturali:

    • Il tipo di estensione dichiarato deve corrispondere a about.json e al comportamento di installazione.
    • component: true indica un componente di tema.
    • component: false o omesso indica un tema completo.
    • I repository ibridi ricevono tutti gli inventari applicabili.
    • I file mal posizionati o inaspettati vengono indagati anziché ignorati silenziosamente.
    • Le directory opzionali mancanti non sono automaticamente difetti.
    • Albero di lavoro, archivio di rilascio, estensione installata, asset generati e candidato pubblico sono superfici di evidenza separate.
  • Nuova checklist per temi completi:

    • Identità dei metadati
    • Rendering del tema completo
    • Copertura delle pagine principali
    • Impostazioni, locale e asset
    • JavaScript/initializer API supportati
    • Comportamento reattivo, accessibilità e RTL
    • Comportamento di Foundation, Horizon e incorporamento
    • Interazioni con i componenti di tema
    • Controlli di installazione, aggiornamento, rollback e compatibilità

La mia speranza è che il contributo della comunità migliori la Skill e che la Skill aiuti gli altri a valutare il proprio lavoro o, francamente, il lavoro degli altri prima dell’installazione, in caso di dubbi sulla qualità.

Finora siamo 2 a 2. I vostri input hanno guidato miglioramenti alla Skill e @satonotdead l’ha trovata utile. Grazie per le gentili parole e il supporto @satonotdead